/* Immersive Jarvis opening. The graph is an illustrative animation, not live data. */
.site-header{position:absolute;inset:0 0 auto;height:88px;z-index:20;border-bottom-color:rgba(159,199,214,.09);background:linear-gradient(#061522bb,transparent)}
.hero.hero-immersive{width:100%;min-height:760px;min-height:max(760px,100svh);padding:110px 24px 66px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 44%,#092b3b50,transparent 57%)}
.hero-kicker{font-size:12px;letter-spacing:3px;line-height:1.5;color:#8cb4c2;margin-bottom:8px;z-index:2}
.jarvis-stage{position:relative;flex:none;width:min(54svh,570px,83vw);aspect-ratio:1;margin:8px auto 10px}
.jarvis-brain{position:absolute;width:150%;max-width:none;height:100%;left:-25%;top:0;object-fit:contain;mix-blend-mode:screen;opacity:.84;mask-image:radial-gradient(ellipse 51% 59% at center,#000 40%,transparent 90%);animation:brain-breathe 7s ease-in-out infinite}
.jarvis-orbits{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit-guide{stroke:#43c8e8;stroke-width:.6;opacity:.25}
.rotor{transform-origin:300px 300px}
.rotor-outer{animation:orbit-clockwise 32s linear infinite}
.rotor-middle{animation:orbit-counterclockwise 24s linear infinite}
.rotor-inner{animation:orbit-clockwise 41s linear infinite}
.orbit-arc{stroke:#39dcee;stroke-linecap:round}
.outer-arc{stroke-width:1.7;stroke-dasharray:185 360 60 450 120 553;filter:drop-shadow(0 0 5px #33dfffa0)}
.middle-arc{stroke-width:2.2;stroke-dasharray:290 450 160 640;opacity:.9;filter:drop-shadow(0 0 4px #4be8ff90)}
.inner-arc{stroke-width:1;stroke-dasharray:12 16;opacity:.38}
.orbit-ticks{stroke:#6cdeea;stroke-width:2;opacity:.6}
.orbit-dot{fill:#adf6ff;filter:drop-shadow(0 0 6px #5ce9ff)}
.graph-trace{stroke:#8beeff;stroke-width:1.4;stroke-dasharray:12 195;animation:graph-travel 9s linear infinite;opacity:.8;filter:drop-shadow(0 0 3px #63e9ff)}
.trace-reverse{animation-duration:11s;animation-direction:reverse;stroke-dashoffset:100;opacity:.65}
.graph-node{fill:#a0f4ff;animation:node-light 5s ease-in-out infinite;filter:drop-shadow(0 0 5px #5ce9ff)}
.node-late{animation-delay:-1.7s}.node-later{animation-delay:-3.4s}
.jarvis-wordmark{position:absolute;left:12%;right:12%;top:50%;transform:translateY(-50%);font-size:clamp(1.4rem,3.5vw,2.55rem);font-weight:400;letter-spacing:.2em;color:#c3f9ff;text-shadow:0 0 22px #36d9ff90;padding:40px 10px;background:radial-gradient(ellipse,#061522e6,transparent 71%);line-height:1.1;white-space:nowrap}
.jarvis-wordmark span{display:block;font-size:9px;letter-spacing:2.4px;color:#74b5c6;margin-top:16px;text-shadow:none}
.hero-bottom{z-index:2}.hero.hero-immersive h1{font-size:clamp(2.6rem,4vw,3.6rem);letter-spacing:-.04em;line-height:1.1;margin:0 0 13px}.hero-bottom>p{font-size:15px;color:#a5beca;line-height:1.7}.mobile-break{display:none}
.hero-scroll{display:inline-flex;align-items:center;gap:12px;margin-top:25px;font-size:12px;letter-spacing:.4px;padding:9px 12px;color:#c5dde5}.hero-scroll span{color:var(--cyan);font-size:20px;line-height:1}.hero-scroll:hover{color:var(--cyan)}
.motion-toggle{position:absolute;right:33px;bottom:25px;appearance:none;border:1px solid #395869;background:#071a28a0;border-radius:3px;color:#a2bfcc;display:flex;align-items:center;gap:9px;font-size:12px;padding:9px 12px;cursor:pointer;z-index:3}.motion-toggle:hover{color:var(--ink);border-color:#68b9ca}.motion-icon{font-size:14px;min-width:13px}
.hero-immersive[data-motion=paused] .animated{animation-play-state:paused}
.introduction{padding:105px 0 65px;display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}
.introduction .eyebrow{font-size:11px;letter-spacing:1.7px;margin-bottom:24px}.intro-copy>p:first-child{font-size:18px;line-height:1.8;color:#c5d6df}.intro-copy .intro-notice{font-size:14px;line-height:1.8;margin-top:21px;padding-left:18px;border-left:1px solid #437280;color:#92b0be}.intro-copy .text-link{display:inline-block;margin-top:20px}
@keyframes orbit-clockwise{to{transform:rotate(360deg)}}
@keyframes orbit-counterclockwise{to{transform:rotate(-360deg)}}
@keyframes brain-breathe{0%,100%{opacity:.65;transform:scale(.985)}50%{opacity:.94;transform:scale(1.012)}}
@keyframes graph-travel{to{stroke-dashoffset:-621}}
@keyframes node-light{0%,100%{opacity:.3}45%,60%{opacity:1}}
@media(max-width:1100px){.introduction{gap:55px}.jarvis-stage{width:min(53svh,570px,83vw)}}
@media(max-width:760px){.site-header{height:80px}.hero.hero-immersive{min-height:680px;min-height:max(680px,100svh);padding:105px 20px 72px;justify-content:center}.hero-kicker{font-size:10px;letter-spacing:2px;margin:0 0 20px}.jarvis-stage{width:min(83vw,max(220px,calc(100svh - 455px)),490px);margin:0 auto 24px}.jarvis-wordmark{font-size:clamp(1.25rem,5vw,2rem);letter-spacing:.15em;padding:30px 4px}.jarvis-wordmark span{font-size:7px;letter-spacing:1.6px;margin-top:12px}.hero.hero-immersive h1{font-size:clamp(2.4rem,9vw,3.2rem);margin-bottom:14px}.hero-bottom>p{font-size:14px;max-width:300px;margin:auto}.hero-scroll{margin-top:21px;font-size:12px}.motion-toggle{right:50%;transform:translateX(50%);bottom:19px;font-size:11px;white-space:nowrap;padding:7px 10px;border-color:#2c4a5a}.introduction{padding-top:65px;padding-bottom:40px;grid-template-columns:1fr;gap:29px}.introduction .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:18px}.intro-copy>p:first-child{font-size:16px}.intro-copy .intro-notice{font-size:13px}.mobile-break{display:block}}
@media(max-height:700px) and (min-width:761px){.hero.hero-immersive{min-height:700px;padding-top:100px}.jarvis-stage{width:365px}.hero-kicker{margin-bottom:0}.hero.hero-immersive h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.hero-immersive .animated{animation:none!important}}


/* Small controls keep a comfortable touch target without competing with Jarvis. */
.motion-toggle{min-height:44px;font-size:13px;padding:10px 14px;transition:color 160ms ease,border-color 160ms ease}
.motion-toggle:active{border-color:var(--cyan);color:var(--ink)}
.motion-toggle:disabled{border-color:var(--line);color:var(--muted)}
.hero-scroll{min-height:44px;font-size:14px}
.hero-bottom>p{font-size:16px}
.intro-copy .intro-notice{font-size:15px;color:var(--muted)}
@media(hover:none),(pointer:coarse){
 .motion-toggle:hover{color:#a2bfcc;border-color:#395869}
 .hero-scroll:hover{color:#c5dde5}
}
@media(max-width:760px){
 .hero.hero-immersive{padding-bottom:88px}
 .hero-kicker{font-size:11px}
 .motion-toggle{bottom:20px;font-size:12px}
 .hero-scroll{margin-top:16px}
 .hero-bottom>p{font-size:15px}
 .jarvis-wordmark span{font-size:8px;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){
 .motion-toggle{transition:none}
}

/* NOVA: larger focal scene, same restrained motion and reduced-motion support. */
.hero.hero-immersive{padding-top:94px;padding-bottom:68px}
.jarvis-stage{width:min(68svh,780px,92vw);margin:0 auto 8px}
.jarvis-wordmark{font-size:clamp(2.8rem,5vw,4.1rem);letter-spacing:.32em;padding-left:.32em;font-weight:300}
.jarvis-wordmark span{font-size:10px;letter-spacing:2px;padding-right:.32em}
.brand{gap:13px}
.brand-symbol{width:51px;height:51px;flex-shrink:0;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.symbol-orbit{stroke:var(--cyan);stroke-width:1.6}
.symbol-m{stroke:var(--ink);stroke-width:2.8}
.symbol-node{fill:var(--cyan)}
.brand-type{font-size:25px;letter-spacing:-.9px;font-weight:400}
.brand-os{font-size:1.05em;font-weight:750;color:var(--cyan);letter-spacing:-1.8px;margin-left:1px}
.brand small{font-size:9px;letter-spacing:3.6px;margin-top:5px}
.footer-brand{display:inline-flex;align-items:center;gap:11px}
.footer-brand .brand-symbol{width:38px;height:38px}
.footer-brand .brand-type{font-size:22px;color:var(--ink)}
@media(max-width:760px){
 .hero.hero-immersive{padding:96px 16px 88px}
 .jarvis-stage{width:min(92vw,540px);margin:0 auto 8px}
 .jarvis-wordmark{font-size:clamp(2.25rem,10vw,3.5rem);letter-spacing:.28em}
 .jarvis-wordmark span{font-size:8px;letter-spacing:1.5px}
 .brand{gap:9px}.brand-symbol{width:41px;height:41px}.brand-type{font-size:21px}.brand small{font-size:8px;letter-spacing:3px}
}
@media(max-width:360px){.brand-type{font-size:19px}.brand-symbol{width:36px;height:36px}.nav-wrap{width:calc(100% - 30px)}}
