/* C05: bounded outer-interface finishing. Story geometry is unchanged. */
.intro h1 .hero-premise{display:block;max-width:15ch}
.intro h1 .hero-payoff{display:block;margin-top:.18em;color:#b8d4c2;font-weight:550;font-style:normal}
.intro .eyebrow{max-width:100%;line-height:1.6}
.purchase-includes-toggle{gap:16px}
.purchase-includes-toggle span{flex:none}
.purchase-widget .purchase-cta,.continuity-widgets .after-action{border-radius:10px}
.purchase-includes-toggle:focus-visible,.purchase-widget button:focus-visible,.continuity-widgets button:focus-visible{outline:2px solid #b8d4c2;outline-offset:4px}
.purchase-widget button,.continuity-widgets button,.faq-row button,.chapter-footer a{scroll-margin-block:100px}
.continuity-widgets .after-terms{font-size:12px;line-height:1.6}
.continuity-widgets .after-status{font-size:13px}
/* Native dialogs retain their prototype flow; controls use the established family. */
#offer-dialog,#after-dialog,#faq-dialog{border-radius:16px;border-color:#36534c}
#offer-dialog input{border-radius:8px;min-height:46px}
#offer-dialog input:focus-visible{outline:2px solid #b8d4c2;outline-offset:3px;border-color:#b8d4c2}
#offer-dialog input:user-invalid{border-color:#e5aa90}
#offer-dialog .dialog-close,#after-dialog .dialog-close,.faq-close{min-width:44px;min-height:44px;border-radius:50%}
#offer-dialog .button,#after-dialog .button{border-radius:10px}
#offer-dialog .prototype-note,#after-dialog .prototype-note{font-size:11px;line-height:1.65}
#after-dialog{color:#eef1e7}
#after-dialog h2{font:450 35px/1.15 Manrope,Arial,sans-serif}
#after-dialog>p:not(.eyebrow):not(.prototype-note){color:#b8c8c2}
#after-dialog .dialog-close{color:#d0dfd7}
#after-dialog .after-dialog-return{background:#c7dcc0;color:#173c37;border-color:#c7dcc0}
#after-dialog .after-dialog-summary{color:#1b2922}
#after-dialog .after-dialog-summary span,#after-dialog .after-dialog-summary small{font-size:11px;line-height:1.55;letter-spacing:0;text-transform:none;color:#455b4e}
.finale-support{max-width:540px;margin-inline:auto}
.finale-support p{margin:0}
#your-turn{background:#0b1719}
#your-turn h2 em,#your-turn h2 span{color:#b8d4c2}
@media(max-width:600px){
 .intro h1 .hero-premise{max-width:16ch}
 .intro h1 .hero-payoff{max-width:17ch}
 .intro .eyebrow{font-size:8px;letter-spacing:.08em}
 #offer-dialog input{font-size:16px}
 #offer-dialog,#after-dialog{width:calc(100% - 24px);padding:32px 22px;max-height:calc(100dvh - 24px)}
 #after-dialog h2{font-size:29px}
 #faq-dialog{border-radius:0}
 .continuity-widgets .after-terms{font-size:12px}
}
/* No floating action is shown in the hero: use its bottom edge for the chapter controls. */
@media(max-width:600px){body:not(.inside-active) .hero-bottom{bottom:18px}}
/* Preserve phrase grouping without leaving the tablet headline in a narrow desktop measure. */
@media(min-width:601px) and (max-width:1100px){
 .intro h1 .hero-premise,.intro h1 .hero-payoff{max-width:none;margin-inline:auto}
 .range-bottom{bottom:calc(78px + env(safe-area-inset-bottom))}
 .range-controls{margin-top:4px}
 .inside-conclusion{top:auto;bottom:82px}
}
/* Footer links must remain reachable above the fixed action at the end of the document. */
.chapter-footer{padding-bottom:110px}
@media(max-width:600px){.range-bottom{bottom:calc(78px + env(safe-area-inset-bottom))}}
@media(max-width:1100px){.range-fiction{bottom:64px}}
@media(min-width:601px) and (max-width:1100px) and (max-height:850px){
 .intro{top:9%}
 .intro h1{font-size:40px}
 .intro-description{max-width:none}
 .intro-note{display:none}
}
/* Small-phone bridge: reserve the fixed action's space, moving the product only as it exits. */
@media(max-width:350px) and (max-height:649px){
 .inside-conclusion{top:auto;bottom:78px}
 .inside-active .stage-world{transform:translate(-50%,-50%) translate3d(var(--inside-x),calc(var(--inside-y) - var(--inside-exit)*64px),0)}
}
@media(min-width:601px) and (max-width:800px){
 .hero-bottom .scene-caption{display:none}
 .hero-bottom .chapter-nav{position:relative;left:auto;transform:none}
 .hero-bottom .scroll-cue{margin-left:auto}
}
