/* A compact sentence sits in the dark cavity of the moving marea. */
.hero.hero--story{height:calc(100svh - var(--nav-height) - var(--dock-height));min-height:calc(100svh - var(--nav-height) - var(--dock-height));max-height:none;display:block}
.hero-world{position:absolute;inset:0;z-index:-3;pointer-events:none}
.hero-world .hero-art{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:1}
.marea-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
.marea-ready .marea-canvas{opacity:1}
.hero--story .hero-shade{background:radial-gradient(ellipse 27% 38% at 60% 50%,#03070655 0%,#03070618 65%,transparent 100%),linear-gradient(0deg,#04080730,transparent 20%)}
.hero-layout{position:absolute;left:60%;top:50%;transform:translate(-50%,-50%);z-index:2;width:min(880px,calc(80vw - 64px));margin:0;padding:0}
.hero .hero-content.hero-message{position:relative;display:block;width:100%;max-width:none;min-height:0;margin:0;padding:0;text-align:left}
/* The same soft cavity protects the copy while WebGL loads or is unavailable. */
.hero-message::before{content:"";position:absolute;inset:-62px -66px;z-index:-1;pointer-events:none;border-radius:94px;background:#06090a;filter:blur(26px)}
.marea-ready .hero-message::before{content:none}
.hero .hero-message h1.hero-narrative{display:block;font-size:inherit;font-weight:700;line-height:1.2;letter-spacing:-.025em;max-width:none;margin:0;text-shadow:0 2px 20px #0004}
.hero-copy{display:block}
.hero-premise{display:block;font-size:var(--hero-premise-size,26px);line-height:1.28;color:var(--white);min-height:1.28em;white-space:nowrap}
.narrative-intro,.narrative-role{display:inline;white-space:inherit}
.hero-result{display:block;margin-top:10px;font-size:var(--hero-result-size,min(38px,calc((80vw - 65px) / 22.14)));line-height:1.15;color:var(--lime);min-height:1.15em;letter-spacing:-.025em;white-space:nowrap}
.narrative-bridge{display:inline;white-space:inherit}
.narrative-outcome{display:contents}
.hero-outcome-line{display:inline;white-space:inherit}
/* Words stay whole inside each fitted, single-line sentence. */
.hero-type-word{display:inline-block;white-space:nowrap}
.hero-type-letter{position:relative;visibility:hidden;white-space:inherit}
.hero-type-letter.is-typed{visibility:visible}
.is-typing .hero-type-letter.is-cursor::after{content:"";position:absolute;left:100%;top:.08em;height:.95em;border-left:1.5px solid currentColor;pointer-events:none}
.hero .hero-message .hero-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;width:auto;max-width:none;margin:22px 0 0;gap:0}
.hero--story .hero-actions .button{width:auto;min-height:48px;padding:12px 20px;font-size:13px;box-shadow:none}
.motion-paused .hero-type-letter{visibility:visible}
.motion-paused .hero-type-letter.is-cursor::after{content:none}
@media(max-width:900px){
 .hero-layout{left:50%;top:53%;width:calc(100% - 24px)}
 .hero-message::before{inset:-54px -52px;border-radius:82px;filter:blur(23px)}
 .hero--story .hero-shade{background:radial-gradient(ellipse 65% 36% at 50% 53%,#03070670 0%,#03070628 68%,transparent 100%)}
 .hero-premise{font-size:var(--hero-premise-size,min(22px,calc((100vw - 25px) / 22.68)))}
 .hero-result{font-size:var(--hero-result-size,min(32px,calc((100vw - 25px) / 22.14)))}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:560px){
 .hero-layout{top:50%}
 .hero-premise{font-size:var(--hero-premise-size,min(20px,calc((100vw - 25px) / 22.68)))}
 .hero-result{margin-top:6px;font-size:var(--hero-result-size,min(26px,calc((100vw - 25px) / 22.14)))}
 .hero .hero-message .hero-actions{margin-top:12px}
 .hero--story .hero-actions .button{min-height:48px;padding:10px 16px;font-size:12px}
}
@media(max-aspect-ratio:13/20){.hero-world .hero-art{object-position:45% center}}
@media(prefers-reduced-motion:reduce){
 .hero-type-letter{visibility:visible}
 .hero-type-letter.is-cursor::after{content:none}
}
