/* A clear, empty character slot and readable type. Motion lives in the controller. */
.character-stage{width:100%;aspect-ratio:1;min-width:0;align-self:center}
.hero-label,.eyebrow,.mono,.hero-description,.hero-facts,.launch-caption,
.section-intro,.feature p,.cinema-panel p,.plan-purpose,.price-term,.per-month>span,
.pricing-notes,.steps p,.journey-intro,.access-explainer p,.faq-list p,
.footer-main>p,.footer-main>div,.footer-bottom,.scene-disclaimer{font-weight:600}
.hero-description,.feature p,.cinema-panel p,.steps p,.faq-list p{line-height:1.8}
.hero-label,.cinema-heading .eyebrow{font-size:11px}
.launch-caption,.pricing-notes,.footer-bottom{font-size:12px}
.cinema-index,.plan-heading .mono,.feature-index{font-size:11px}
.hero-bottom{font-size:11px;font-weight:600}.spec-grid small{font-weight:600}
.scene-disclaimer{font-size:10px}.cinema-footer .mono{font-size:10px}
.motion-enabled :is(h1,h2,h3){transform-origin:0 70%}
.faq-list details[open] p{animation:answer-arrive .5s cubic-bezier(.16,1,.3,1)}
@keyframes answer-arrive{from{opacity:.2;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:760px){.character-stage{aspect-ratio:1.5;margin-block:8px 12px;min-height:190px}.hero-label,.cinema-heading .eyebrow{font-size:10px}.hero-description,.feature p,.cinema-panel p,.steps p,.faq-list p{font-size:14px}.hero-bottom{font-size:9px}.hero-bottom>span{max-width:175px}.launch-caption,.pricing-notes{font-size:12px}.cinema-footer .mono,.scene-disclaimer{font-size:9px}.section-heading .eyebrow{font-size:11px}}
@media(max-width:370px){.hero-label{gap:8px;letter-spacing:.09em}.hero-bottom{font-size:8px}.hero-bottom>span{max-width:130px}.hero-description{font-size:14px}.plan-purpose{font-size:12px}.price-term{font-size:11px}.cinema-footer .mono{font-size:8px}.scene-disclaimer{font-size:9px}}
@media(prefers-reduced-motion:reduce){.faq-list details[open] p{animation:none}}
