/* Austin Marvel: dark, strictly black & white. Greys only, no accent colour. */
:root{
  --bg:#000; --bg-1:#070707; --bg-2:#0d0d0d; --bg-3:#151515;
  --text:#f2f2f2; --muted:#a1a1a1; --dim:#6e6e6e; --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.22);
  --white:#fff; --radius:14px; --shadow:0 30px 80px -30px rgba(0,0,0,.9);
  --display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;background:var(--bg)}
html,body{overflow-x:clip} /* clip, never hidden: hidden breaks position:sticky and scroll math */
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--white);text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4)}
a:hover{text-decoration-color:#fff}
h1,h2,h3{font-family:var(--display);color:var(--white);line-height:1.04;margin:0 0 .5em;font-weight:700;letter-spacing:-.035em}
h1{font-size:clamp(1.85rem,4.7vw,4.3rem);max-width:none;line-height:1.02}
h2{font-size:clamp(1.55rem,3.6vw,3.2rem);max-width:none}
h3{font-size:1.22rem;letter-spacing:-.015em;line-height:1.2}
em{font-style:normal;color:var(--muted)}
p{margin:0 0 1em}
::selection{background:#fff;color:#000}
.container{width:min(1200px,92vw);margin:0 auto}
.narrow{width:min(820px,92vw)}
.center{text-align:center}.center h2{margin-left:auto;margin-right:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:100}
.skip-link:focus{left:8px}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
.mono-dim{font-family:var(--mono);color:var(--dim);font-size:.85em}

/* ---------- The 3D stage: one fixed canvas behind normal HTML ---------- */
#stage{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;opacity:0;transition:opacity .9s ease;pointer-events:none;background:#000}
#stage:not(.ready){opacity:0!important}
.stage-poster{position:fixed;inset:0;z-index:0;pointer-events:none;background:#000 url(/assets/flow-poster.webp) 88% 52%/auto 74% no-repeat;opacity:0;transition:opacity .8s}
.loading-3d .stage-poster,.no-3d .stage-poster{opacity:.9}
.no-3d #stage{display:none}
@media (max-width:760px){.stage-poster{background-position:50% 14%;background-size:118% auto}}
main,.site-footer{position:relative;z-index:1}
#lens-labels{position:fixed;inset:0;z-index:2;pointer-events:none;visibility:hidden;opacity:0}
#lens-labels svg{position:absolute;inset:0;width:100%;height:100%}
#lens-labels path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1}
#lens-labels circle{fill:#fff}
.lens-label{position:absolute;left:0;top:0;font-family:var(--mono);font-size:.72rem;line-height:1.45;color:var(--muted);will-change:transform}
.lens-label .k{display:block;color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.lens-label .t{display:block;font-family:var(--sans);font-size:.85rem;color:#cfcfcf}
.lens-label .k,.lens-label .t{white-space:nowrap}
.lens-label.right{text-align:left}
.lens-label:not(.right){text-align:right}
@media (max-width:760px){.lens-label{font-size:.68rem}.lens-label .t{font-size:.8rem;line-height:1.35}}

/* Scroll-driven reveals (position, not IntersectionObserver) */
[data-reveal]{opacity:var(--r,1);transform:translate3d(0,calc((1 - var(--r,1)) * 28px),0)}
@media (prefers-reduced-motion:reduce){[data-reveal]{transform:none}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 .98rem/1 var(--sans);padding:.95em 1.4em;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-1px)}
.btn--lg{padding:1.1em 1.7em;font-size:1.02rem}
.btn--small{padding:.65em 1.1em;font-size:.9rem}
.btn--block{width:100%}
.btn--primary{background:#fff;color:#000}
.btn--primary:hover{background:#d9d9d9}
.btn--ghost{background:rgba(0,0,0,.35);border-color:var(--line-2);color:#fff;backdrop-filter:blur(6px)}
.btn--ghost:hover{background:#fff;color:#000;border-color:#fff}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.site-header.scrolled{background:rgba(0,0,0,.72);backdrop-filter:blur(14px) saturate(120%);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:.65em;color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.12rem;letter-spacing:-.02em}
.nav-links{display:flex;gap:1.7em;list-style:none;margin:0;padding:0;align-items:center}
.nav-links a:not(.btn){color:var(--muted);text-decoration:none;font-weight:500;font-size:.92rem}
.nav-links a:not(.btn):hover{color:#fff}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:1.5px;background:#fff;margin:6px 0}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 90px}
.hero-grid{position:static}
.hero-copy{max-width:min(660px,52vw)}
.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:500;color:var(--muted);margin-bottom:1.3em}
.eyebrow::before{content:"";display:inline-block;width:18px;height:1px;background:currentColor;vertical-align:middle;margin-right:.8em}
.lead{font-size:clamp(1.02rem,1.4vw,1.17rem);color:#bdbdbd;max-width:56ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:1.9em 0 1.6em}
.hero-ctas.center{justify-content:center}
.hero-trust{display:flex;flex-wrap:wrap;gap:.5em 1.5em;list-style:none;padding:0;margin:0;font-size:.86rem;color:var(--muted)}
.hero-trust li::before{content:"";display:inline-block;width:6px;height:6px;border:1px solid #fff;border-radius:50%;margin-right:.6em;vertical-align:middle}
.hero-hud{position:absolute;left:58%;top:calc(100svh - 150px);display:flex;align-items:center;gap:18px}
.hud-readout{margin:0;font-family:var(--mono);font-size:.8rem;color:#fff;letter-spacing:.06em;text-transform:uppercase;min-width:9ch}
.hero-cards{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-card{border:1px solid var(--line);background:rgba(0,0,0,.45);backdrop-filter:blur(8px);border-radius:10px;padding:10px 14px;font-size:.82rem;color:#d4d4d4;max-width:260px}
.hero-card strong{display:block;font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.hero-card small{display:block;color:var(--dim);margin-top:3px;font-family:var(--mono);font-size:.68rem}
.hero-card--verse{font-style:italic}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue::after{content:"";width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Hold-to-focus control with progress ring */
.hold{display:inline-flex;align-items:center;gap:12px;background:rgba(0,0,0,.4);border:1px solid var(--line-2);color:#fff;border-radius:999px;padding:6px 18px 6px 6px;cursor:pointer;font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;user-select:none;-webkit-user-select:none;touch-action:none;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.hold:hover{border-color:#fff}
.hold.holding{background:#fff;color:#000}
.hold-ring{width:40px;height:40px;transform:rotate(-90deg)}
.hold-ring circle{fill:none;stroke-width:2}
.hold-ring-bg{stroke:rgba(255,255,255,.2)}
.hold-ring-fg{stroke:#fff;stroke-dasharray:1;stroke-dashoffset:1}
.hold.holding .hold-ring-fg{stroke:#000}.hold.holding .hold-ring-bg{stroke:rgba(0,0,0,.15)}
.hold.holding .mono-dim{color:#555}
.hold.cleared{box-shadow:0 0 0 1px #fff,0 0 34px rgba(255,255,255,.45)}
.hold.cleared .hold-ring-fg{stroke:#000}
.hold--inline{margin-top:1em}
.no-3d .hold,.no-3d .hero-hud{display:none}

/* ---------- Stage sections: transparent, the lens does the talking ---------- */
.stage{position:relative;min-height:130vh;display:flex;align-items:center;padding:120px 0}
.stage-copy{max-width:min(560px,46vw)}
.stage-copy p{color:#c4c4c4}
.stage-copy--right{margin-left:auto;margin-right:4vw}
.stage--apart{min-height:190vh;align-items:flex-start;padding-top:12vh}
.stage-copy--top{max-width:none;text-align:center;display:flex;flex-direction:column;align-items:center}
.stage-copy--top h2{margin-left:auto;margin-right:auto}
.stage--rebuild .stage-copy{margin-left:4vw}
.chip-toggle{font:500 .74rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.4);border:1px solid var(--line-2);padding:9px 16px;border-radius:99px;cursor:pointer}
.chip-toggle[aria-pressed="true"]{background:#fff;color:#000}
.beat-list{list-style:none;padding:0;margin:2em auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:.92rem;color:#c4c4c4}
.beat-list li{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:rgba(0,0,0,.6)}
.beat-list strong{display:block;color:#fff;font-weight:600}
.is-3d .beat-list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.no-3d .stage{min-height:auto;padding:90px 0}
.no-3d .chip-toggle{display:none}

/* ---------- Content sections: near-black glass over the dimmed lens ---------- */
.section{position:relative;padding:clamp(80px,10vw,140px) 0;background:rgba(0,0,0,.78);border-top:1px solid var(--line)}
.section-intro{font-size:1.08rem;color:var(--muted);max-width:66ch;margin-bottom:2.6em}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:rgba(13,13,13,.86);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card h3{font-size:1.12rem}
.card p{color:var(--muted);margin:0}
#problem .card{counter-increment:pr}
#problem .grid-4{counter-reset:pr}
#problem .card::before{content:"0" counter(pr);display:block;font-family:var(--mono);font-size:.72rem;color:var(--dim);margin-bottom:22px}
.offer{background:rgba(13,13,13,.86);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 24px}
.offer>:not(.img-slot){margin-left:8px;margin-right:8px}
.offer-kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.6em}
.offer p{color:var(--muted)}
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:1.6em;margin:.45em 0;color:#d6d6d6}
.checks li::before{content:"";position:absolute;left:0;top:.62em;width:.62em;height:.62em;border:1px solid #fff;border-radius:50%}
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border:1px solid var(--line);border-radius:var(--radius);font-size:.92rem;color:var(--muted);overflow:hidden}
.principles>div{padding:24px;border-left:1px solid var(--line)}
.principles>div:first-child{border-left:0}
.principles strong{display:block;color:#fff;font-family:var(--display);font-size:1.02rem;margin-bottom:.3em}

/* Image placeholder slots (studio photos go here) */
.img-slot{position:relative;display:grid;place-items:center;text-align:center;aspect-ratio:4/3;border-radius:10px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 12px,transparent 12px 24px),#0a0a0a;border:1px dashed rgba(255,255,255,.22);color:var(--dim);font:500 .72rem/1.5 var(--mono);letter-spacing:.04em;padding:16px;margin-bottom:20px}
.img-slot small{opacity:.8}
.img-slot--portrait{aspect-ratio:4/5;margin:0}
.img-slot--small{aspect-ratio:16/7;margin-top:1.5em}

/* Steps */
.steps{list-style:none;padding:0;margin:2.6em 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line-2)}
.steps li{padding:26px 22px 10px 0;border-right:1px solid var(--line);padding-left:22px}
.steps li:first-child{padding-left:0}.steps li:last-child{border-right:0}
.steps p{font-size:.93rem;margin:0;color:var(--muted)}
.step-n{display:block;font-family:var(--mono);font-size:.74rem;color:var(--dim);margin-bottom:26px}
.step-n::before{content:"0"}

/* ---------- Scorecard ---------- */
.scorecard-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.scorecard-intro p{color:#c4c4c4}
.quiz{padding:32px;min-height:440px;background:#0b0b0b;border-color:var(--line-2);box-shadow:var(--shadow)}
.quiz-progress{height:2px;background:rgba(255,255,255,.12);overflow:hidden;margin-bottom:24px}
.quiz-progress span{display:block;height:100%;background:#fff;transition:width .3s}
.quiz-meta{display:flex;justify-content:space-between;font:500 .72rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.quiz h3{font-size:1.32rem;margin-bottom:1em}
.quiz-options{display:grid;gap:8px}
.quiz-option{text-align:left;font:500 .98rem/1.4 var(--sans);padding:14px 16px;border-radius:10px;border:1px solid var(--line-2);background:transparent;cursor:pointer;color:var(--text);transition:border-color .15s,background .15s,color .15s}
.quiz-option:hover,.quiz-option:focus-visible{border-color:#fff;background:#fff;color:#000}
.quiz-back{margin-top:16px;background:none;border:0;color:var(--muted);cursor:pointer;font:500 .85rem var(--mono);padding:0}
.quiz-back:hover{color:#fff}
.quiz form{display:grid;gap:12px}
.field label{display:block;font-weight:500;font-size:.85rem;margin-bottom:5px;color:#d0d0d0}
.field input,.field select{width:100%;font:inherit;color:#fff;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;background:#000}
.field select option{background:#000}
.field input:focus,.field select:focus{border-color:#fff;outline:none}
.consent{font-size:.78rem;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.consent input{margin-top:3px;accent-color:#fff}
.result-score{display:flex;align-items:center;gap:22px;margin-bottom:18px}
.score-ring{--p:50;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#fff calc(var(--p)*1%),rgba(255,255,255,.12) 0);flex:none}
.score-ring span{width:100px;height:100px;border-radius:50%;background:#0b0b0b;display:grid;place-items:center;font:700 1.8rem var(--display);color:#fff;letter-spacing:-.03em}
.pillars{display:grid;gap:10px;margin:14px 0 18px}
.pillar{display:grid;grid-template-columns:120px 1fr 44px;align-items:center;gap:10px;font-size:.88rem;color:#d0d0d0}
.pillar-bar{height:4px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden}
.pillar-bar span{display:block;height:100%;background:#fff}
.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.form-error{color:#fff;font-size:.88rem;margin:0;border-left:2px solid #fff;padding-left:10px}
.playbook-cover{display:block;max-width:240px;margin-top:1.8em;transform:rotate(-2deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.9),0 0 0 1px var(--line-2);border-radius:4px;overflow:hidden}
.playbook-cover img{width:100%;height:auto}

/* ---------- Packages ---------- */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:1024px){.pkg-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pkg-grid{grid-template-columns:1fr}}
.pkg{position:relative;display:flex;flex-direction:column;background:rgba(13,13,13,.9);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.pkg ul{list-style:none;padding:0;margin:0 0 22px;flex:1}
.pkg li{padding:.45em 0 .45em 1.4em;border-top:1px solid var(--line);font-size:.9rem;position:relative;color:#d0d0d0}
.pkg li::before{content:"—";position:absolute;left:0;color:var(--dim)}
.pkg-price{font:700 1.6rem var(--display);letter-spacing:-.03em;color:#fff;margin:.1em 0 0}
.pkg-range{font:500 .74rem var(--mono);color:var(--dim);margin-bottom:.9em}
.pkg-summary{font-size:.93rem;color:var(--muted)}
.pkg--featured{background:#fff;color:#000;border-color:#fff}
.pkg--featured h3,.pkg--featured .pkg-price{color:#000}
.pkg--featured .pkg-range{color:#666}.pkg--featured .pkg-summary{color:#444}
.pkg--featured li{border-color:rgba(0,0,0,.12);color:#222}
.pkg--featured li::before{color:#999}
.pkg--featured .btn--primary{background:#000;color:#fff}
.pkg--featured .btn--primary:hover{background:#262626}
.pkg-badge{position:absolute;top:-11px;right:20px;background:#000;color:#fff;border:1px solid #fff;font:500 .66rem var(--mono);padding:5px 10px;border-radius:99px;letter-spacing:.1em;text-transform:uppercase}
.fine{font-size:.82rem;color:var(--dim);margin-top:24px}

/* ---------- Founder / testimonials ---------- */
.founder{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(28px,5vw,64px);align-items:center}
.founder p{color:#c4c4c4}
.signature{font-family:var(--mono);font-size:.9rem;color:#fff!important;letter-spacing:.04em}
.placeholder-note{display:inline-block;background:transparent;border:1px dashed rgba(255,255,255,.4);color:#d0d0d0;font:500 .74rem/1.5 var(--mono);padding:8px 12px;border-radius:8px;margin-bottom:1.2em}
.testimonial blockquote{margin:0 0 1em;font-family:var(--display);font-size:1.08rem;color:#fff}
.testimonial figcaption{font-size:.85rem;color:var(--muted)}
.testimonial--empty{border-style:dashed}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:2px 0}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item h3{font-size:1.06rem;margin:0;font-family:var(--sans);font-weight:500;letter-spacing:0}
.faq-icon{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);position:relative}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:5px;right:5px;top:10px;height:1px;background:#fff}
.faq-icon::after{transform:rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-icon::after{transform:rotate(0)}
.faq-item p{color:var(--muted);padding-bottom:16px;max-width:70ch}

.final-cta{background:rgba(0,0,0,.35);min-height:90vh;display:flex;align-items:center}
.final-cta h2{max-width:none}
.final-cta .lead{margin:0 auto}

/* ---------- Footer ---------- */
.site-footer{background:#000;color:var(--muted);padding:56px 0 24px;font-size:.9rem;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}
.site-footer address{font-style:normal}
.site-footer a{color:#e6e6e6}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.copyright{border-top:1px solid var(--line);margin-top:32px;padding-top:18px;font:400 .74rem var(--mono);color:var(--dim)}

/* ---------- Chat widget ---------- */
.chat-launcher{transition:opacity .25s,transform .25s;position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:10px;background:#fff;color:#000;border:0;border-radius:999px;padding:14px 20px;font:600 .94rem var(--sans);cursor:pointer;box-shadow:0 18px 50px -12px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.2)}
.chat-launcher-dot{width:8px;height:8px;border-radius:50%;background:#000;box-shadow:0 0 0 3px rgba(0,0,0,.15);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(0,0,0,.06)}}
.chat-panel{position:fixed;right:22px;bottom:22px;z-index:70;width:min(400px,calc(100vw - 24px));height:min(620px,calc(100vh - 44px));display:flex;flex-direction:column;background:#0a0a0a;border-radius:18px;box-shadow:0 40px 100px -20px rgba(0,0,0,.95);overflow:hidden;border:1px solid var(--line-2)}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#000;border-bottom:1px solid var(--line);color:var(--muted)}
.chat-head h2{font-size:1rem;color:#fff;margin:0;letter-spacing:-.01em}
.chat-head p{margin:2px 0 0;font:400 .68rem var(--mono);letter-spacing:.04em}
.chat-close{background:none;border:0;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#0a0a0a}
.msg{max-width:86%;padding:10px 14px;border-radius:14px;font-size:.92rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.msg a{color:inherit;font-weight:600}
.msg--bot{background:#161616;border:1px solid var(--line);color:#e8e8e8;align-self:flex-start;border-bottom-left-radius:4px}
.msg--user{background:#fff;color:#000;align-self:flex-end;border-bottom-right-radius:4px}
.msg--typing{color:var(--muted);font-style:italic}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0;background:#0a0a0a}
.chip{font:500 .78rem var(--sans);padding:7px 12px;border-radius:99px;border:1px solid var(--line-2);background:transparent;cursor:pointer;color:#e6e6e6}
.chip:hover{border-color:#fff;background:#fff;color:#000}
.chat-form{display:flex;gap:8px;padding:12px 14px;background:#0a0a0a;align-items:flex-end}
.chat-form .btn{height:44px;padding:0 18px}
.chat-form textarea{flex:1;resize:none;height:44px;font:inherit;font-size:.93rem;color:#fff;padding:10px 12px;border:1px solid var(--line-2);border-radius:12px;max-height:120px;background:#000}
.chat-form textarea::placeholder{color:var(--dim)}
.chat-form textarea:focus{outline:none;border-color:#fff}
.chat-legal{margin:0;padding:0 14px 10px;font-size:.68rem;color:var(--dim);background:#0a0a0a}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);border-top:0}
  .steps li,.steps li:first-child{padding:22px;border:1px solid var(--line);margin:-1px 0 0 -1px}
  .principles{grid-template-columns:repeat(2,1fr)}
  .principles>div:nth-child(3){border-left:0}
  .principles>div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:860px){
  .nav-toggle{display:block}
  .nav-links{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background:#000;border-bottom:1px solid var(--line);padding:8px 4vw 18px;display:none}
  .nav-links.open{display:flex}
  .nav-links li{width:100%;padding:10px 0;border-bottom:1px solid var(--line)}
  .nav-links li:last-child{border:0;padding-top:16px}
  .scorecard-wrap,.founder{grid-template-columns:1fr}
  .grid-3,.beat-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .founder .img-slot{max-width:360px}
}
@media (max-width:760px){
  /* Phone: the lens sits in the top half of the screen, copy below it */
  .hero{justify-content:flex-end;padding:calc(44svh + 36px) 0 70px;min-height:100svh}
  .hero-copy{max-width:none}
  .hero-hud{position:absolute;top:calc(44svh - 40px);right:auto;left:4vw;bottom:auto;gap:12px}
  .hero-hud .hold{padding-right:14px}
  .stage{align-items:flex-end;min-height:120svh;padding:0 0 12svh}
  .stage-copy,.stage-copy--right{margin:0 auto;max-width:none;background:linear-gradient(transparent,rgba(0,0,0,.6) 20%);padding-top:24px}
  .stage--rebuild .stage-copy{margin:0 auto}
  .stage--apart{min-height:170svh;align-items:flex-start;padding-top:12svh}
  .stage-copy--top{background:none}
  .scroll-cue{display:none}
  .final-cta{min-height:auto;padding-top:46svh}
}
@media (max-width:560px){
  body{font-size:16px}
  .grid-4,.steps,.principles{grid-template-columns:1fr}
  .principles>div{border-left:0!important;border-top:1px solid var(--line)}
  .principles>div:first-child{border-top:0}
  .hero-ctas .btn{width:100%}
  .chat-launcher{right:12px;bottom:12px;padding:12px 16px}
  .chat-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}
  .quiz{padding:22px}
  .pillar{grid-template-columns:96px 1fr 40px}
}

/* ---------- Round 4: one statement per line, never wrapped ---------- */
.l{white-space:nowrap}
span.l,strong.l{display:block}
.lines{margin:0 0 1em}
.big{font-size:clamp(1.08rem,1.55vw,1.32rem);line-height:1.5;color:#d2d2d2}
.stage-copy .big{color:#d2d2d2}
.verse{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(.88rem,1.25vw,1.02rem);line-height:1.5;letter-spacing:.005em;color:#a9a9a9;margin:1.5em 0 0;padding-left:14px;border-left:1px solid rgba(255,255,255,.22)}
.verse .l{display:block}
.verse--section{margin-top:2.4em}
.verse--center{border-left:0;padding-left:0;text-align:center;margin-inline:auto}
.verse--center::before{content:"";display:block;width:28px;height:1px;background:rgba(255,255,255,.3);margin:0 auto 1em}
.site-footer .verse{font-size:.86rem;color:#8a8a8a}
.stage-copy .verse{margin-bottom:1.4em}
.section-intro.lines{line-height:1.5}
.card p.lines,.offer p.lines{line-height:1.55}
.steps p{font-size:.9rem}
.steps h3{margin-bottom:.35em}
.pkg-summary.lines{line-height:1.5}
.quiz h3{white-space:nowrap}
.scorecard-intro h2 .sub{font-size:.46em;letter-spacing:-.01em;color:var(--muted);margin-top:.5em;font-weight:600}
.stage--top{align-items:flex-start;padding-top:14vh}
.stage--tall{min-height:170vh}
.stage--left .stage-copy{margin-left:4vw}
.beat-list{list-style:none;padding:0;margin:2em auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:.92rem;color:#c4c4c4}
.beat-list li{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:rgba(0,0,0,.6)}
.beat-list strong{color:#fff;font-weight:600}
@media (max-width:860px){.beat-list{grid-template-columns:1fr}}
.stage{flex-wrap:wrap;align-content:center}
.stage--top{align-content:flex-start}
/* soft dark halo so copy stays readable over the glowing pipe */
.stage-copy{position:relative}
.stage-copy::before{content:"";position:absolute;inset:-14% -16%;background:radial-gradient(closest-side,rgba(0,0,0,.78),rgba(0,0,0,.45) 60%,rgba(0,0,0,0));z-index:-1;pointer-events:none}
.stage-copy--top::before{inset:-10% 18%}
.hero-copy{position:relative}
.hero-copy::before{content:"";position:absolute;inset:-12% -14%;background:radial-gradient(closest-side,rgba(0,0,0,.7),rgba(0,0,0,0));z-index:-1;pointer-events:none}
/* Austin's topography: one light vector layer over everything, white lines at ~6%, slow parallax */
.topo{position:fixed;left:0;right:0;top:0;height:140vh;z-index:2;pointer-events:none;background:url(/assets/topo.svg) 50% 50%/cover no-repeat;opacity:.055;transform:translate3d(0,var(--topo-y,0px),0);will-change:transform}
@media (max-width:760px){.topo{opacity:.075;background-size:auto 100%}}
@media (max-width:760px){
  .stage{align-content:flex-end}
  .stage--top{align-items:flex-start;align-content:flex-start;padding:11svh 0 0;min-height:130svh}
  .stage--top .stage-copy{background:none;padding-top:0}
  .stage--tall{min-height:170svh}
  .stage--left .stage-copy{margin:0 auto}
  .hero{padding-top:calc(46svh + 20px)}
  .hero-hud{top:calc(46svh - 46px)}
}
@media (max-width:760px){body.hero-ctas-visible .chat-launcher{opacity:0;transform:translateY(12px);pointer-events:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
