:root{--bg-primary:#0D1117;--bg-secondary:#161B22;--bg-card:#1a1a2e;--accent:#1D9E75;--accent-dark:#14795a;--accent-glow:rgba(29,158,117,0.15);--text-primary:#f0f0f5;--text-secondary:#a0a0b0;--text-muted:#848494;--border:#2a2a3a;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-logo:'Syne',sans-serif;--font-mono:'JetBrains Mono','Fira Code',monospace;--font-tag:'JetBrains Mono','Fira Code',monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--text-6xl:4.5rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:32px;--space-xl:64px;--space-2xl:128px;--max-width:1200px;--section-padding:120px;--nav-height:72px;--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.6s ease;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:9999px} @keyframes blink{0%,100%{opacity:1} 50%{opacity:0}} @keyframes bobble{0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)}} @keyframes fadeInUp{from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)}} @keyframes fadeIn{from{opacity:0} to{opacity:1}} @keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 var(--accent-glow)} 50%{box-shadow:0 0 20px 4px var(--accent-glow)}} .reveal{opacity:0;transform:translateY(30px);visibility:hidden;transition:opacity 0.6s ease,transform 0.6s ease,visibility 0s linear 0.6s} .reveal.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity 0.6s ease,transform 0.6s ease,visibility 0s} .reveal:nth-child(2){transition-delay:0.1s} .reveal:nth-child(3){transition-delay:0.2s} .reveal:nth-child(4){transition-delay:0.3s} .reveal:nth-child(5){transition-delay:0.4s} .reveal:nth-child(6){transition-delay:0.5s} .scene.active .hail{animation:hailFall 0.8s ease-in forwards} .hail-1{animation-delay:0.1s !important} .hail-2{animation-delay:0.3s !important} .hail-3{animation-delay:0.2s !important} .hail-4{animation-delay:0.5s !important} .hail-5{animation-delay:0.4s !important} .hail-6{animation-delay:0.6s !important} @keyframes hailFall{0%{transform:translateY(0);opacity:0.8} 70%{opacity:1} 100%{transform:translateY(190px);opacity:0}} .scene.active .dents{animation:dentAppear 0.4s ease-out forwards;animation-delay:1s} @keyframes dentAppear{from{opacity:0;transform:scale(0.5)} to{opacity:1;transform:scale(1)}} .scene.active .phone-buzz{animation:phoneBuzz 0.3s ease-in-out 6 alternate;animation-delay:1.2s} @keyframes phoneBuzz{from{opacity:0.8;transform:translate(350px,40px) rotate(-3deg)} to{opacity:1;transform:translate(350px,40px) rotate(3deg)}} .scene.active .person-leaving{animation:walkAway 2s ease-in forwards;animation-delay:0.3s} @keyframes walkAway{0%{transform:translateX(0);opacity:1} 100%{transform:translateX(120px);opacity:0}} .scene.active .question{animation:questionPop 0.5s ease-out forwards;animation-delay:1.5s} @keyframes questionPop{0%{opacity:0;transform:scale(0) translateY(10px)} 60%{transform:scale(1.3) translateY(-5px)} 100%{opacity:1;transform:scale(1) translateY(0)}} .scene.active .stamp{animation:stampSlam 0.4s cubic-bezier(0.25,0.46,0.45,0.94) forwards;animation-delay:0.8s} @keyframes stampSlam{0%{opacity:0;transform:translate(175px,70px) scale(3) rotate(-20deg)} 70%{transform:translate(175px,70px) scale(0.9) rotate(2deg)} 100%{opacity:1;transform:translate(175px,70px) scale(1) rotate(0deg)}} .scene.active .clock-min{animation:clockSpin 2s linear infinite;transform-origin:0 0;animation-delay:0.5s} @keyframes clockSpin{from{transform:rotate(0deg)} to{transform:rotate(360deg)}} .scene.active .paper-stack{animation:paperDrop 1s cubic-bezier(0.22,0.61,0.36,1) forwards} @keyframes paperDrop{0%{transform:translateY(0)} 60%{transform:translateY(120px)} 70%{transform:translateY(110px)} 100%{transform:translateY(120px)}} .scene.active .scattered{animation:scatterReveal 0.6s ease-out forwards;animation-delay:1s} @keyframes scatterReveal{0%{opacity:0;transform:scale(0.8)} 100%{opacity:0.8;transform:scale(1)}} .scene.active .spin-hand{animation:clockSpin 0.5s linear infinite;transform-origin:0 0} .scene.active .camera-flash{animation:cameraFlash 0.15s ease-out 3 alternate;animation-delay:0.3s} @keyframes cameraFlash{from{opacity:0} to{opacity:1}} .scene.active .photo-fake{animation:photoGlitch 0.15s ease-in-out 4 alternate;animation-delay:1s} @keyframes photoGlitch{0%{transform:translate(0,0)} 25%{transform:translate(3px,-2px)} 50%{transform:translate(-2px,1px)} 75%{transform:translate(1px,3px)} 100%{transform:translate(-3px,-1px)}} .scene.active .glitch-lines{animation:glitchReveal 0.3s steps(3) forwards;animation-delay:1.6s} @keyframes glitchReveal{from{opacity:0} to{opacity:0.6}} .scene.active .dollars{animation:dollarsShow 0.4s ease-out forwards;animation-delay:1.8s} @keyframes dollarsShow{from{opacity:0} to{opacity:1}} .scene.active .dollar-1{animation:dollarFloat 1.5s ease-out forwards;animation-delay:1.9s} .scene.active .dollar-2{animation:dollarFloat 1.5s ease-out forwards;animation-delay:2.1s} .scene.active .dollar-3{animation:dollarFloat 1.5s ease-out forwards;animation-delay:2s} @keyframes dollarFloat{0%{transform:translateY(0);opacity:1} 100%{transform:translateY(-60px);opacity:0}} .scene.active .sensors{animation:sensorsReveal 0.6s ease-out forwards;animation-delay:0.5s} @keyframes sensorsReveal{from{opacity:0} to{opacity:0.7}} .scene.active .sensor-1{animation:sensorPulse 1.2s ease-in-out infinite;animation-delay:0.6s} .scene.active .sensor-2{animation:sensorPulse 1.2s ease-in-out infinite;animation-delay:0.8s} .scene.active .sensor-3{animation:sensorPulse 1.2s ease-in-out infinite;animation-delay:0.7s} .scene.active .sensor-4{animation:sensorPulse 1.2s ease-in-out infinite;animation-delay:0.9s} .scene.active .sensor-5{animation:sensorPulse 1.2s ease-in-out infinite;animation-delay:1s} @keyframes sensorPulse{0%,100%{opacity:0.3} 50%{opacity:1}} .scene.active .adas-questions{animation:sensorsReveal 0.4s ease-out forwards;animation-delay:1.2s} .scene.active .q-1{animation:questionBounce 0.5s ease-out forwards;animation-delay:1.3s} .scene.active .q-2{animation:questionBounce 0.5s ease-out forwards;animation-delay:1.5s} .scene.active .q-3{animation:questionBounce 0.5s ease-out forwards;animation-delay:1.7s} .scene.active .q-4{animation:questionBounce 0.5s ease-out forwards;animation-delay:1.9s} @keyframes questionBounce{0%{opacity:0;transform:scale(0)} 60%{transform:scale(1.4)} 100%{opacity:1;transform:scale(1)}} .scene.active .phone-ring{animation:phoneShake 0.1s ease-in-out 12 alternate;animation-delay:0.3s} @keyframes phoneShake{from{transform:translate(160px,20px) rotate(-2deg)} to{transform:translate(160px,20px) rotate(2deg)}} .scene.active .ring-1,.scene.active .ring-3{animation:ringWave 0.6s ease-out 3;animation-delay:0.3s} .scene.active .ring-2,.scene.active .ring-4{animation:ringWave 0.6s ease-out 3;animation-delay:0.5s} @keyframes ringWave{0%{opacity:0;transform:scaleX(0.8)} 50%{opacity:0.8} 100%{opacity:0;transform:scaleX(1.2)}} .scene.active .badge-pulse{animation:badgePop 0.4s ease-out forwards,badgePulse 1s ease-in-out infinite 0.8s;animation-delay:0.8s} @keyframes badgePop{0%{opacity:0;transform:translate(200px,18px) scale(0)} 70%{transform:translate(200px,18px) scale(1.3)} 100%{opacity:1;transform:translate(200px,18px) scale(1)}} @keyframes badgePulse{0%,100%{transform:translate(200px,18px) scale(1)} 50%{transform:translate(200px,18px) scale(1.15)}} .scene.active .call-1{animation:callDisconnect 0.4s ease-out forwards;animation-delay:1.5s} .scene.active .call-2{animation:callDisconnect 0.4s ease-out forwards;animation-delay:1.8s} .scene.active .call-3{animation:callDisconnect 0.4s ease-out forwards;animation-delay:2.1s} .scene.active .call-4{animation:callDisconnect 0.4s ease-out forwards;animation-delay:2.4s} @keyframes callDisconnect{0%{opacity:0;stroke-dasharray:0 100} 50%{opacity:1;stroke-dasharray:100 0} 100%{opacity:0.5;stroke-dasharray:100 0}} .scene.active .call-x{animation:fadeIn 0.3s ease-out forwards;animation-delay:2.6s} .scene.active .bar-1{animation:barGrow1 0.8s ease-out forwards;animation-delay:0.3s} .scene.active .bar-2{animation:barGrow2 0.8s ease-out forwards;animation-delay:0.5s} .scene.active .bar-3{animation:barGrow3 0.8s ease-out forwards;animation-delay:0.7s} .scene.active .bar-4{animation:barGrow4 0.8s ease-out forwards;animation-delay:0.9s} @keyframes barGrow1{to{y:60;height:90px}} @keyframes barGrow2{to{y:75;height:75px}} @keyframes barGrow3{to{y:90;height:60px}} @keyframes barGrow4{to{y:110;height:40px}} .scene.active .trend-line{animation:trendDraw 1.5s ease-out forwards;animation-delay:1.2s} @keyframes trendDraw{to{stroke-dashoffset:0;points:115,65 165,80 215,100 265,120}} .scene.active .clipboard{animation:clipboardSlide 0.5s ease-out forwards;animation-delay:1.5s} @keyframes clipboardSlide{0%{opacity:0;transform:translate(330px,40px) translateX(30px)} 100%{opacity:1;transform:translate(330px,40px) translateX(0)}} .hiw-active .hiw-phone{animation:hiwFadeIn 0.6s ease-out forwards} .hiw-active .hiw-lens{animation:hiwFadeIn 0.5s ease-out forwards;animation-delay:0.4s} .hiw-active .hiw-viewfinder{animation:hiwFadeIn 0.4s ease-out forwards;animation-delay:0.6s} .hiw-active .hiw-flash{animation:hiwFlash 0.2s ease-out 2 alternate;animation-delay:1s} .hiw-active .hiw-thumb-1{animation:hiwThumbPop 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:1.3s} .hiw-active .hiw-thumb-2{animation:hiwThumbPop 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:1.5s} .hiw-active .hiw-thumb-3{animation:hiwThumbPop 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:1.7s} .hiw-active .hiw-thumb-4{animation:hiwThumbPop 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:1.9s} .hiw-active .hiw-badge{animation:hiwBadgePop 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:2.1s} @keyframes hiwFadeIn{from{opacity:0} to{opacity:1}} @keyframes hiwFlash{from{opacity:0} to{opacity:0.25}} @keyframes hiwThumbPop{0%{opacity:0;transform:scale(0)} 70%{transform:scale(1.15)} 100%{opacity:1;transform:scale(1)}} @keyframes hiwBadgePop{0%{opacity:0;transform:scale(0)} 60%{transform:scale(1.3)} 100%{opacity:1;transform:scale(1)}} .hiw-active .hiw-car{animation:hiwCarDraw 0.8s ease-out forwards} .hiw-active .hiw-scanline{animation:hiwScanSweep 1.2s ease-in-out forwards;animation-delay:0.5s} .hiw-active .hiw-vin-group{animation:hiwSlideDown 0.5s ease-out forwards;animation-delay:1.2s} .hiw-active .hiw-dp-1{animation:hiwDotPulse 0.4s ease-out forwards;animation-delay:1.5s} .hiw-active .hiw-dp-2{animation:hiwDotPulse 0.4s ease-out forwards;animation-delay:1.7s} .hiw-active .hiw-dp-3{animation:hiwDotPulse 0.4s ease-out forwards;animation-delay:1.9s} .hiw-active .hiw-dp-4{animation:hiwDotPulse 0.4s ease-out forwards;animation-delay:2.1s} .hiw-active .hiw-dataline{animation:hiwFadeIn 0.6s ease-out forwards;animation-delay:2.2s} @keyframes hiwCarDraw{0%{opacity:0;stroke-dasharray:500;stroke-dashoffset:500} 100%{opacity:1;stroke-dashoffset:0}} @keyframes hiwScanSweep{0%{opacity:0;transform:translateX(0)} 10%{opacity:0.8} 90%{opacity:0.8} 100%{opacity:0;transform:translateX(130px)}} @keyframes hiwSlideDown{0%{opacity:0;transform:translateY(-10px)} 100%{opacity:1;transform:translateY(0)}} @keyframes hiwDotPulse{0%{opacity:0;r:0} 60%{r:5} 100%{opacity:1;r:3}} .hiw-active .hiw-doc{animation:hiwFadeIn 0.5s ease-out forwards} .hiw-active .hiw-doc-header{animation:hiwLineSlide 0.4s ease-out forwards;animation-delay:0.3s} .hiw-active .hiw-li-1{animation:hiwLineSlide 0.3s ease-out forwards;animation-delay:0.6s} .hiw-active .hiw-li-2{animation:hiwLineSlide 0.3s ease-out forwards;animation-delay:0.8s} .hiw-active .hiw-li-3{animation:hiwLineSlide 0.3s ease-out forwards;animation-delay:1.0s} .hiw-active .hiw-li-4{animation:hiwLineSlide 0.3s ease-out forwards;animation-delay:1.2s} .hiw-active .hiw-li-5{animation:hiwLineSlide 0.3s ease-out forwards;animation-delay:1.4s} .hiw-active .hiw-divider{animation:hiwFadeIn 0.3s ease-out forwards;animation-delay:1.6s} .hiw-active .hiw-total{animation:hiwLineSlide 0.4s ease-out forwards;animation-delay:1.8s} .hiw-active .hiw-check-circle{animation:hiwCheckPop 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:2.1s} @keyframes hiwLineSlide{0%{opacity:0;transform:translateX(-10px)} 100%{opacity:1;transform:translateX(0)}} @keyframes hiwCheckPop{0%{opacity:0;r:0} 60%{opacity:1;r:13} 100%{opacity:1;r:10}} .hiw-active .hiw-node-src{animation:hiwFadeIn 0.5s ease-out forwards} .hiw-active .hiw-node-dst{animation:hiwFadeIn 0.5s ease-out forwards;animation-delay:0.2s} .hiw-active .hiw-route-path{animation:hiwRouteDraw 1s ease-in-out forwards;animation-delay:0.6s} .hiw-active .hiw-envelope{animation:hiwEnvelopeFly 1s ease-in-out forwards;animation-delay:0.6s} .hiw-active .hiw-arrive-pulse{animation:hiwPulseRing 0.6s ease-out forwards;animation-delay:1.6s} .hiw-active .hiw-branch-1{animation:hiwFadeIn 0.4s ease-out forwards;animation-delay:1.8s} .hiw-active .hiw-branch-2{animation:hiwFadeIn 0.4s ease-out forwards;animation-delay:2s} @keyframes hiwRouteDraw{0%{opacity:1;stroke-dashoffset:200} 100%{opacity:1;stroke-dashoffset:0}} @keyframes hiwEnvelopeFly{0%{opacity:1;transform:translate(48px,65px)} 50%{transform:translate(80px,40px)} 100%{opacity:0;transform:translate(112px,65px)}} @keyframes hiwPulseRing{0%{opacity:0.8;r:14} 100%{opacity:0;r:28}} .hiw-active .hiw-timer-bg{animation:hiwFadeIn 0.5s ease-out forwards} .hiw-active .hiw-timer-fill{animation:hiwTimerFill 2s ease-in-out forwards;animation-delay:0.3s} .hiw-active .hiw-timer-hand{animation:hiwHandSpin 2s ease-in-out forwards;animation-delay:0.3s} .hiw-active .hiw-timer-center{animation:hiwFadeIn 0.3s ease-out forwards;animation-delay:0.2s} .hiw-active .hiw-time-old{animation:hiwTimeOld 2s ease-out forwards;animation-delay:0.3s} .hiw-active .hiw-time-new{animation:hiwTimeNew 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:2.3s} .hiw-active .hiw-time-unit{animation:hiwFadeIn 0.4s ease-out forwards;animation-delay:0.5s} .hiw-active .hiw-final-check{animation:hiwCheckReveal 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;animation-delay:2.6s} .hiw-active .hiw-booking{animation:hiwSlideIn 0.4s ease-out forwards;animation-delay:2.9s} @keyframes hiwTimerFill{0%{opacity:1;stroke-dashoffset:201} 100%{opacity:1;stroke-dashoffset:0}} @keyframes hiwHandSpin{0%{opacity:1;transform:rotate(0deg);transform-origin:80px 55px} 100%{opacity:1;transform:rotate(720deg);transform-origin:80px 55px}} @keyframes hiwTimeOld{0%{opacity:0.8} 80%{opacity:0.8} 100%{opacity:0}} @keyframes hiwTimeNew{0%{opacity:0;transform:scale(0.3)} 60%{transform:scale(1.2)} 100%{opacity:1;transform:scale(1)}} @keyframes hiwCheckReveal{0%{opacity:0;transform:scale(0)} 60%{transform:scale(1.2)} 100%{opacity:1;transform:scale(1)}} @keyframes hiwSlideIn{0%{opacity:0;transform:translateX(15px)} 100%{opacity:1;transform:translateX(0)}} @keyframes fcFadeIn{from{opacity:0} to{opacity:1}} @keyframes fcSlideUp{from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)}} @keyframes fcSlideRight{from{opacity:0;transform:translateX(-10px)} to{opacity:1;transform:translateX(0)}} @keyframes fcScalePop{0%{opacity:0;transform:scale(0)} 60%{transform:scale(1.2)} 100%{opacity:1;transform:scale(1)}} @keyframes fcStampSlam{0%{opacity:0;transform:scale(3) rotate(-15deg)} 70%{transform:scale(0.9) rotate(2deg)} 100%{opacity:1;transform:scale(1) rotate(0deg)}} @keyframes fcScanDown{0%{opacity:0;transform:translateY(0)} 10%{opacity:0.8} 90%{opacity:0.8} 100%{opacity:0;transform:translateY(110px)}} @keyframes fcBarGrow{from{height:0} to{height:var(--bar-h)}} @keyframes fcFillBar{from{width:0;opacity:1} to{width:180px;opacity:1}} @keyframes fcDashDraw{to{stroke-dashoffset:0}} @keyframes fcPulse{0%,100%{opacity:0.4} 50%{opacity:1}} .features__card:hover .fc-phone,.features__card.flipped .fc-phone{animation:fcFadeIn 0.5s ease-out forwards} .features__card:hover .fc-car-draw,.features__card.flipped .fc-car-draw{animation:fcFadeIn 0.6s ease-out forwards;animation-delay:0.2s} .features__card:hover .fc-scanline,.features__card.flipped .fc-scanline{animation:fcScanDown 1.2s ease-in-out forwards;animation-delay:0.4s} .features__card:hover .fc-bbox-1,.features__card.flipped .fc-bbox-1{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.6s} .features__card:hover .fc-bbox-2,.features__card.flipped .fc-bbox-2{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.8s} .features__card:hover .fc-bbox-3,.features__card.flipped .fc-bbox-3{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:1.0s} .features__card:hover .fc-conf-1,.features__card.flipped .fc-conf-1{animation:fcScalePop 0.3s ease-out forwards;animation-delay:0.7s} .features__card:hover .fc-conf-2,.features__card.flipped .fc-conf-2{animation:fcScalePop 0.3s ease-out forwards;animation-delay:0.9s} .features__card:hover .fc-conf-3,.features__card.flipped .fc-conf-3{animation:fcScalePop 0.3s ease-out forwards;animation-delay:1.1s} .features__card:hover .fc-tag-1,.features__card.flipped .fc-tag-1{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.2s} .features__card:hover .fc-tag-2,.features__card.flipped .fc-tag-2{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.4s} .features__card:hover .fc-tag-3,.features__card.flipped .fc-tag-3{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.6s} .features__card:hover .fc-status,.features__card.flipped .fc-status{animation:fcSlideUp 0.4s ease-out forwards;animation-delay:1.8s} .features__card:hover .fc-doc,.features__card.flipped .fc-doc{animation:fcFadeIn 0.4s ease-out forwards} .features__card:hover .fc-headers,.features__card.flipped .fc-headers{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:0.2s} .features__card:hover .fc-li-1,.features__card.flipped .fc-li-1{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:0.4s} .features__card:hover .fc-li-2,.features__card.flipped .fc-li-2{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:0.55s} .features__card:hover .fc-li-3,.features__card.flipped .fc-li-3{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:0.7s} .features__card:hover .fc-li-4,.features__card.flipped .fc-li-4{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:0.85s} .features__card:hover .fc-li-5,.features__card.flipped .fc-li-5{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.0s} .features__card:hover .fc-li-6,.features__card.flipped .fc-li-6{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.15s} .features__card:hover .fc-li-7,.features__card.flipped .fc-li-7{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.3s} .features__card:hover .fc-divider,.features__card.flipped .fc-divider{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:1.4s} .features__card:hover .fc-total,.features__card.flipped .fc-total{animation:fcScalePop 0.4s ease-out forwards;animation-delay:1.5s} .features__card:hover .fc-bar-bg,.features__card.flipped .fc-bar-bg{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:1.6s} .features__card:hover .fc-bar-fill,.features__card.flipped .fc-bar-fill{animation:fcFillBar 0.8s ease-out forwards;animation-delay:1.7s} .features__card:hover .fc-bar-label,.features__card.flipped .fc-bar-label{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:2.2s} .features__card:hover .fc-split,.features__card.flipped .fc-split{animation:fcFadeIn 0.4s ease-out forwards} .features__card:hover .fc-panel-l,.features__card.flipped .fc-panel-l{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:0.15s} .features__card:hover .fc-panel-r,.features__card.flipped .fc-panel-r{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:0.3s} .features__card:hover .fc-analysis,.features__card.flipped .fc-analysis{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:0.5s} .features__card:hover .fc-heat-1,.features__card.flipped .fc-heat-1{animation:fcFadeIn 0.3s ease-out forwards,fcPulse 1.5s ease-in-out infinite 1s;animation-delay:0.7s} .features__card:hover .fc-heat-2,.features__card.flipped .fc-heat-2{animation:fcFadeIn 0.3s ease-out forwards,fcPulse 1.5s ease-in-out infinite 1.2s;animation-delay:0.9s} .features__card:hover .fc-timestamp,.features__card.flipped .fc-timestamp{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.0s} .features__card:hover .fc-flag-1,.features__card.flipped .fc-flag-1{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.2s} .features__card:hover .fc-flag-2,.features__card.flipped .fc-flag-2{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.4s} .features__card:hover .fc-flag-3,.features__card.flipped .fc-flag-3{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.6s} .features__card:hover .fc-flagged,.features__card.flipped .fc-flagged{animation:fcStampSlam 0.5s cubic-bezier(0.25,0.46,0.45,0.94) forwards;animation-delay:1.8s} .features__card:hover .fc-chat-frame,.features__card.flipped .fc-chat-frame{animation:fcFadeIn 0.4s ease-out forwards} .features__card:hover .fc-chat-header,.features__card.flipped .fc-chat-header{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:0.2s} .features__card:hover .fc-msg-in-1,.features__card.flipped .fc-msg-in-1{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:0.5s} .features__card:hover .fc-msg-out-1,.features__card.flipped .fc-msg-out-1{animation:fcSlideUp 0.3s ease-out forwards;animation-delay:0.8s} .features__card:hover .fc-msg-in-2,.features__card.flipped .fc-msg-in-2{animation:fcSlideRight 0.3s ease-out forwards;animation-delay:1.1s} .features__card:hover .fc-msg-out-2,.features__card.flipped .fc-msg-out-2{animation:fcSlideUp 0.3s ease-out forwards;animation-delay:1.4s} .features__card:hover .fc-notif,.features__card.flipped .fc-notif{animation:fcScalePop 0.4s ease-out forwards;animation-delay:1.6s} .features__card:hover .fc-clock247,.features__card.flipped .fc-clock247{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:1.8s} .features__card:hover .fc-stack-1,.features__card.flipped .fc-stack-1{animation:fcFadeIn 0.3s ease-out forwards} .features__card:hover .fc-stack-2,.features__card.flipped .fc-stack-2{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.1s} .features__card:hover .fc-stack-3,.features__card.flipped .fc-stack-3{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.2s} .features__card:hover .fc-stack-label,.features__card.flipped .fc-stack-label{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.3s} .features__card:hover .fc-funnel,.features__card.flipped .fc-funnel{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:0.5s} .features__card:hover .fc-processing,.features__card.flipped .fc-processing{animation:fcFadeIn 0.3s ease-out forwards,fcPulse 1s ease-in-out infinite 1s;animation-delay:0.7s} .features__card:hover .fc-arrow-out,.features__card.flipped .fc-arrow-out{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.9s} .features__card:hover .fc-out-1,.features__card.flipped .fc-out-1{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.1s} .features__card:hover .fc-out-2,.features__card.flipped .fc-out-2{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.3s} .features__card:hover .fc-out-3,.features__card.flipped .fc-out-3{animation:fcSlideRight 0.4s ease-out forwards;animation-delay:1.5s} .features__card:hover .fc-time-saved,.features__card.flipped .fc-time-saved{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:1.8s} .features__card:hover .fc-dash,.features__card.flipped .fc-dash{animation:fcFadeIn 0.4s ease-out forwards} .features__card:hover .fc-axis,.features__card.flipped .fc-axis{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.1s} .features__card:hover .fc-bar-labels,.features__card.flipped .fc-bar-labels{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.2s} .features__card:hover .fc-bar-1,.features__card.flipped .fc-bar-1{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:0.3s;--bar-h:55px;height:55px;y:65} .features__card:hover .fc-bar-2,.features__card.flipped .fc-bar-2{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:0.45s;height:42px;y:78} .features__card:hover .fc-bar-3,.features__card.flipped .fc-bar-3{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:0.6s;height:60px;y:60} .features__card:hover .fc-bar-4,.features__card.flipped .fc-bar-4{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:0.75s;height:80px;y:40} .features__card:hover .fc-trend,.features__card.flipped .fc-trend{animation:fcDashDraw 1s ease-out forwards;animation-delay:1.0s;opacity:1} .features__card:hover .fc-td-1,.features__card.flipped .fc-td-1{animation:fcScalePop 0.3s ease-out forwards;animation-delay:1.0s} .features__card:hover .fc-td-2,.features__card.flipped .fc-td-2{animation:fcScalePop 0.3s ease-out forwards;animation-delay:1.15s} .features__card:hover .fc-td-3,.features__card.flipped .fc-td-3{animation:fcScalePop 0.3s ease-out forwards;animation-delay:1.3s} .features__card:hover .fc-td-4,.features__card.flipped .fc-td-4{animation:fcScalePop 0.3s ease-out forwards;animation-delay:1.45s} .features__card:hover .fc-pie-bg,.features__card.flipped .fc-pie-bg{animation:fcFadeIn 0.4s ease-out forwards;animation-delay:0.5s} .features__card:hover .fc-pie-seg1,.features__card.flipped .fc-pie-seg1{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:0.7s} .features__card:hover .fc-pie-seg2,.features__card.flipped .fc-pie-seg2{animation:fcFadeIn 0.5s ease-out forwards;animation-delay:0.9s} .features__card:hover .fc-chart-title,.features__card.flipped .fc-chart-title{animation:fcFadeIn 0.3s ease-out forwards;animation-delay:0.15s} .features__card:hover .fc-kpi-1,.features__card.flipped .fc-kpi-1{animation:fcSlideUp 0.3s ease-out forwards;animation-delay:1.3s} .features__card:hover .fc-kpi-2,.features__card.flipped .fc-kpi-2{animation:fcSlideUp 0.3s ease-out forwards;animation-delay:1.5s} .features__card:hover .fc-kpi-3,.features__card.flipped .fc-kpi-3{animation:fcSlideUp 0.3s ease-out forwards;animation-delay:1.7s} @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important} .reveal,.reveal.visible{opacity:1;transform:none;visibility:visible;transition:none}} *,*::before,*::after{margin:0;padding:0;box-sizing:border-box} html{scroll-behavior:smooth;font-size:16px} body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-secondary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} a{color:inherit;text-decoration:none} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} .skip-link{position:absolute;top:-100%;left:16px;z-index:9999;background:var(--accent);color:var(--bg-primary);padding:12px 20px;border-radius:0 0 8px 8px;font-weight:700;text-decoration:none;font-size:var(--text-sm)} .skip-link:focus{top:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}:focus:not(:focus-visible){outline:none} .btn:focus-visible,.nav__cta:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent)} img{max-width:100%;display:block} .container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)} .section-label{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--accent);margin-bottom:var(--space-xl);text-align:center} .btn{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-body);font-weight:600;font-size:var(--text-base);border:none;cursor:pointer;border-radius:var(--radius-pill);transition:transform var(--transition-fast),box-shadow var(--transition-base),background var(--transition-base)} .btn--primary{background:var(--accent);color:var(--bg-primary);padding:14px 32px} .btn--primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow)} .btn--lg{font-size:var(--text-lg);padding:18px 40px} .btn .material-icons-round{font-size:20px} .nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 var(--space-lg);transition:background var(--transition-base),box-shadow var(--transition-base)} .nav--solid{background:rgba(10,10,15,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--border)} .nav__inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:var(--nav-height)} .nav__logo{z-index:1001} .logo-text{font-family:var(--font-logo);font-weight:800;font-size:var(--text-xl);color:var(--text-primary)} .logo-tx{color:var(--accent);letter-spacing:0.06em} .logo-dot{color:var(--accent);margin:0 0.25em;font-size:0.6em;vertical-align:middle} .logo-impaxt{letter-spacing:0.01em} .logo-x{color:var(--accent)} .logo-text--hero{font-size:var(--text-4xl)} .logo-text--hero .logo-dot{margin:0 0.3em} .logo-text--sm{font-size:var(--text-lg)} .nav__links{display:flex;align-items:center;gap:var(--space-lg)} .nav__link{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);transition:color var(--transition-fast);letter-spacing:0.5px} .nav__link:hover{color:var(--text-primary)} .nav__cta{background:var(--accent);color:var(--bg-primary) !important;padding:10px 24px;border-radius:var(--radius-pill);font-weight:600;transition:background var(--transition-fast),transform var(--transition-fast)} .nav__cta:hover{background:var(--accent-dark);transform:translateY(-1px)} .nav__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:1001} .nav__hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);transition:transform var(--transition-base),opacity var(--transition-fast)} .nav__hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)} .nav__hamburger.active span:nth-child(2){opacity:0} .nav__hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)} .bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none} .nav,section,footer{position:relative;z-index:1} .hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--section-padding) var(--space-lg);background:transparent;position:relative;overflow:hidden} .hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 50%,rgba(45,212,168,0.03) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(45,212,168,0.02) 0%,transparent 50%);pointer-events:none} .hero__content{max-width:800px;width:100%;position:relative;z-index:1} .hero__narrative{margin-bottom:var(--space-xl)} .hero__line{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--text-primary);line-height:1.8;opacity:0;min-height:1.8em} .hero__line--break{min-height:1.2em} .hero__line--accent{color:var(--text-secondary)} .hero__line--bold{color:var(--accent);font-weight:500} .hero__line.typed{opacity:1} .hero__line .cursor{display:inline-block;width:2px;height:1.2em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 0.8s step-end infinite} .hero__scene{opacity:1;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.8s ease;margin-bottom:var(--space-lg)} .hero__scene.fade-out{opacity:0} .scene{display:none;width:100%;max-width:420px} .scene.active{display:block} .scene svg{width:100%;height:auto} .scene__message{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--accent);text-align:center;opacity:0;transform:translateY(10px);transition:opacity 0.8s ease,transform 0.8s ease;margin-top:var(--space-lg)} .scene__message.visible{opacity:1;transform:translateY(0)} .hero__brand{text-align:center;opacity:0;transform:translateY(20px);transition:opacity 1s ease,transform 1s ease} .hero__brand.visible{opacity:1;transform:translateY(0)} .hero__heading{font-family:var(--font-tag);font-size:var(--text-sm);letter-spacing:0.25em;color:var(--text-muted);font-weight:400;margin-bottom:var(--space-md);text-transform:uppercase} .hero__tagline{font-family:var(--font-tag);font-size:var(--text-sm);letter-spacing:0.4em;color:var(--accent);margin-top:var(--space-md);font-weight:400} .hero__rule{border:none;height:1px;background:var(--border);margin-top:var(--space-md);width:80%;margin-left:auto;margin-right:auto} .hero__scroll{position:absolute;bottom:-60px;left:50%;transform:translateX(-50%);opacity:0;transition:opacity 1s ease 0.5s} .hero__scroll.visible{opacity:1} .hero__scroll .material-icons-round{font-size:32px;color:var(--text-muted);animation:bobble 2s ease-in-out infinite} .stats{padding:var(--section-padding) 0;background:var(--bg-secondary)} .stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)} .stats__item{text-align:center;padding:var(--space-lg)} .stats__number{font-size:var(--text-6xl);font-weight:800;color:var(--accent);display:block;line-height:1;margin-bottom:var(--space-md)} .stats__icon-stat{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)} .stats__icon-stat .material-icons-round{font-size:64px;color:var(--accent)} .stats__desc{font-size:var(--text-base);color:var(--text-secondary);line-height:1.5} .stats__summary{text-align:center;max-width:700px;margin:0 auto;font-size:var(--text-lg);color:var(--text-secondary);line-height:1.7} .story{padding:var(--section-padding) 0;background:var(--bg-primary)} .story__intro{text-align:center;max-width:700px;margin:0 auto var(--space-xl);font-size:var(--text-xl);color:var(--text-secondary);line-height:1.7} .story__beats{display:flex;flex-direction:column;gap:var(--space-xl);max-width:800px;margin:0 auto} .story__beat{display:flex;gap:var(--space-lg);align-items:flex-start} .story__beat-icon{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center} .story__beat-icon .material-icons-round{font-size:28px;color:var(--accent)} .story__beat-content h3{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm);line-height:1.4} .story__beat-content p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.7} .features{padding:var(--section-padding) 0;background:var(--bg-secondary)} .features__intro{text-align:center;font-size:var(--text-xl);color:var(--text-secondary);margin-bottom:var(--space-xl)} .features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)} .features__card{perspective:1000px;background:transparent;border:none;border-radius:var(--radius-lg);padding:0} .features__card-inner{position:relative;width:100%;transition:transform 0.6s ease;transform-style:preserve-3d} .features__card:hover .features__card-inner,.features__card:focus-within .features__card-inner,.features__card.flipped .features__card-inner{transform:rotateY(180deg)} .features__card-front,.features__card-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);padding:var(--space-lg)} .features__card-front{position:relative;background:var(--bg-card);border:1px solid var(--border);transition:border-color var(--transition-base),box-shadow var(--transition-base)} .features__card-back{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-card);border:1px solid var(--accent);box-shadow:0 12px 40px var(--accent-glow);transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box} .features__card-back svg{width:100%;max-height:170px} .features__card-back-label{font-size:0.75rem;color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1.5px;margin-top:var(--space-sm);opacity:0.7} .features__card-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:rgba(29,158,117,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)} .features__card-icon .material-icons-round{font-size:24px;color:var(--accent)} .features__card h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm)} .features__card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6} .how-it-works{padding:var(--section-padding) 0;background:var(--bg-primary)} .how-it-works__intro{text-align:center;font-size:var(--text-xl);color:var(--text-secondary);margin-bottom:var(--space-xl)} .how-it-works__steps{display:flex;align-items:flex-start;justify-content:center;gap:0;max-width:1200px;margin:0 auto} .how-it-works__step{flex:1;text-align:center;padding:var(--space-md);position:relative} .how-it-works__number{font-family:var(--font-logo);font-weight:800;font-size:var(--text-3xl);color:var(--accent);opacity:0.2;line-height:1;margin-bottom:var(--space-sm)} .how-it-works__illustration{width:140px;height:120px;margin:0 auto var(--space-md);display:flex;align-items:center;justify-content:center} .how-it-works__illustration svg{width:100%;height:100%} .how-it-works__step h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)} .how-it-works__step p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6} .how-it-works__connector{width:40px;height:2px;background:var(--border);margin-top:110px;flex-shrink:0} .team{padding:var(--section-padding) 0;background:var(--bg-primary)} .team__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);max-width:1000px;margin:0 auto} .team__card{text-align:center;padding:var(--space-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition-base)} .team__card:hover{border-color:var(--accent)} .team__avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md)} .team__initials{font-size:var(--text-2xl);font-weight:700;color:var(--bg-primary)} .team__name{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)} .team__role{font-size:var(--text-sm);color:var(--accent);font-weight:500;display:block;margin-bottom:var(--space-md)} .team__bio{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6} .timeline{padding:var(--section-padding) 0;background:var(--bg-primary)} .timeline__intro{text-align:center;max-width:600px;margin:0 auto var(--space-xl);font-size:var(--text-xl);color:var(--text-secondary)} .timeline__items{max-width:700px;margin:0 auto;position:relative} .timeline__items::before{content:'';position:absolute;left:28px;top:0;bottom:0;width:2px;background:var(--border)} .timeline__item{display:flex;gap:var(--space-md);align-items:flex-start;padding-bottom:var(--space-xl);position:relative} .timeline__item:last-child{padding-bottom:0} .timeline__time{flex-shrink:0;width:56px;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);padding-top:4px;text-align:right} .timeline__icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;z-index:1} .timeline__icon .material-icons-round{font-size:20px;color:var(--text-muted)} .timeline__detail{flex:1;padding-top:2px} .timeline__detail h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs);line-height:1.4} .timeline__detail p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7} .timeline__item--solution .timeline__time{color:var(--accent)} .timeline__item--solution .timeline__time .material-icons-round{font-size:20px} .timeline__item--solution .timeline__icon{background:var(--accent);border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)} .timeline__item--solution .timeline__icon .material-icons-round{color:var(--bg-primary)} .timeline__item--solution .timeline__detail h3{color:var(--accent)} .contact{padding:var(--section-padding) 0;background:var(--bg-secondary);position:relative;overflow:hidden} .contact::before{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(45,212,168,0.03),transparent);pointer-events:none} .contact__content{text-align:center;max-width:600px;margin:0 auto;position:relative;z-index:1} .contact__heading{font-size:var(--text-4xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-md)} .contact__text{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.7} .contact__links{margin-top:var(--space-lg);display:flex;justify-content:center;gap:var(--space-lg)} .contact__social{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-muted);transition:color var(--transition-fast)} .contact__social:hover{color:var(--accent)} .contact__social svg{width:20px;height:20px} .contact-form{width:100%;max-width:680px;margin:var(--space-lg) auto 0;text-align:left} .contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden} .contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)} .contact-form__field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-md)} .contact-form__label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);letter-spacing:0.02em} .contact-form__required{color:var(--accent);margin-left:2px} .contact-form__input{width:100%;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;box-sizing:border-box} .contact-form__input::placeholder{color:var(--text-muted)} .contact-form__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)} .contact-form__input.is-invalid{border-color:#e05252} .contact-form__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23848494' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer} .contact-form__select option{background:var(--bg-secondary);color:var(--text-primary)} .contact-form__textarea{resize:vertical;min-height:120px} .contact-form__field--consent{margin-top:var(--space-sm)} .contact-form__checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer} .contact-form__checkbox{position:absolute;opacity:0;width:0;height:0} .contact-form__checkbox-custom{flex-shrink:0;width:20px;height:20px;margin-top:2px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);transition:border-color var(--transition-fast),background var(--transition-fast);display:flex;align-items:center;justify-content:center} .contact-form__checkbox:checked+.contact-form__checkbox-custom{background:var(--accent);border-color:var(--accent)} .contact-form__checkbox:checked+.contact-form__checkbox-custom::after{content:'';display:block;width:5px;height:9px;border:2px solid #0D1117;border-top:none;border-left:none;transform:rotate(45deg) translate(-1px,-1px)} .contact-form__checkbox:focus+.contact-form__checkbox-custom{box-shadow:0 0 0 3px var(--accent-glow)} .contact-form__checkbox.is-invalid+.contact-form__checkbox-custom{border-color:#e05252} .contact-form__checkbox-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5} .contact-form__link{color:var(--accent);text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color var(--transition-fast)} .contact-form__link:hover{text-decoration-color:var(--accent)} .contact-form__error{font-size:var(--text-xs);color:#e05252;min-height:1em;display:block} .contact-form__footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg)} .contact-form__submit{position:relative;min-width:240px} .contact-form__submit-loading{display:none;align-items:center;gap:var(--space-sm)} .contact-form__submit.is-loading .contact-form__submit-text{display:none} .contact-form__submit.is-loading .contact-form__submit-loading{display:flex} @keyframes spin{to{transform:rotate(360deg)}} .contact-form__spinner{width:18px;height:18px;animation:spin 0.8s linear infinite} .contact-form__note{font-size:var(--text-xs);color:var(--text-muted);margin:0} .contact-form__success[hidden]{display:none} .contact-form__success{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:rgba(29,158,117,0.08);border:1px solid rgba(29,158,117,0.3);border-radius:var(--radius-md);margin-top:var(--space-lg);animation:fadeInUp 0.4s ease forwards} .contact-form__success-icon{font-size:2.5rem;color:var(--accent)} .contact-form__success-heading{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0} .contact-form__success-text{font-size:var(--text-base);color:var(--text-secondary);margin:0} @keyframes fadeInUp{from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)}} .contact-form__error-banner[hidden]{display:none} .contact-form__error-banner{display:flex;align-items:flex-start;gap:var(--space-sm);padding:14px 16px;background:rgba(224,82,82,0.08);border:1px solid rgba(224,82,82,0.3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:#e05252;margin-top:var(--space-md)} .contact-form__error-banner .material-icons-round{flex-shrink:0;font-size:1.2rem;margin-top:1px} .contact-form__error-banner a{color:inherit;text-decoration:underline} @media (max-width:600px){.contact-form__row{grid-template-columns:1fr}} .footer{padding:var(--space-2xl) 0 0;background:var(--bg-secondary);border-top:1px solid var(--border)} .footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:var(--space-xl);padding-bottom:var(--space-xl)} .footer__col--brand{padding-right:var(--space-lg)} .footer__logo{display:inline-block;margin-bottom:var(--space-md);text-decoration:none} .footer__tagline{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-md)} .footer__company{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-md)} .footer__social{display:flex;gap:var(--space-sm)} .footer__social-link{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)} .footer__social-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)} .footer__heading{font-size:var(--text-xs);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-md)} .footer__links{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)} .footer__link{color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);transition:color var(--transition-fast)} .footer__link:hover{color:var(--accent)} .footer__contact-text{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-md)} .footer__cta{margin-bottom:var(--space-md)} .footer__email{font-size:var(--text-sm)} .footer__bottom{border-top:1px solid var(--border);padding:var(--space-md) 0;display:flex;align-items:center;justify-content:space-between} .footer__admin-link{font-size:var(--text-xs);color:var(--text-muted);opacity:0.5;transition:opacity var(--transition-fast)} .footer__admin-link:hover{opacity:1;color:var(--accent)} .footer__copy{font-size:var(--text-xs);color:var(--text-muted);text-align:center} .footer__legal-link{color:var(--accent)} @media (max-width:1023px){.stats__grid{grid-template-columns:repeat(2,1fr)} .features__grid{grid-template-columns:repeat(2,1fr)}} @media (max-width:767px){:root{--section-padding:80px} .nav__links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--bg-card);flex-direction:column;justify-content:center;align-items:center;gap:var(--space-lg);transition:right var(--transition-base);box-shadow:-10px 0 40px rgba(0,0,0,0.5)} .nav__links.open{right:0} .nav__link{font-size:var(--text-lg)} .nav__hamburger{display:flex} .hero__line{font-size:var(--text-lg)} .logo-text--hero{font-size:var(--text-3xl)} .stats__grid{grid-template-columns:1fr 1fr;gap:var(--space-md)} .stats__number{font-size:var(--text-5xl)} .stats__icon-stat .material-icons-round{font-size:48px} .timeline__items::before{left:20px} .timeline__time{width:44px;font-size:var(--text-xs)} .timeline__icon{width:32px;height:32px} .timeline__icon .material-icons-round{font-size:16px} .how-it-works__steps{flex-direction:column;align-items:center} .how-it-works__step{max-width:320px} .how-it-works__connector{width:2px;height:24px;margin:0} .story__beat{flex-direction:column;gap:var(--space-md)} .features__grid{grid-template-columns:1fr} .team__grid{grid-template-columns:1fr;max-width:360px} .contact__heading{font-size:var(--text-3xl)} .footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-lg)} .footer__col--brand{grid-column:1 / -1;padding-right:0}} @media (max-width:480px){.stats__grid{grid-template-columns:1fr} .hero__line{font-size:var(--text-base)} .logo-text--hero{font-size:var(--text-2xl)}}