/* Phase 7 custom animated hero illustration. */
.hero-tech-visual{isolation:isolate;border:1px solid rgba(232,176,75,.26);background:#0C2A33}
.hero-tech-visual::before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;box-shadow:inset 0 0 70px rgba(7,26,32,.5);pointer-events:none}
.hero-tech-visual::after{z-index:3;background:linear-gradient(180deg,rgba(7,26,32,0) 55%,rgba(7,26,32,.3) 100%),linear-gradient(125deg,rgba(245,215,154,.06),transparent 42%);pointer-events:none}
.hero-tech-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-orbit{transform-origin:215px 278px;animation:hero-orbit 30s linear infinite}
.hero-circuit path{stroke:#E8B04B;stroke-opacity:.28;stroke-width:1.5}
.hero-circuit .hero-flow{stroke:url(#heroGold);stroke-opacity:.8;stroke-width:2;stroke-dasharray:8 13;animation:hero-flow 4.8s linear infinite}
.hero-flow-two,.hero-flow-four{animation-direction:reverse!important}
.hero-flow-three{animation-delay:-1.7s!important}.hero-flow-four{animation-delay:-3.1s!important}
.hero-node{fill:#F5D79A;filter:drop-shadow(0 0 6px rgba(232,176,75,.65))}
.hero-node-ring{fill:none;stroke:#E8B04B;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:hero-node-pulse 3.2s ease-out infinite}
.hero-node-two .hero-node-ring{animation-delay:-.8s}.hero-node-three .hero-node-ring{animation-delay:-1.6s}.hero-node-four .hero-node-ring{animation-delay:-2.4s}
.hero-device{transform-origin:215px 305px;animation:hero-device-float 6.5s ease-in-out infinite}
.hero-device-shadow{fill:#020C10;opacity:.5;transform:translateY(8px)}
.hero-device-frame{fill:#0A232B;stroke:url(#heroGold);stroke-width:2.2}
.hero-device-screen{fill:#071A20;stroke:#B8C9CD;stroke-opacity:.2;stroke-width:1}
.hero-device-base{fill:none;stroke:#E8B04B;stroke-opacity:.65;stroke-width:2;stroke-linecap:round}
.hero-camera{fill:#E8B04B;opacity:.75}
.hero-logo-mark{fill:none;stroke:url(#heroGold);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;animation:hero-logo-glow 4s ease-in-out infinite}
.hero-screen-lines path{fill:none;stroke:#B8C9CD;stroke-opacity:.28;stroke-width:2;stroke-linecap:round}
.hero-screen-dot{fill:#E8B04B;opacity:.5;animation:hero-dot 2.8s ease-in-out infinite}
.hero-screen-dot-two{animation-delay:-.7s}.hero-screen-dot-three{animation-delay:-1.4s}.hero-screen-dot-four{animation-delay:-2.1s}
.hero-scan{fill:#F5D79A;opacity:.65;filter:drop-shadow(0 0 7px rgba(245,215,154,.8));animation:hero-scan 5s ease-in-out infinite}
.hero-check circle{fill:#0C2A33;stroke:#E8B04B;stroke-width:2}.hero-check path{fill:none;stroke:#F5D79A;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.hero-check{transform-origin:319px 132px;animation:hero-check-pulse 4.2s ease-in-out infinite}
.hero-wifi path,.hero-wifi circle{stroke:#F5D79A;stroke-width:2;opacity:.65}.hero-wifi circle{fill:#F5D79A}
.hero-visual-status{position:absolute;z-index:5;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(232,176,75,.35);border-radius:2px;background:rgba(7,26,32,.88);box-shadow:0 14px 30px -20px rgba(0,0,0,.9);backdrop-filter:blur(8px);color:var(--gold-soft);font-family:'Sora',system-ui,sans-serif;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.hero-visual-status i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(232,176,75,.13);animation:hero-status-pulse 2.8s ease-in-out infinite}
.hero-visual-status-top{left:7%;top:22%;animation:hero-chip-float 6s ease-in-out infinite}
.hero-visual-status-bottom{right:6%;bottom:12%;animation:hero-chip-float 6s -3s ease-in-out infinite}
@keyframes hero-orbit{to{transform:rotate(360deg)}}
@keyframes hero-flow{to{stroke-dashoffset:-42}}
@keyframes hero-node-pulse{0%{opacity:.9;transform:scale(.65)}70%,100%{opacity:0;transform:scale(1.55)}}
@keyframes hero-device-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hero-logo-glow{0%,100%{opacity:.86}50%{opacity:1}}
@keyframes hero-dot{0%,100%{opacity:.32}50%{opacity:1}}
@keyframes hero-scan{0%,12%{transform:translateY(0);opacity:0}22%{opacity:.7}72%{opacity:.7}84%,100%{transform:translateY(176px);opacity:0}}
@keyframes hero-check-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes hero-status-pulse{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@keyframes hero-chip-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:640px){.hero-visual-status{padding:7px 9px;font-size:7.5px}.hero-visual-status-top{left:5%;top:19%}.hero-visual-status-bottom{display:none}}
@media(prefers-reduced-motion:reduce){.hero-orbit,.hero-circuit .hero-flow,.hero-node-ring,.hero-device,.hero-logo-mark,.hero-screen-dot,.hero-scan,.hero-check,.hero-visual-status,.hero-visual-status i{animation:none}.hero-scan{opacity:.28;transform:translateY(88px)}}
