/* One illustrative search, then a lasting question. The existing Onda scene
   carries the circular composition into the next section's brand punctuation. */
.hero-demo-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#hero .hero__aperture{background:transparent;border-radius:0;overflow:visible;isolation:isolate}
.hero-ai-disc{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 20%,#2545AC 0%,#102969 45%,#0B1F5C 75%);box-shadow:inset 0 0 0 1px #6F8CFF55}
.hero-ai-disc::before,.hero-ai-disc::after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px solid #6F8CFF33}
.hero-ai-disc::after{inset:25%}
.hero-ai-demo{position:absolute;inset:11% -7% 5%;display:block}
.hero-ai-window{position:relative;display:block;width:100%;height:100%;border:1px solid #8DA4FF66;border-radius:20px;background:#101522;box-shadow:0 24px 65px #0007;overflow:hidden;font-family:var(--font-2);font-size:14px;line-height:1.4;letter-spacing:0;white-space:normal;text-align:left;color:var(--cream);transform-origin:50% 65%;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .4s}
.hero-ai-bar{display:flex;align-items:center;gap:13px;height:40px;padding:0 18px;border-bottom:1px solid #8DA4FF26;font-size:11px;color:#D3DBED;background:#1A2233}
.hero-ai-controls{display:flex;gap:5px}.hero-ai-controls i{display:block;width:6px;height:6px;background:#6F8CFF;border-radius:50%}.hero-ai-controls i:first-child{background:var(--spark)}.hero-ai-controls i:last-child{background:#80909F}
.hero-ai-status{margin-left:auto;font-size:8px;letter-spacing:.1em;color:#A9B8D2}
.hero-ai-conversation{display:block;padding:18px 20px 32px;transition:transform .65s,filter .65s,opacity .65s}
.hero-ai-prompt-label,.hero-ai-answer-label{display:block;font-size:8px;letter-spacing:.1em;color:#AABEFF;margin-bottom:8px}
.hero-ai-prompt{display:block;min-height:67px;background:#203A89;border:1px solid #6F8CFF44;border-radius:12px 12px 3px 12px;padding:12px 14px;font-size:clamp(12px,1.1vw,17px);line-height:1.4}
.hero-ai-caret{display:none;width:1px;height:1em;margin-left:2px;vertical-align:-.1em;background:#D4DEFF}
.hero-ai-results{display:block;margin-top:16px;transition:opacity .5s,transform .5s}
.hero-ai-result{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #AABEFF22;font-size:12px;line-height:1.3;transition:opacity .5s,transform .5s}
.hero-ai-result>span:nth-child(2){min-width:0}.hero-ai-result b{display:block;font-size:12px;font-weight:600}.hero-ai-result small{display:block;margin-top:3px;font-size:9px;line-height:1.35;color:#AAB3C6}
.hero-ai-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border:1px solid #6F8CFF88;border-radius:50%;color:#AABEFF;font-size:10px}
.hero-ai-result-arrow{margin-left:auto;color:#AABEFF}
.hero-ai-final{position:absolute;inset:40px 0 23px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:18px;background:#101522F2;opacity:1;transform:scale(1);transition:opacity .6s,transform .7s cubic-bezier(.16,1,.3,1)}
.hero-ai-final>b{font-family:var(--font-1);font-size:clamp(30px,3.05vw,47px);font-weight:650;line-height:1;letter-spacing:-.04em}
.hero-ai-final>span:last-child{font-size:10px;line-height:1.4;color:#B6C4E2;max-width:75%}
.hero-ai-question{display:flex;justify-content:center;align-items:center;width:48px;height:48px;border:1px solid #FF7A3D88;border-radius:50%;font-family:var(--font-1);font-size:32px;color:var(--spark)}
.hero-ai-disclaimer{position:absolute;bottom:0;left:0;right:0;display:block;height:23px;text-align:center;font-size:8px;line-height:23px;letter-spacing:.01em;color:#B0BBCF;border-top:1px solid #8DA4FF22;background:#141C2C}
.hero-ai-window[data-demo-phase="ready"]{opacity:0;transform:translateY(15px) scale(.92)}
.hero-ai-window:is([data-demo-phase="ready"],[data-demo-phase="typing"]) .hero-ai-results{opacity:0;transform:translateY(12px)}
.hero-ai-window:not([data-demo-phase="done"]) .hero-ai-final{opacity:0;transform:scale(.86);pointer-events:none}
.hero-ai-window[data-demo-phase="typing"] .hero-ai-caret{display:inline-block;animation:hero-ai-cursor .8s steps(1) infinite}
.hero-ai-window[data-demo-phase="results"] .hero-ai-result{animation:hero-ai-answer .6s both}
.hero-ai-window[data-demo-phase="results"] .hero-ai-result:nth-child(3){animation-delay:.15s}.hero-ai-window[data-demo-phase="results"] .hero-ai-result:nth-child(4){animation-delay:.3s}
.hero-ai-window:is([data-demo-phase="focus"],[data-demo-phase="done"]) .hero-ai-conversation{transform:scale(1.09);filter:blur(2px);opacity:.18}
@keyframes hero-ai-cursor{50%{opacity:0}}
@keyframes hero-ai-answer{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
#hero .hero__tint{inset:0;display:block;background:var(--geoad-symbol) center/contain no-repeat;mix-blend-mode:normal;border-radius:0;pointer-events:none}
[data-8b-live] #hero .hero-ai-demo{animation-name:hero-ai-retire;animation-timeline:--hero-t1;animation-range:cover calc(100% - 100vh) cover calc(100% - 70vh);animation-timing-function:ease;animation-fill-mode:both}
[data-8b-live] #hero .hero-ai-disc{animation-name:hero-ai-disc-clear;animation-timeline:--hero-t1;animation-range:cover calc(100% - 72vh) cover calc(100% - 30vh);animation-timing-function:linear;animation-fill-mode:both}
@keyframes hero-ai-retire{from{opacity:1}to{opacity:0}}
@keyframes hero-ai-disc-clear{from{opacity:1}to{opacity:0}}
@media(max-width:899px){.hero-ai-demo{inset:5% -7% -1%}.hero-ai-window{border-radius:17px}.hero-ai-prompt{font-size:13px}.hero-ai-final>b{font-size:34px}}
@media(max-width:480px){
 #hero{min-height:1080px}
 #hero .hero__stage{--ap:80vw;top:calc(66% - var(--ap)/2)}
 .hero-ai-demo{inset:-2% -3% -3%}
 .hero-ai-window{border-radius:16px}
 .hero-ai-bar{height:33px;padding:0 12px;font-size:10px;gap:9px}
 .hero-ai-conversation{padding:13px 12px 27px}
 .hero-ai-prompt-label,.hero-ai-answer-label{font-size:7px;margin-bottom:6px}
 .hero-ai-prompt{font-size:11px;min-height:64px;padding:10px}
 .hero-ai-results{margin-top:10px}.hero-ai-result{padding:6px 0;gap:7px}
 .hero-ai-result b{font-size:10px}.hero-ai-result small{font-size:8px}
 .hero-ai-avatar{width:23px;height:23px}
 .hero-ai-final{inset:33px 0 21px;gap:12px;padding:15px}
 .hero-ai-final>b{font-size:31px}.hero-ai-final>span:last-child{font-size:9px}
 .hero-ai-question{width:40px;height:40px;font-size:29px}
 .hero-ai-disclaimer{height:21px;line-height:21px;font-size:7px}
}

#hero .hero__period::before{z-index:6}.hero-ai-demo{left:0;right:0}@media(max-width:480px){.hero-ai-demo{left:-3%;right:-3%}.hero-ai-result small{display:none}.hero-ai-result{padding:5px 0}.hero-ai-prompt{min-height:56px}.hero-ai-demo{top:-5%;bottom:-5%}}
.hero-ai-window{font-weight:400}.hero-ai-prompt{font-weight:500}@media(min-width:900px){.hero-ai-result{padding:7px 0}.hero-ai-result b{font-size:13px}.hero-ai-result small{font-size:10px}}

/* AI marks travel with the orbit; their axes stay upright. */
#hero .hero__orbit{z-index:3}
#hero .hero__moon{background:none!important;display:flex;align-items:center;justify-content:center}
#hero .hero-orbit-ai{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
#hero .hero-orbit-ai[hidden]{display:none}
.hero-ai-final>span.hero-ai-conclusion{display:grid;gap:4px;font-size:12px;line-height:1.4;max-width:none;flex-shrink:0;color:#B6C4E2}
.hero-ai-conclusion>span{display:block;font:inherit;white-space:nowrap}
@media(max-width:480px){.hero-ai-final>span.hero-ai-conclusion{font-size:11px}}

#hero .hero-orbit-ai[data-brand-color]{filter:none}

/* Reveal the actual brand during the first half of the existing travel.
   Both layers share a linear crossfade; the symbol is complete by 43%.
   Position, shrinking, final punctuation and orbit geometry stay unchanged. */
[data-8b-live] #hero .hero-ai-disc,
[data-8b-live] #hero .hero__tint{
 animation-range:cover calc(100% - 100vh) cover calc(100% - 70vh);
 animation-timing-function:linear;
}
