{"id":15691,"date":"2025-10-29T11:09:57","date_gmt":"2025-10-29T11:09:57","guid":{"rendered":"https:\/\/faptech.pt\/?page_id=15691"},"modified":"2025-11-13T14:35:52","modified_gmt":"2025-11-13T14:35:52","slug":"raptor","status":"publish","type":"page","link":"https:\/\/faptech.pt\/en\/produtos\/robotica-movel\/raptor\/","title":{"rendered":"Raptor MS030"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"15691\" class=\"elementor elementor-15691\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3431d8f7 e-flex e-con-boxed e-con e-parent\" data-id=\"3431d8f7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fae5c8a elementor-widget elementor-widget-shortcode\" data-id=\"1fae5c8a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"fapricela-amr-pt200-projeto-wrapper titan-projeto-wrapper\">\n\n        <!-- Sobre o Projeto Section FALTA UM \u00cdCONE SUGESTIVO AQUI-->\n        <section class=\"fapricela-amr-pt200-sobre\" style=\"width: 100%; background: #1A1A1A; padding: 20px 0; margin: 0;\">\n            <div style=\"max-width: 1200px; margin: 0 auto; padding: 0 24px;\">\n                <div style=\"text-align: center; max-width: 900px; margin: 0 auto;\">\n                    <h2 style=\"font-size: 2.5rem; font-weight: 700; color: #ffffffff; margin-bottom: 24px;\">\n                        <h1 class=\"titan-title\">raptor msoeo<\/h1>\n                    <\/h2>\n                    <div style=\"font-size: 1.13rem; line-height: 1.7; color: #ffffffff; text-align: justify; max-width: 10000vw; margin: 0 auto;\">\n                        <p style=\"margin-bottom: -15px;\">\n                            O MS030 Raptor um AMR de plataforma base com capacidade de carga de 300 Kg. \u00c9 o chamado mouse, \u00e9 uma base aut\u00f3noma que pode ser equipada com uma estante fixa,\n                             ou m\u00f3dulos opcionais de pino retr\u00e1til para tra\u00e7\u00e3o ou plataforma de eleva\u00e7\u00e3o, muito usados principalmente para transporte autom\u00e1tico de carros intra log\u00edsticos.                        <\/p>\n                        <p style=\"margin-bottom: 10px;\">\n                            A sua fun\u00e7\u00e3o principal \u00e9 nas \u00e1reas produtivas em transporte just-in-time de componentes em linha de produ\u00e7\u00e3o.                        <\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Video + Centered Text Section -->\n        <section class=\"fapricela-amr-pt200-sobre\" style=\"width: 100%; background: #1A1A1A; padding: 40px 0; margin: 0;\">\n            <div style=\"max-width: 900px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; align-items: center; gap: 32px;\">\n                <!-- Video -->\n                <video autoplay muted loop playsinline controlslist=\"nodownload nofullscreen noremote\" preload=\"auto\" style=\"width: 100%; max-width: 600px; height: auto; border-radius: 12px; background: #000;\">\n                    <source src=\"https:\/\/faptech.pt\/wp-content\/uploads\/2025\/11\/MS030_rotation.mp4\" type=\"video\/mp4\">\n                    Seu navegador n\u00e3o suporta o elemento de v\u00eddeo.\n                <\/video>\n                <!-- Should have the same justified left as the Sobre o Projeto Section Text -->\n                <div style=\"font-size: 1.13rem; line-height: 1.7; color: #fff; text-align: left; max-width: 900px;\">\n                    <p style=\"margin-bottom: 12px;\">\n                        Mas o que os torna inteligentes \u00e9 a navega\u00e7\u00e3o. Ambos s\u00e3o AMR, o que significa a sua navega\u00e7\u00e3o pode ser aut\u00f3noma e din\u00e2mica, tem capacidade para detetar e contornar obst\u00e1culos\n                        e a sua implementa\u00e7\u00e3o \u00e9 mais f\u00e1cil e econ\u00f3mica porque a adapta\u00e7\u00e3o da infraestrutura \u00e9 m\u00ednima. Adaptam-se ao ambiente fabril e operam em simbiose com os operadores em total seguran\u00e7a.\n                    <\/p>\n                    <p style=\"margin-bottom: 0;\">\n                        Em fase de desenvolvimento estamos a escalar este equipamento para modelos de maior capacidade de carga, para 750 kg e 1500 kg.\n                    <\/p>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Caracter\u00edsticas Section -->\n        <section class=\"fapricela-amr-pt200-caracteristicas\" style=\"width: 100%; background: #1A1A1A; padding: 80px 0; margin: 0;\">\n            <div style=\"max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 40px; align-items: center; justify-content: center;\">\n                <!-- Left: Image -->\n                <div style=\"flex: 1 1 600px; min-width: 320px; max-width: 800px; display: flex; align-items: center; justify-content: center;\">\n                    <img decoding=\"async\" data-src=\"https:\/\/faptech.pt\/wp-content\/uploads\/2025\/11\/raptor-legendas-blue.svg\" alt=\"Legendas Titan\" style=\"width: 100%; height: auto; display: block; border-radius: 12px; background: #1A1A1A; padding: 12px;\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- V\u00eddeo do Projeto -->\n        <section class=\"fapricela-amr-pt200-video\" style=\"width:100%; background:#111; padding:60px 0; display:flex; justify-content:center; align-items:center;\">\n            <div style=\"display:flex; flex-direction:column; align-items:center; width:100%;\">\n                <h2 style=\"font-size: 2.5rem; font-weight: 700; color: #fff; margin-bottom: 16px; text-align:center;\">\n                    RAPTOR MS030: Um novo padr\u00e3o na log\u00edstica\n                <\/h2>\n                <div style=\"max-width:900px; width:100%; margin: 0 auto; box-shadow:0 4px 24px rgba(0,0,0,0.18); border-radius:16px; overflow:hidden;\">\n                    <div class=\"video-wrapper-2\" style=\"position:relative;\">\n                        <video id=\"faptech-video-2\" controls preload=\"metadata\" poster=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/PXL_20260303_102609090.jpg\" style=\"width:100%; height:auto; display:block; background:#000; border-radius:16px;\">\n                            <source src=\"https:\/\/faptech.pt\/wp-content\/uploads\/2025\/10\/MS030_proto_V5.mp4\" type=\"video\/mp4\">\n                            Seu navegador n\u00e3o suporta o elemento de v\u00eddeo.\n                        <\/video>\n\n                        <!-- Futuristic Blue-White Play Button Overlay -->\n                        <button id=\"video-play-btn-2\" aria-label=\"Play Video\" style=\"position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#00e6d8,#0077B5);border:4px solid #ffffff;border-radius:50%;width:110px;height:110px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 18px 40px rgba(0,0,0,0.45);transition:transform 0.18s ease,opacity 0.18s ease;\">\n                            <svg width=\"54\" height=\"54\" viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n                                <defs>\n                                    <filter id=\"glow\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\">\n                                        <feGaussianBlur stdDeviation=\"4\" result=\"coloredBlur\" \/>\n                                        <feMerge>\n                                            <feMergeNode in=\"coloredBlur\" \/>\n                                            <feMergeNode in=\"SourceGraphic\" \/>\n                                        <\/feMerge>\n                                    <\/filter>\n                                <\/defs>\n                                <circle cx=\"50\" cy=\"50\" r=\"30\" fill=\"rgba(255,255,255,0.06)\" \/>\n                                <polygon points=\"40,30 40,70 72,50\" fill=\"#ffffff\" filter=\"url(#glow)\" \/>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                <\/div>\n        <\/section>\n\n        <style>\n            \/* Bright futuristic gradient + stronger soft glow *\/\n            .video-wrapper-2 button#video-play-btn-2 {\n                background: linear-gradient(135deg, #00f0d9, #00a7ff) !important;\n                box-shadow: 0 28px 70px rgba(0, 122, 204, 0.32), 0 8px 24px rgba(0, 0, 0, 0.48) !important;\n                will-change: transform, opacity;\n                animation: slightBounce 3.2s ease-in-out infinite, glowPulse 4s ease-in-out infinite;\n                position: relative;\n                z-index: 2;\n            }\n\n            \/* Soft glow behind the button using pseudo-element *\/\n            .video-wrapper-2 button#video-play-btn-2::before {\n                content: \"\";\n                position: absolute;\n                left: 50%;\n                top: 50%;\n                transform: translate(-50%, -50%);\n                width: 200px;\n                height: 200px;\n                border-radius: 50%;\n                background: radial-gradient(circle at 50% 40%, rgba(0, 230, 216, 0.34) 0%, rgba(0, 122, 204, 0.14) 35%, rgba(0, 122, 204, 0.06) 55%, transparent 70%);\n                filter: blur(14px);\n                opacity: 0.95;\n                z-index: 1;\n                pointer-events: none;\n            }\n\n            \/* Hover\/active visuals for the big play button *\/\n            .video-wrapper-2 button#video-play-btn-2:hover {\n                transform: translate(-50%, -50%) scale(1.1);\n            }\n\n            .video-wrapper-2 button#video-play-btn-2:active {\n                transform: translate(-50%, -50%) scale(0.98);\n            }\n\n            \/* Subtle bounce animation *\/\n            @keyframes slightBounce {\n                0% {\n                    transform: translate(-50%, -50%) scale(1);\n                }\n\n                45% {\n                    transform: translate(-50%, -49%) scale(1.03);\n                }\n\n                55% {\n                    transform: translate(-50%, -50%) scale(1.00);\n                }\n\n                100% {\n                    transform: translate(-50%, -50%) scale(1);\n                }\n            }\n\n            \/* Glow pulse to make it pop slightly *\/\n            @keyframes glowPulse {\n                0% {\n                    box-shadow: 0 22px 50px rgba(0, 122, 204, 0.28), 0 6px 18px rgba(0, 0, 0, 0.45);\n                }\n\n                50% {\n                    box-shadow: 0 32px 80px rgba(0, 122, 204, 0.42), 0 10px 30px rgba(0, 0, 0, 0.5);\n                }\n\n                100% {\n                    box-shadow: 0 22px 50px rgba(0, 122, 204, 0.28), 0 6px 18px rgba(0, 0, 0, 0.45);\n                }\n            }\n\n            \/* Respect user's reduced motion preference *\/\n            @media (prefers-reduced-motion: reduce) {\n                .video-wrapper-2 button#video-play-btn-2 {\n                    animation: none !important;\n                }\n\n                .video-wrapper-2 button#video-play-btn-2::before {\n                    transition: none !important;\n                }\n            }\n        <\/style>\n\n        <script>\n            \/\/ Play overlay for project video (futuristic blue\/white)\n            document.addEventListener('DOMContentLoaded', function() {\n                var video = document.getElementById('faptech-video-2');\n                var playBtn = document.getElementById('video-play-btn-2');\n                var wrapper = document.querySelector('.video-wrapper-2');\n\n                function updateButton() {\n                    \/\/ show overlay when paused, hide when playing\n                    if (!video) return;\n                    playBtn.style.display = video.paused ? 'flex' : 'none';\n                }\n\n                playBtn.addEventListener('click', function(e) {\n                    e.stopPropagation();\n                    if (video.paused) {\n                        video.play();\n                    } else {\n                        video.pause();\n                    }\n                });\n\n                \/\/ clicking outside the native controls toggles play\/pause\n                wrapper.addEventListener('click', function(e) {\n                    \/\/ prevent toggle when clicking controls area (native controls)\n                    var rect = video.getBoundingClientRect();\n                    var clickY = e.clientY;\n                    \/\/ approximate controls area: bottom 12% of video\n                    if (clickY > rect.top + rect.height * 0.88) return;\n                    if (video.paused) video.play();\n                });\n\n                video.addEventListener('play', updateButton);\n                video.addEventListener('pause', updateButton);\n                video.addEventListener('ended', updateButton);\n                video.addEventListener('loadedmetadata', updateButton);\n                \/\/ initial state (in case controls\/autoplay state differs)\n                setTimeout(updateButton, 120);\n            });\n        <\/script>\n\n        <section class=\"container-fluid titan-features-section\">\n            <div class=\"titan-features-shell\">\n                <h2 class=\"titan-features-title\">Caracter\u00edsticas Principais<\/h2>\n\n                <div class=\"titan-features-list-card\">\n                    <div class=\"titan-features-items\">\n                        <div class=\"titan-feature-item\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\">Capacidade de carga at\u00e9 <b>300 KG<\/b><\/span>\n                        <\/div>\n                        <div class=\"titan-feature-item\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\">Sistema de navega\u00e7\u00e3o aut\u00f3noma de alta precis\u00e3o com sensores LIDAR e c\u00e2mara 3D<\/span>\n                        <\/div>\n                        <div class=\"titan-feature-item\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\">Gest\u00e3o inteligente de energia com carregamento autom\u00e1tico<\/span>\n                        <\/div>\n                        <div class=\"titan-feature-item\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\">Conformidade total com normas de seguran\u00e7a <b>ISO 3691-4<\/b><\/span>\n                        <\/div>\n                        <div class=\"titan-feature-item titan-feature-item-last\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\"> Desvio din\u00e2mico de obst\u00e1culos<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                <h2 class=\"titan-features-title\">M\u00f3dulos dispon\u00edveis<\/h2>\n                <div class=\"titan-features-list-card\">\n                    <div class=\"titan-features-items\">\n                        <div class=\"titan-feature-item\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\">Base<\/span>\n                        <\/div>\n                        <div class=\"titan-feature-item\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\">Pino retr\u00e1til central<\/span>\n                        <\/div>\n                        <div class=\"titan-feature-item titan-feature-item-last\">\n                            <span class=\"titan-feature-check\">\u2713<\/span>\n                            <span class=\"titan-feature-text\"> Eleva\u00e7\u00e3o 50 mm<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"titan-features-stats-grid\">\n                    <div class=\"titan-stat-card\">\n                        <div id=\"titan-speed-counter\" class=\"titan-stat-value\">0.0m\/s<\/div>\n                        <div class=\"titan-stat-label\">Velocidade com Carga<\/div>\n                    <\/div>\n                    <div class=\"titan-stat-card\">\n                        <div id=\"titan-weight-counter\" class=\"titan-stat-value\">0KG<\/div>\n                        <div class=\"titan-stat-label\">Capacidade de Carga<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <script>\n                \/\/ Animate the stats counters\n                document.addEventListener('DOMContentLoaded', function() {\n                    function animateCounter(element, start, end, duration, suffix = '', decimals = 0) {\n                        let startTime = null;\n\n                        function step(timestamp) {\n                            if (!startTime) startTime = timestamp;\n                            const progress = Math.min((timestamp - startTime) \/ duration, 1);\n                            const value = start + (end - start) * progress;\n                            element.textContent = value.toFixed(decimals) + suffix;\n                            if (progress < 1) {\n                                requestAnimationFrame(step);\n                            }\n                        }\n                        requestAnimationFrame(step);\n                    }\n\n                    function runStatsCounters() {\n                        const speedCounter = document.getElementById('titan-speed-counter');\n                        const weightCounter = document.getElementById('titan-weight-counter');\n\n                        if (!speedCounter || !weightCounter) return;\n\n                        animateCounter(speedCounter, 0, 1.3, 1200, 'm\/s', 1);\n                        animateCounter(weightCounter, 0, 300, 1200, 'KG', 0);\n                    }\n\n                    const featuresSection = document.querySelector('.titan-features-section');\n\n                    if (!featuresSection) return;\n\n                    if ('IntersectionObserver' in window) {\n                        const observer = new IntersectionObserver(function(entries, obs) {\n                            entries.forEach(function(entry) {\n                                if (entry.isIntersecting) {\n                                    runStatsCounters();\n                                    obs.unobserve(entry.target);\n                                }\n                            });\n                        }, { threshold: 0.35 });\n\n                        observer.observe(featuresSection);\n                    } else {\n                        \/\/ Fallback for older browsers without IntersectionObserver.\n                        runStatsCounters();\n                    }\n                });\n            <\/script>\n        <\/section>\n\n\n        <!-- Gallery Section -->\n        <section class=\"fapricela-amr-pt200-galeria\" style=\"width: 100%; background: #1A1A1A; padding: 80px 0; margin: 0;\">\n            <div style=\"max-width: 1200px; margin: 0 auto; padding: 0 24px; text-align: center;\">\n                <h2 style=\"font-size: 2.5rem; font-weight: 700; color: #fff; margin-bottom: 16px;\">\n                    Galeria do Produto\n                <\/h2>\n                <div class=\"titan-center\">\n                    <style>\n                        .titan-gallery-grid {\n                            display: grid;\n                            grid-template-columns: repeat(3, 1fr);\n                            gap: 24px;\n                            justify-items: center;\n                            align-items: center;\n                        }\n\n                        .titan-gallery-grid .titan-gallery-link {\n                            width: 100%;\n                            aspect-ratio: 1\/1;\n                            display: block;\n                            overflow: hidden;\n                            border-radius: 12px;\n                            background: #222;\n                            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);\n                            transition: box-shadow 0.2s;\n                        }\n\n                        .titan-gallery-grid .titan-gallery-link:hover {\n                            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);\n                        }\n\n                        .titan-gallery-grid img {\n                            width: 100%;\n                            height: 100%;\n                            object-fit: cover;\n                            object-position: center;\n                            display: block;\n                            transition: transform 0.2s;\n                        }\n\n                        @media (max-width: 900px) {\n                            .titan-gallery-grid {\n                                grid-template-columns: repeat(2, 1fr);\n                            }\n                        }\n\n                        @media (max-width: 600px) {\n                            .titan-gallery-grid {\n                                grid-template-columns: 1fr;\n                            }\n                        }\n                    <\/style>\n                    <div class=\"titan-gallery-grid\" id=\"titan-gallery-grid\">\n                        <a href=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/MS030SW.png\" class=\"titan-gallery-link\" data-index=\"0\" data-elementor-open-lightbox=\"no\"><img decoding=\"async\" data-src=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/MS030SW.png\" alt=\"Titan Gallery 1\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 1920px; --smush-placeholder-aspect-ratio: 1920\/1032;\"><\/a>\n                        <a href=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/PXL_20260303_102609090.jpg\" class=\"titan-gallery-link\" data-index=\"1\" data-elementor-open-lightbox=\"no\"><img decoding=\"async\" data-src=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/PXL_20260303_102609090.jpg\" alt=\"Titan Gallery 2\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 8160px; --smush-placeholder-aspect-ratio: 8160\/4590;\"><\/a>\n                        <a href=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/PXL_20260303_102531501.jpg\" class=\"titan-gallery-link\" data-index=\"2\" data-elementor-open-lightbox=\"no\"><img decoding=\"async\" data-src=\"https:\/\/faptech.pt\/wp-content\/uploads\/2026\/03\/PXL_20260303_102531501.jpg\" alt=\"Titan Gallery 3\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 8160px; --smush-placeholder-aspect-ratio: 8160\/4590;\"><\/a>\n                    <\/div>\n                <\/div>\n                <!-- Lightbox Modal -->\n                <div id=\"titan-gallery-lightbox\" style=\"display:none; position:fixed; z-index:9999; top:0; left:0; width:100vw; height:100vh; background:rgba(0,0,0,0.92); align-items:center; justify-content:center; flex-direction:column; transition:background 0.3s;\">\n                    <button id=\"titan-gallery-close\" aria-label=\"Fechar\" style=\"position:absolute; top:32px; right:32px; background:rgba(0,0,0,0.5); border:none; color:#fff; font-size:2.5rem; cursor:pointer; z-index:10001; border-radius:50%; width:48px; height:48px; display:flex; align-items:center; justify-content:center; transition:background 0.2s;\"><span style=\"line-height:1;\">&times;<\/span><\/button>\n                    <button id=\"titan-gallery-prev\" aria-label=\"Anterior\" style=\"position:absolute; left:32px; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.5); border:none; color:#fff; font-size:3rem; cursor:pointer; z-index:10001; border-radius:50%; width:56px; height:56px; display:flex; align-items:center; justify-content:center; transition:background 0.2s;\">&#8592;<\/button>\n                    <div id=\"titan-gallery-img-container\" style=\"display:flex; align-items:center; justify-content:center; width:100vw; height:100vh;\">\n                        <img decoding=\"async\" id=\"titan-gallery-lightbox-img\" src=\"\" alt=\"\" style=\"max-width:90vw; max-height:80vh; border-radius:16px; box-shadow:0 8px 32px rgba(0,0,0,0.5); background:#222; margin:auto; opacity:0; transition:opacity 0.3s; display:block;\">\n                    <\/div>\n                    <button id=\"titan-gallery-next\" aria-label=\"Pr\u00f3xima\" style=\"position:absolute; right:32px; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.5); border:none; color:#fff; font-size:3rem; cursor:pointer; z-index:10001; border-radius:50%; width:56px; height:56px; display:flex; align-items:center; justify-content:center; transition:background 0.2s;\">&#8594;<\/button>\n                <\/div>\n                <script>\n                    \/\/ Titan Gallery Lightbox Functionality (Professional\/Centered\/Fade)\n                    document.addEventListener('DOMContentLoaded', function() {\n                        var galleryLinks = document.querySelectorAll('.titan-gallery-link');\n                        var lightbox = document.getElementById('titan-gallery-lightbox');\n                        var lightboxImg = document.getElementById('titan-gallery-lightbox-img');\n                        var imgContainer = document.getElementById('titan-gallery-img-container');\n                        var closeBtn = document.getElementById('titan-gallery-close');\n                        var prevBtn = document.getElementById('titan-gallery-prev');\n                        var nextBtn = document.getElementById('titan-gallery-next');\n                        var currentIndex = 0;\n                        var images = Array.from(galleryLinks).map(function(link) {\n                            return link.getAttribute('href');\n                        });\n                        var alts = Array.from(galleryLinks).map(function(link) {\n                            return link.querySelector('img').alt;\n                        });\n\n                        function fadeInImg() {\n                            lightboxImg.style.opacity = 0;\n                            setTimeout(function() {\n                                lightboxImg.style.opacity = 1;\n                            }, 30);\n                        }\n\n                        function showLightbox(index) {\n                            currentIndex = index;\n                            \/\/ Hide image while loading\n                            lightboxImg.style.opacity = 0;\n                            lightboxImg.src = images[currentIndex];\n                            lightboxImg.alt = alts[currentIndex];\n                            lightbox.style.display = 'flex';\n                            document.body.style.overflow = 'hidden';\n                        }\n                        \/\/ Ensure image is centered and fades in after load\n                        lightboxImg.onload = function() {\n                            fadeInImg();\n                            imgContainer.scrollTop = 0;\n                        };\n\n                        function hideLightbox() {\n                            lightbox.style.display = 'none';\n                            document.body.style.overflow = '';\n                            lightboxImg.src = '';\n                        }\n\n                        function showPrev() {\n                            currentIndex = (currentIndex - 1 + images.length) % images.length;\n                            showLightbox(currentIndex);\n                        }\n\n                        function showNext() {\n                            currentIndex = (currentIndex + 1) % images.length;\n                            showLightbox(currentIndex);\n                        }\n                        galleryLinks.forEach(function(link, idx) {\n                            link.addEventListener('click', function(e) {\n                                e.preventDefault();\n                                showLightbox(idx);\n                            });\n                        });\n                        closeBtn.addEventListener('click', hideLightbox);\n                        prevBtn.addEventListener('click', function(e) {\n                            e.stopPropagation();\n                            showPrev();\n                        });\n                        nextBtn.addEventListener('click', function(e) {\n                            e.stopPropagation();\n                            showNext();\n                        });\n                        \/\/ Keyboard navigation\n                        document.addEventListener('keydown', function(e) {\n                            if (lightbox.style.display === 'flex') {\n                                if (e.key === 'ArrowLeft') showPrev();\n                                if (e.key === 'ArrowRight') showNext();\n                                if (e.key === 'Escape') hideLightbox();\n                            }\n                        });\n                        \/\/ Click outside image closes\n                        lightbox.addEventListener('click', function(e) {\n                            if (e.target === lightbox) hideLightbox();\n                        });\n                    });\n                <\/script>\n            <\/div>\n        <\/section>\n    <\/div>\n\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":15373,"parent":17020,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-15691","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/pages\/15691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/comments?post=15691"}],"version-history":[{"count":0,"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/pages\/15691\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/pages\/17020"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/media\/15373"}],"wp:attachment":[{"href":"https:\/\/faptech.pt\/en\/wp-json\/wp\/v2\/media?parent=15691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}