/* RONIN restoration. The existing questionnaire and product copy are preserved. */
.form-ok .demo-flag[hidden],.form-ok .demo-lead[hidden]{display:none!important}
:root {
  color-scheme: dark;
  --canvas:#0d0d0d; --canvas-deep:#101010;
  --panel:#161616; --panel-2:#1c1c1c;
  --line:#383838; --line-soft:#272727;
  --accent:#d81c17; --accent-hover:#b91713;
  --accent-muted:rgba(216,28,23,.55); --accent-text:#ff645f;
  --err:#ff7871; --text:#f4f4f4; --text-2:#b8b8bd; --text-3:#99999f;
  --f-quote:"Golos Text",system-ui,sans-serif;
}
body {background:var(--canvas);font-weight:400}
.env {background:#0d0d0d}
.env::after {opacity:.18}
.ronin-scene {position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#0d0d0d}
.ronin-scene .hero-frame {position:absolute;inset:0;display:block;width:100%;height:100%;mask-image:none;-webkit-mask-image:none}
.ronin-scene video,.ronin-scene img {display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:72% center;filter:grayscale(1) brightness(.64) contrast(1.16)}
.ronin-scene [hidden] {display:none!important}
.ronin-scene::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.96),rgba(13,13,13,.88) 31%,rgba(13,13,13,.28) 65%,rgba(13,13,13,.14)),linear-gradient(0deg,#0d0d0d 0%,transparent 32%,rgba(13,13,13,.22));pointer-events:none}
.ronin-scene {opacity:var(--scene-opacity,1)}
.ronin-scene .hero-frame::after {display:none}
.page {background:transparent}
.hero-light {--lt-bg:#0d0d0d;--lt-ink:#f4f4f4;--lt-ink-2:#b8b8bd;--lt-ink-3:#99999f;--lt-line:#383838;--lt-green:#d81c17;--lt-green-2:#b91713}
.hero-scroll.hero-motion {height:140svh}
.hero-light.hero-motion .hero-stage {background:transparent;height:100svh;min-height:0;position:sticky;top:0;overflow:hidden;grid-template-rows:var(--nav-h) 1fr;padding:0}
.hero-photo .hero-milk {display:none}
.hero-motion .hero-body {padding:30px 0 70px}
.hero-photo .hero-text {max-width:650px}
.hero-photo h1 {font-family:var(--f-display);font-weight:900;font-size:clamp(36px,4.5vw,68px);line-height:1.01;letter-spacing:-.045em;text-transform:uppercase;max-width:15ch;text-wrap:initial;color:#f4f4f4;text-shadow:0 2px 20px #0d0d0d}
.hero-source {font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.hero-light .hero-source {color:#ff645f}
.hero-eyebrow {margin-bottom:23px}
.hero-photo .hero-sub {max-width:43ch;font-size:17px;line-height:1.65;color:#c6c6c9}
.hero-light .hero-context {color:#b8b8bd;font-size:14px;border-color:#d81c17}
.hero-note {margin-top:25px}
.hero-light .hero-note {color:#99999f}
.hero-actions .btn {border-radius:0;min-height:50px}
.hero-light .btn-primary {background:#d81c17;color:#fff}
.hero-light .btn-primary:hover {background:#b91713}
.hero-light .btn-link {color:#b8b8bd;border-color:#777}
.nav,body.on-light .nav {background:rgba(13,13,13,.84);border-bottom:1px solid #292929}
.nav.solid,body.on-light .nav.solid {background:rgba(13,13,13,.97);border-color:#292929}
.brand,body.on-light .brand {color:#f4f4f4}
.brand i,body.on-light .brand i {background:#d81c17}
.nav-links a,body.on-light .nav-links a {color:#b8b8bd}
.nav-links a:hover,body.on-light .nav-links a:hover {color:#fff}
body.on-light .nav-cta .btn {background:#d81c17}
body.on-light :focus-visible,:focus-visible {outline-color:#ff645f}
.ronin-progress {position:fixed;z-index:65;left:0;top:0;width:100%;height:2px;background:#d81c17;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.scene-label {position:absolute;right:var(--gut);bottom:32px;color:#aaa;font:10px/1.6 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;border-left:2px solid #d81c17;padding-left:12px}
h2,h3 {font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:1.04}
h2 {font-size:clamp(29px,4.2vw,58px)}
h3 {font-size:clamp(19px,2vw,26px);font-weight:800}
.q-text,.diag-wait,.score,.barrier-close,.proof-item h3,.faq-q,.form-ok h3 {font-family:var(--f-display)}
.q-text,.diag-wait,.faq-q {font-weight:600}
.score,.score b,.barrier-close {font-weight:900}
.sec-index {color:#99999f}
section {border-top:1px solid #292929;background:rgba(13,13,13,.91);scroll-margin-top:76px}
#check {background:rgba(13,13,13,.88);border-top:1px solid #393939}
#mechanism,#product,#dashboard,#proof,#access {background:rgba(16,16,16,.94)}
/* The same film continues through the first four content sections. */
#check,#mechanism,#barrier {background:linear-gradient(90deg,rgba(13,13,13,.88),rgba(13,13,13,.58) 58%,rgba(13,13,13,.32));border-top-color:rgba(255,255,255,.12)}
#check .q,#check .diag-result,#mechanism .step,#barrier .frag {background:rgba(16,16,16,.94)}
#check,#mechanism,#barrier {padding-top:clamp(80px,12vh,150px);padding-bottom:clamp(80px,12vh,150px)}
.q,.q.answered,.fact,.frag,.rail-step,.step::before,.dash-tab,.dash-caption,.access {background:var(--panel)}
.q-opt {background:#101010;border-color:#616161;color:#c6c6c9}
.q-opt:hover {background:#222;color:#fff}
.q-opt[aria-checked="true"] {background:#281211;border-color:#f0524c;color:#fff}
.q-opt::before {border-color:#888}
.frag-msg,.shot-bar {background:#101010;border-color:#383838;color:var(--text-2)}
.shot,.group figure {border-color:#383838}
.field input,.field select {background:#101010;border-color:#666;color:#f4f4f4;border-radius:0}
.field input:focus,.field select:focus {border-color:#ff645f}
.form-err {border-color:#ff7871;background:#271312}
.form-ok {border-color:#d81c17;background:#1c1212}
.form-partial {background:#161616}
.consent span,.field label.consent {color:#b8b8bd}
.form-ok h3 {font-weight:800}
.hero-mobile-after {background:#0d0d0d}
.hero-mobile-after .hero-sub,.hero-mobile-after .hero-context,.hero-mobile-after .hero-note {color:#b8b8bd;border-color:#d81c17}
footer {background:#0d0d0d}
@media(min-width:1001px) and (max-height:820px){
 .hero-photo h1{font-size:clamp(34px,3.8vw,52px)}
 .hero-motion .hero-body{padding:15px 0 35px}
 .hero-note{margin-top:18px}
}
@media(max-width:1000px){
 .hero-scroll.hero-motion{height:auto}
 .hero-light.hero-motion .hero-stage{position:relative;height:auto;min-height:100svh;display:flex;align-items:flex-end;padding:calc(var(--nav-h) + 55px) 0 74px}
 .hero-motion .hero-body{padding:0}
 .hero-photo .hero-text{max-width:580px}
 .hero-photo h1{font-size:clamp(32px,7.7vw,56px);max-width:17ch}
 .hero-motion .hero-text .hero-sub{display:block;font-size:15px;margin-top:22px;max-width:33ch}
 .hero-motion .hero-text .hero-context,.hero-motion .hero-text .hero-note{display:none}
 .hero-motion .hero-actions{gap:20px;margin-top:26px;align-items:flex-start;flex-direction:column}
 .ronin-scene video,.ronin-scene img{object-position:78% center}
 .ronin-scene::after{background:linear-gradient(0deg,#0d0d0d 2%,rgba(13,13,13,.94) 32%,rgba(13,13,13,.72) 58%,rgba(13,13,13,.25) 100%)}
 .hero-mobile-after .hero-sub{display:none}
 .hero-mobile-after{border-top:1px solid #292929;padding:24px 0}
 .scene-label{display:none}
 .nav-cta .btn{font-size:9px;padding:12px}
 .brand{font-size:11px;letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){
 .hero-scroll.hero-motion{height:auto}
 .hero-light.hero-motion .hero-stage{position:relative;min-height:100svh;height:auto}
}

/* Refined preview: a quiet reading surface after the opening scene. */
.hero-scroll.hero-motion{height:165svh}
.hero-photo h1{max-width:14ch}
.hero-light .hero-source{color:#b8b8bd}
.hero-light .hero-context{font-size:14px;line-height:1.65;max-width:49ch;border-color:#505054}
.hero-photo .hero-sub{margin-top:22px}
h2,h3{text-transform:none;letter-spacing:-.025em;line-height:1.12;font-weight:700}
h2{font-size:clamp(29px,3.8vw,50px)}
section,#check,#mechanism,#barrier,#product,#dashboard,#proof,#access{background:#101012}
#mechanism,#dashboard,#how,#faq{background:#161618}
#check,#mechanism,#barrier{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}
.mechanism-brief{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,6vw,88px);align-items:start}
.mechanism-brief .kicker{margin-bottom:22px}
.mechanism-brief .lede + .lede{margin-top:20px}
.mechanism-brief .disclaimer{margin-top:24px}
#how .flow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-to-dark{background:#101012;height:32px}
.ronin-progress{background:#88888e;height:1px}
.scene-label{border-color:#777}
@media(max-width:1000px){
 .hero-scroll.hero-motion{height:auto}
 .hero-photo h1{max-width:17ch}
 .hero-motion .hero-text .hero-context{display:block;margin-top:22px;font-size:13px;max-width:39ch}
 .hero-mobile-after .hero-context{display:none}
 .mechanism-brief{grid-template-columns:1fr;gap:24px}
}
@media(max-width:680px){#how .flow-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero-scroll.hero-motion{height:auto}}

@media(min-width:1001px){.hero-photo h1{max-width:17ch}}

/* Static hero on every screen: no pinned scroll interval. */
.hero-scroll.hero-motion{height:auto}
.hero-light.hero-motion .hero-stage{position:relative;height:auto;min-height:100svh}

/* A clear route for first-time visitors. */
.hero-photo h1{max-width:18ch;font-size:clamp(36px,4.3vw,62px)}
.hero-source{max-width:44ch;line-height:1.6;letter-spacing:.09em}
.hero-mobile-after{display:none}
.offer-steps,.expectations,.support-list,.reflection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.offer-steps p,.support-list p{padding:22px 0;border-top:1px solid #4c4c51;margin:0}
.offer-steps b,.support-list b{display:block;font-size:19px;margin-bottom:10px;color:var(--text)}
.offer-steps span,.support-list span{color:var(--text-2);line-height:1.65}
.expectations article,.reflection-grid article{padding:26px;background:#1b1b1f;border:1px solid #3b3b42}
.expectations article p,.reflection-grid article p{color:var(--text-2);line-height:1.7;margin-top:16px}
.expectations h3{font-size:24px}.reflection-grid h4{font-size:20px;margin:0;color:var(--text)}
.reflection-note{font-size:19px;line-height:1.6;margin-top:28px}.diag-done .btn{margin-top:28px}
.source-note{font-size:13px;color:var(--text-2);line-height:1.7;margin-top:24px}.source-note a,.form-note a{text-decoration:underline;text-underline-offset:3px}
.tools-details{margin-top:32px;border-block:1px solid #55555c}.tools-details summary{padding:24px 8px;cursor:pointer;font-size:18px;font-weight:600}.tools-details summary:focus-visible{outline:2px solid #ff645f;outline-offset:3px}
.tools-content{padding:12px 0 32px}.tools-content>h3{margin:32px 0 20px}.tools-content img{max-width:100%}
#reflectionCards{margin-block:26px}#diagResult{scroll-margin-top:90px}.diag-done>h3{margin-top:16px}
.nav-cta .btn{font-size:11px}.source-note a{color:#dadade}
@media(max-width:1000px){.hero-photo h1{font-size:clamp(32px,7.5vw,56px)}.expectations,.reflection-grid{grid-template-columns:1fr}.hero-motion .hero-text .hero-sub{max-width:36ch}}
@media(max-width:680px){.offer-steps,.support-list{grid-template-columns:1fr;gap:0}.expectations{gap:16px}.expectations article,.reflection-grid article{padding:22px}.diag-done .btn{white-space:normal;text-align:center}}

/* Lead with the system's practical value. */
.hero-actions{flex-wrap:wrap}.hero-test-note{flex-basis:100%;max-width:48ch;font-size:12px;line-height:1.6;color:var(--text-2);margin:0}
.role-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:32px;padding-top:28px;border-top:1px solid #424249}
.role-split h3{font-size:24px;margin:16px 0}.role-split p:not(.kicker){color:var(--text-2);line-height:1.7}
.system-promise{margin-top:32px;padding-left:20px;border-left:2px solid var(--accent)}
@media(max-width:680px){.role-split{grid-template-columns:1fr;gap:28px}.hero-test-note{flex-basis:auto;max-width:36ch}.hero-motion .hero-actions{gap:16px}}

/* Repeatable contact-to-conversation journey. */
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}
.journey>div{padding-top:22px;border-top:2px solid #626268}.journey h3{font-size:22px;margin:18px 0 14px}.journey p,.repeat-note>p:not(.kicker){color:var(--text-2);line-height:1.7}
.repeat-note{margin-top:32px;padding:28px;background:#1b1b1f;border-left:2px solid var(--accent)}.repeat-note h3{margin:16px 0;font-size:25px}
@media(max-width:1100px){.journey{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.journey{grid-template-columns:1fr;gap:20px}.repeat-note{padding:22px}}

/* Explain the travel product and business model before its tools. */
.club-story,.team-model{margin-top:48px}.club-story h3,.team-model>h3,.system-bridge h3{margin:16px 0 22px;font-size:clamp(25px,3vw,36px);max-width:32ch}
.club-story>p:not(.kicker){max-width:78ch;color:var(--text-2);font-size:17px;line-height:1.75;margin-top:18px}
.club-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}.club-facts article{border-top:1px solid #606066;padding-top:22px}.club-facts strong{display:block;font-size:48px;line-height:1.1;color:var(--text);margin-bottom:14px}.club-facts span{display:block;color:var(--text-2);line-height:1.65}
.team-model>.lede{margin-top:24px}.system-bridge{margin-top:44px;padding:32px;background:#1d1d21;border-left:2px solid var(--accent)}.system-bridge>p:not(.kicker){max-width:74ch;color:var(--text-2);line-height:1.75}.system-bridge .btn{margin-top:24px;white-space:normal}
@media(max-width:680px){.club-facts{grid-template-columns:1fr;gap:24px}.club-facts strong{font-size:40px}.system-bridge{padding:24px}.system-bridge .btn{font-size:10px;text-align:center}}

/* Contact-centred example; styles stay inside the product section. */
#product .contact-scenario{margin-top:40px;border:1px solid var(--line);background:#171719}
#product .scenario-heading{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:28px 30px;border-bottom:1px solid var(--line)}
#product .scenario-heading h3{font-size:clamp(24px,2.6vw,32px);margin-top:16px}
#product .scenario-label{flex-shrink:0;margin:0;font-size:12px;line-height:1.7;color:var(--text-2)}
#product .contact-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0}
#product .contact-path li{min-width:0;padding:30px;border-right:1px solid var(--line)}
#product .contact-path li:last-child{border-right:0}
#product .contact-path .mono{color:var(--accent-text);letter-spacing:.08em}
#product .contact-path h3{font-size:24px;margin:18px 0}
#product .contact-path p,#product .followup-example p:not(.kicker):not(.mono),#product .scenario-outcome p{color:var(--text-2);line-height:1.7}
#product .contact-path p{margin:0 0 18px}
#product .contact-path .scenario-fact{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--text)}
#product .contact-path blockquote{margin:22px 0 0;padding-left:16px;border-left:2px solid var(--accent);font-size:16px;color:var(--text)}
#product .followup-example{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px;border-top:1px solid var(--line);background:#1d1d21}
#product .followup-example h3{font-size:clamp(23px,2.3vw,29px);margin:18px 0}
#product .followup-due{border-left:2px solid var(--accent);padding-left:16px;margin:24px 0 0}
#product .followup-due span,#product .followup-due strong{display:block}
#product .followup-due strong{font-size:16px;font-weight:500;color:var(--text);margin-top:8px}
#product .followup-message{align-self:center;padding:24px;background:#101012;border:1px solid #45454b}
#product .followup-message>.mono{margin:0;color:var(--text-2);font-size:10px;letter-spacing:.1em}
#product .followup-message blockquote{margin:20px 0;font-size:18px;line-height:1.75}
#product .followup-message>p:last-child{font-size:13px;margin-bottom:0}
#product .scenario-outcome{padding:24px 30px;border-top:1px solid var(--line)}
#product .scenario-outcome p{max-width:85ch;margin:10px 0 0}
@media(max-width:1000px){#product .contact-path{grid-template-columns:1fr}#product .contact-path li{border-right:0;border-bottom:1px solid var(--line)}#product .contact-path li:last-child{border-bottom:0}#product .contact-path h3{margin:14px 0}#product .followup-example{gap:24px}}
@media(max-width:680px){#product .scenario-heading{flex-direction:column;gap:16px}#product .scenario-heading,#product .contact-path li,#product .followup-example,#product .scenario-outcome{padding:22px}#product .followup-example{grid-template-columns:1fr}#product .followup-message{padding:20px}#product .followup-message blockquote{font-size:17px}}
