body.mockup-home{background:#000}body.mockup-home main{padding-top:0}.mockup-root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-reveal: cubic-bezier(.23, 1, .32, 1)}.mockup-root .hero-eyebrow,.mockup-root .hero-sub,.mockup-root .hero-cta{opacity:0;transform:translateY(16px);animation:heroFadeIn 1.2s var(--ease-out-expo) forwards}.mockup-root .hero-sub{animation-delay:.45s}.mockup-root .hero-cta{animation-delay:.75s;animation-duration:1.4s}@keyframes heroFadeIn{to{opacity:1;transform:translateY(0)}}.mockup-root .chapter-video{animation:subtleZoom 40s ease-in-out infinite;will-change:transform}@keyframes subtleZoom{0%{transform:scale(1.1)}50%{transform:scale(1.18)}to{transform:scale(1.1)}}.mockup-root .reveal{opacity:0;transform:translateY(12px);transition:opacity .32s var(--ease-reveal),transform .32s var(--ease-reveal)}.mockup-root .reveal.is-visible{opacity:1;transform:translateY(0)}.mockup-root .hero-title .word,.mockup-root .reveal-words .word{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .32s var(--ease-reveal),transform .32s var(--ease-reveal)}.mockup-root .hero-title.is-visible .word,.mockup-root .reveal-words.is-visible .word{opacity:1;transform:translateY(0)}.mockup-root .video-clip{clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-reveal)}.mockup-root .video-reveal.is-visible .video-clip{clip-path:inset(0 0 0 0)}@media(prefers-reduced-motion:reduce){.mockup-root .chapter-video{animation:none!important;transform:none!important}.mockup-root .hero-eyebrow,.mockup-root .hero-sub,.mockup-root .hero-cta,.mockup-root .reveal,.mockup-root .hero-title .word,.mockup-root .reveal-words .word{transform:none!important;translate:none!important;animation:reducedMotionFadeIn .15s ease-out forwards!important;transition:opacity .15s ease-out!important}.mockup-root .video-clip{clip-path:none!important;transition:none!important}@keyframes reducedMotionFadeIn{0%{opacity:0}to{opacity:1}}.mockup-root .hero video,.mockup-root .chapter-video{display:none!important}.mockup-root .video-poster-img{display:block!important}}.mockup-root .lamp-glow,.mockup-root .lamp-bulb{transform-origin:center;animation:lampPulse 3.6s ease-in-out infinite;animation-delay:var(--d, 0s)}@keyframes lampPulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}.mockup-root .cap-dimmer-fill{animation:dimmerFill 7s ease-in-out infinite;width:47%}@keyframes dimmerFill{0%{width:8%}30%{width:80%}60%{width:47%}to{width:8%}}.mockup-root .sun-dot{animation:sunArcClimate 14s ease-in-out infinite}@keyframes sunArcClimate{0%{transform:translate(20px,70px)}25%{transform:translate(130px,40px)}50%{transform:translate(240px,30px)}75%{transform:translate(350px,40px)}to{transform:translate(460px,70px)}}.mockup-root .therm-fill{transform-origin:bottom;animation:thermoFill 14s ease-in-out infinite}@keyframes thermoFill{0%,to{transform:scaleY(.35)}50%{transform:scaleY(.92)}}.mockup-root .therm-bulb{animation:thermoBulb 14s ease-in-out infinite}@keyframes thermoBulb{0%,to{fill:#93c5fd}50%{fill:#ef4444}}.mockup-root .cap-wave-bar{width:14px;background:linear-gradient(to top,var(--color-cyan, #06b6d4),#67e8f9);border-radius:4px 4px 0 0;height:var(--h);transform-origin:bottom;animation:waveBar 1.2s ease-in-out infinite;animation-delay:var(--d, 0s)}@keyframes waveBar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.mockup-root .cap-zone-dot{transition:all .4s}.mockup-root .cap-zone[data-zone="1"] .cap-zone-dot,.mockup-root .cap-zone[data-zone="2"] .cap-zone-dot,.mockup-root .cap-zone[data-zone="3"] .cap-zone-dot,.mockup-root .cap-zone[data-zone="4"] .cap-zone-dot,.mockup-root .cap-zone[data-zone="5"] .cap-zone-dot,.mockup-root .cap-zone[data-zone="6"] .cap-zone-dot{animation:zoneActive 12s steps(6,end) infinite}.mockup-root .cap-zone[data-zone="1"] .cap-zone-dot{animation-delay:0s}.mockup-root .cap-zone[data-zone="2"] .cap-zone-dot{animation-delay:-2s}.mockup-root .cap-zone[data-zone="3"] .cap-zone-dot{animation-delay:-4s}.mockup-root .cap-zone[data-zone="4"] .cap-zone-dot{animation-delay:-6s}.mockup-root .cap-zone[data-zone="5"] .cap-zone-dot{animation-delay:-8s}.mockup-root .cap-zone[data-zone="6"] .cap-zone-dot{animation-delay:-10s}@keyframes zoneActive{0%{background:var(--color-cyan, #06b6d4);box-shadow:0 0 12px #08b4d8cc}16%{background:#fff3;box-shadow:none}to{background:#fff3;box-shadow:none}}.mockup-root .shading-sun{animation:sunArcShading 12s ease-in-out infinite}@keyframes sunArcShading{0%{transform:translate(60px,80px)}25%{transform:translate(150px,42.5px)}50%{transform:translate(240px,30px)}75%{transform:translate(330px,42.5px)}to{transform:translate(420px,80px)}}.mockup-root .shading-shade{transform-origin:top;animation:shadeMove 12s ease-in-out infinite}@keyframes shadeMove{0%,to{transform:scaleY(1)}50%{transform:scaleY(.05)}}.mockup-root .cap-shade-pct{animation:shadePct 12s ease-in-out infinite}@keyframes shadePct{0%,to{color:#fff}50%{color:#06b6d4}}.mockup-root .keypad-led{transform-box:fill-box;animation:keypadLed 8s ease-in-out infinite}@keyframes keypadLed{0%,30%{fill:#fb7185;filter:none}36%{fill:#fbbf24;filter:drop-shadow(0 0 6px #fbbf24)}45%,50%{fill:#fbbf24;filter:drop-shadow(0 0 8px #fbbf24)}58%,80%{fill:#22c55e;filter:drop-shadow(0 0 10px #22c55e)}90%,to{fill:#fb7185;filter:none}}.mockup-root .key-fob{animation:fobJourney 8s ease-in-out infinite;opacity:0}@keyframes fobJourney{0%,8%{transform:translate(240px,290px);opacity:0}18%{transform:translate(240px,260px);opacity:1}40%,55%{transform:translate(240px,210px);opacity:1}78%{transform:translate(240px,260px);opacity:1}90%,to{transform:translate(240px,290px);opacity:0}}.mockup-root .nfc-waves{animation:nfcVisible 8s ease-in-out infinite;opacity:0}@keyframes nfcVisible{0%,38%{opacity:0}42%,56%{opacity:1}60%,to{opacity:0}}.mockup-root .nfc-wave{transform-origin:center;transform-box:fill-box;animation:nfcRipple 1.4s ease-out infinite;animation-delay:var(--dl, 0s)}@keyframes nfcRipple{0%{opacity:.85;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}.mockup-root .access-granted{animation:accessGranted 8s ease-in-out infinite;opacity:0}@keyframes accessGranted{0%,50%{opacity:0}60%,80%{opacity:1}90%,to{opacity:0}}.mockup-root .security-status{animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{box-shadow:0 0 #08b4d899}50%{box-shadow:0 0 0 8px #08b4d800}}.mockup-root .net-hub-glow{transform-origin:center;animation:hubGlow 3s ease-in-out infinite}@keyframes hubGlow{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.15);opacity:1}}.mockup-root .net-hub{animation:hubRotate 12s linear infinite;transform-origin:240px 140px}@keyframes hubRotate{to{stroke-dashoffset:-88}}.mockup-root .net-hub{stroke-dasharray:4 6}.mockup-root .cap-signal-bar{animation:signalRise 1.4s ease-in-out infinite;animation-delay:var(--d, 0s);transform-origin:bottom}@keyframes signalRise{0%,to{transform:scaleY(.6);opacity:.6}50%{transform:scaleY(1);opacity:1}}@media(prefers-reduced-motion:reduce){.mockup-root .lamp-glow,.mockup-root .lamp-bulb,.mockup-root .cap-dimmer-fill,.mockup-root .sun-dot,.mockup-root .therm-fill,.mockup-root .therm-bulb,.mockup-root .cap-temp-num,.mockup-root .cap-wave-bar,.mockup-root .cap-zone-dot,.mockup-root .shading-sun,.mockup-root .shading-shade,.mockup-root .cap-shade-pct,.mockup-root .keypad-led,.mockup-root .key-fob,.mockup-root .nfc-waves,.mockup-root .nfc-wave,.mockup-root .access-granted,.mockup-root .security-status,.mockup-root .net-hub-glow,.mockup-root .net-hub,.mockup-root .cap-signal-bar{animation:none!important}}
