/* Layout: a plant control room. Dark navy floor, data in a tight 12-col grid,
   steel-gray panels for long reading, one ember "readout line" repeated as the signature. */
:root{
  color-scheme: dark;
  --ink:#0A141F;        /* base floor */
  --panel:#0F1E2F;      /* raised panel */
  --line:#21364C;       /* rules, borders */
  --text:#D6DDE4;       /* primary text on dark */
  --muted:#8C9BAC;      /* secondary text */
  --steel:#E3E7EB;      /* light reading panel */
  --steel-ink:#13202E;  /* text on steel */
  --steel-muted:#546273;
  --ember:#E8692C;      /* the one accent */
  --ember-dim:rgba(232,105,44,.16);

  --display:'Archivo', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --body:'IBM Plex Sans', 'Segoe UI', Roboto, Arial, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --wrap:1180px;
  --gut-l:max(16px, env(safe-area-inset-left, 0px));
  --gut-r:max(16px, env(safe-area-inset-right, 0px));
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--ink); color:var(--text);
  font-family:var(--body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
:focus-visible{outline:2px solid var(--ember); outline-offset:3px}
.wrap{max-width:var(--wrap); margin-inline:auto; padding-left:var(--gut-l); padding-right:var(--gut-r)}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--display); font-stretch:72%; font-weight:700; line-height:1.02; letter-spacing:-.005em; margin:0; text-wrap:balance}
h1{font-size:clamp(2.6rem, 6.4vw, 5rem); text-transform:uppercase}
h2{font-size:clamp(2.1rem, 4.4vw, 3.4rem); font-stretch:76%; letter-spacing:-.012em; line-height:1.04}
h3{font-size:1.45rem; text-transform:uppercase; letter-spacing:.01em}
p{margin:0}
.lede{font-size:clamp(1.08rem, 1.6vw, 1.25rem); color:var(--text); max-width:36ch}
.label{font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.num{font-family:var(--display); font-stretch:68%; font-weight:700; font-variant-numeric:tabular-nums; line-height:.9}

/* ---------- signature: the readout line ---------- */
.readout{display:flex; align-items:center; gap:14px; margin-bottom:28px}
.readout .label{color:var(--ember); white-space:nowrap}
.readout i{
  flex:1; height:9px; position:relative;
  background:
    repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 24px) bottom/100% 6px no-repeat,
    linear-gradient(var(--line),var(--line)) bottom/100% 1px no-repeat;
}
.readout i::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:var(--fill, 22%);
  background:var(--ember); box-shadow:0 0 10px rgba(232,105,44,.55);
  transform-origin:left; transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
}
.steel .readout i{background:
    repeating-linear-gradient(90deg, #B9C2CB 0 1px, transparent 1px 24px) bottom/100% 6px no-repeat,
    linear-gradient(#B9C2CB,#B9C2CB) bottom/100% 1px no-repeat;}
.steel .readout .label{color:#B5491A}
.eyebrow{color:var(--ember); margin-bottom:24px}
.steel .label.eyebrow{color:#B5491A}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 22px;
  font-family:var(--mono); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; font-weight:500;
  text-decoration:none; border:1px solid var(--ember); border-radius:2px; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.btn-primary{background:var(--ember); color:#140A04}
.btn-primary:hover{background:#F07B41}
.btn-ghost{background:transparent; color:var(--text); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ember); color:#fff}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}

/* ---------- header ---------- */
.site-head .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:20px}
.mark{display:flex; align-items:center; gap:12px; text-decoration:none}
.mark svg{flex:none}
.mark-ico{width:52px; height:auto; aspect-ratio:2297/1601}
.mark b{font-family:var(--display); font-stretch:70%; font-weight:800; font-size:1.3rem; letter-spacing:.06em; text-transform:uppercase; line-height:1}
.mark small{display:block; font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; color:var(--muted); margin-top:4px; text-transform:uppercase}
.site-nav{display:flex; align-items:center; gap:28px}
.site-nav a.lnk{font-size:.95rem; text-decoration:none; color:var(--muted)}
.site-nav a.lnk:hover{color:var(--text)}
.menu-btn{display:none; background:none; border:1px solid var(--line); color:var(--text); font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; min-height:42px; padding:0 14px; border-radius:2px; cursor:pointer}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; border-bottom:1px solid var(--line)}
.hero::before{ /* faint control-room grid */
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:64px 64px; opacity:.28;
  mask-image:radial-gradient(ellipse 80% 70% at 70% 40%, #000 30%, transparent 75%);
}
.hero .wrap{position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:center; padding-block:64px 72px}
.hero-copy{display:grid; gap:26px; min-width:0}
.hero h1 em{font-style:normal; color:var(--ember)}
.hero-ctas{display:flex; flex-wrap:wrap; gap:12px}
.vsl{position:relative; min-width:0}
#embers{position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0}
.vsl-frame{
  position:relative; aspect-ratio:16/9; max-width:100%; border:1px solid var(--line); border-radius:2px;
  background:
    radial-gradient(ellipse 60% 70% at 50% 120%, rgba(232,105,44,.32), transparent 70%),
    linear-gradient(160deg, #13253A, #0A1522 70%);
  display:grid; place-items:center; overflow:hidden;
}
.vsl-frame::after{content:""; position:absolute; inset:10px; border:1px solid rgba(214,221,228,.07); pointer-events:none}
.play{width:78px; height:78px; border-radius:50%; border:1px solid rgba(232,105,44,.7); background:rgba(10,20,31,.55); display:grid; place-items:center; transition:transform .25s, background .25s}
.vsl-frame:hover .play{transform:scale(1.05); background:rgba(232,105,44,.18)}
.vsl-meta{display:flex; justify-content:space-between; gap:12px; margin-top:12px}
.corner{position:absolute; font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; color:var(--muted); text-transform:uppercase}
.corner.tl{top:18px; left:20px}.corner.br{bottom:16px; right:20px}
.rec{display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--ember); margin-right:8px; vertical-align:1px}

/* credential strip */
.strip{border-bottom:1px solid var(--line); background:var(--panel)}
.strip .wrap{display:grid; grid-template-columns:repeat(4, minmax(0,1fr))}
.cell{padding:26px 22px; border-left:1px solid var(--line); display:grid; gap:8px; align-content:start}
.cell:first-child{border-left:0; padding-left:0}
.cell .num{font-size:clamp(2.2rem, 3.6vw, 3rem); color:#fff}
.cell .num small{font-size:.5em; color:var(--ember); margin-left:2px}
.cell p{color:var(--muted); font-size:.92rem; line-height:1.4}

/* ---------- sections ---------- */
section.block{padding-block:clamp(72px, 9vw, 112px)}
.head-row{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:end; margin-bottom:48px}
.head-row p{color:var(--muted); max-width:46ch}

/* symptoms */
.symptoms{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); border-top:1px solid var(--line)}
.sym{display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; padding:26px 24px 26px 0; border-bottom:1px solid var(--line); transition:background .25s}
.sym:nth-child(even){padding-left:24px; border-left:1px solid var(--line)}
.sym:hover{background:linear-gradient(90deg, var(--ember-dim), transparent 70%)}
.sym .tag{font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; color:var(--ember); padding-top:5px; white-space:nowrap}
.sym h3{font-size:1.3rem; margin-bottom:6px}
.sym p{color:var(--muted); font-size:.98rem}
.sym.wide{grid-column:1 / -1; border-left:0; padding-left:0}

/* cost table */
.cost{background:var(--panel); border-block:1px solid var(--line)}
.table-scroll{overflow-x:auto; border:1px solid var(--line); border-radius:2px; background:var(--ink)}
table{width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; min-width:640px}
th,td{text-align:left; padding:16px 20px; border-bottom:1px solid var(--line); vertical-align:top}
th{font-family:var(--mono); font-weight:500; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
td.r, th.r{text-align:right; white-space:nowrap}
td .math{display:block; font-family:var(--mono); font-size:.78rem; color:var(--muted); margin-top:4px}
tbody tr{transition:background .2s}
tbody tr:hover{background:rgba(232,105,44,.06)}
tfoot td{border-bottom:0; font-family:var(--display); font-stretch:70%; font-weight:700; font-size:1.5rem; color:#fff}
tfoot td.r{color:var(--ember)}
.cost-foot{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:24px}
.cost-foot div{background:var(--panel); padding:22px; display:grid; gap:6px}
.cost-foot .num{font-size:2.4rem; color:#fff}
.cost-foot p{color:var(--muted); font-size:.92rem}
.footnote{color:var(--muted); font-size:.88rem; margin-top:18px; max-width:70ch}

/* steel reading panel: case study */
.steel{background:var(--steel); color:var(--steel-ink)}
.steel .label{color:var(--steel-muted)}
.steel h2{color:var(--steel-ink)}
.case{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:start}
.case-big{display:grid; gap:18px}
.case-big .num{font-size:clamp(5rem, 11vw, 8.5rem); color:var(--steel-ink)}
.case-big .num span{color:#C4521D}
.case-big p{color:var(--steel-muted); max-width:30ch}
.pcar{display:grid; border-top:2px solid var(--steel-ink)}
.pcar div{display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px; padding:20px 0; border-bottom:1px solid #C3CBD3}
.pcar dt{font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:#B5491A; padding-top:4px}
.pcar dd{margin:0; max-width:56ch}
blockquote{margin:36px 0 0; padding:0 0 0 22px; border-left:2px solid #C4521D}
blockquote p{font-family:var(--display); font-stretch:80%; font-weight:600; font-size:1.55rem; line-height:1.2; text-transform:none}
blockquote cite{display:block; margin-top:12px; font-style:normal; font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--steel-muted)}

/* program phases */
.phases{display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); border:1px solid var(--line); border-radius:2px}
.phase{padding:26px 22px 28px; border-left:1px solid var(--line); display:grid; gap:12px; align-content:start; position:relative; transition:background .25s}
.phase:first-child{border-left:0}
.phase::before{content:""; position:absolute; top:-1px; left:0; height:2px; width:0; background:var(--ember); transition:width .35s ease}
.phase:hover{background:var(--panel)}
.phase:hover::before{width:100%}
.phase .letter{font-family:var(--display); font-stretch:62%; font-weight:800; font-size:4.2rem; line-height:.8; color:var(--ember)}
.phase .wk{font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; color:var(--muted); text-transform:uppercase}
.phase h3{font-size:1.25rem}
.phase p{color:var(--muted); font-size:.93rem; line-height:1.5}
.phase .gets{color:var(--text); font-size:.9rem; border-top:1px dashed var(--line); padding-top:12px}
.partner{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:40px; margin-top:40px; padding:28px; border:1px solid var(--line); background:var(--panel)}
.partner ul{margin:0; padding:0; list-style:none; display:grid; gap:10px}
.partner li{display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; color:var(--muted); font-size:.98rem}
.partner li::before{content:""; width:8px; height:8px; margin-top:9px; border:1px solid var(--ember)}

/* ladder */
.ladder{display:grid; gap:0; border-top:1px solid var(--line)}
.rung{display:grid; grid-template-columns:70px minmax(0,1fr) minmax(0,2fr); gap:24px; align-items:baseline; padding:24px 0; border-bottom:1px solid var(--line)}
.rung .step{font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; color:var(--muted)}
.rung h3{font-size:1.35rem}
.rung p{color:var(--muted); font-size:.96rem}
.rung .price{font-family:var(--mono); font-size:.88rem; text-align:right; color:var(--text)}
.rung.hl{background:linear-gradient(90deg, var(--ember-dim), transparent 80%)}
.rung.hl .step{color:var(--ember)}

/* scorecard */
.score{background:var(--panel); border-block:1px solid var(--line)}
.score-grid{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:48px; align-items:start}
.qs{display:grid; gap:0; border-top:1px solid var(--line)}
fieldset{border:0; margin:0; padding:22px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center}
legend{float:left; padding:0; font-size:1.02rem; line-height:1.45; max-width:48ch}
legend .label{display:block; margin-bottom:6px}
.seg{display:inline-flex; border:1px solid var(--line); border-radius:2px; overflow:hidden}
.seg input{position:absolute; opacity:0; pointer-events:none}
.seg label{font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:0 14px; min-height:42px; display:grid; place-items:center; cursor:pointer; color:var(--muted); border-left:1px solid var(--line); transition:background .2s, color .2s}
.seg label:first-of-type{border-left:0}
.seg label:hover{color:var(--text)}
.seg input:checked + label{background:var(--ember); color:#140A04}
.seg input:focus-visible + label{outline:2px solid var(--ember); outline-offset:-2px}
.gauge{grid-template-columns:minmax(0,1fr); position:sticky; top:24px; border:1px solid var(--line); background:var(--ink); padding:26px; display:grid; gap:18px}
.gauge .num{font-size:4.6rem; color:#fff}
.gauge .num small{font-size:.4em; color:var(--muted)}
.bar{height:10px; background:repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 12.5%); border:1px solid var(--line); position:relative}
.bar span{position:absolute; inset:0 auto 0 0; width:0; background:var(--ember); box-shadow:0 0 12px rgba(232,105,44,.5); transition:width .5s cubic-bezier(.2,.7,.2,1)}
.bands{display:grid; grid-template-columns:3fr 3fr 2fr; font-family:var(--mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.bands span:nth-child(2){text-align:center}.bands span:last-child{text-align:right}
.verdict h3{font-size:1.6rem; color:#fff}
.verdict p{color:var(--muted); font-size:.95rem; margin-top:6px}

/* training + about */
.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center}
.split p{color:var(--muted); max-width:52ch}
.split .stack{display:grid; gap:22px; align-content:start}
.list-plain{margin:0; padding:0; list-style:none; border-top:1px solid var(--line)}
.list-plain li{padding:14px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:16px}
.list-plain li span:last-child{font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; text-align:right}
.photo{aspect-ratio:4/5; max-width:100%; border:1px solid var(--line); background:linear-gradient(180deg,#13253A,#0A1522); display:grid; place-items:end start; padding:22px; position:relative}
.photo::before{content:""; position:absolute; inset:10px; border:1px dashed rgba(214,221,228,.12)}
.career{display:grid; border-left:1px solid var(--line); margin-left:6px}
.career li{list-style:none; position:relative; padding:0 0 12px 22px; line-height:1.35}
.career li::before{content:""; position:absolute; left:-5px; top:6px; width:9px; height:9px; background:var(--ink); border:1px solid var(--muted); border-radius:50%}
.career li:last-child::before{border-color:var(--ember); background:var(--ember)}
.career{padding:0; margin-top:4px}
.career b{font-weight:600; color:var(--text)}
.career span{display:block; font-size:.9rem; color:var(--muted)}

/* final cta */
.final{border-top:1px solid var(--line); position:relative; overflow:hidden}
.final::after{content:""; position:absolute; left:50%; bottom:-260px; width:900px; height:420px; transform:translateX(-50%); background:radial-gradient(ellipse at center, rgba(232,105,44,.22), transparent 65%); pointer-events:none}
.final .wrap{position:relative; z-index:1; display:grid; gap:28px; justify-items:start; max-width:880px}
.final p{color:var(--muted); font-size:1.15rem; max-width:52ch}

footer{border-top:1px solid var(--line); background:#07101A}
footer .wrap{display:grid; grid-template-columns:minmax(0,1.2fr) repeat(2, minmax(0,1fr)); gap:40px; padding-block:48px 36px}
footer h4{margin:0 0 14px; font-family:var(--mono); font-weight:500; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
footer ul{margin:0; padding:0; list-style:none; display:grid; gap:8px}
footer a{text-decoration:none; color:var(--text); font-size:.95rem}
footer a:hover{color:var(--ember)}
.legal{grid-column:1 / -1; border-top:1px solid var(--line); padding-top:22px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; color:var(--muted); text-transform:uppercase}
.email{user-select:all; font-family:var(--mono); font-size:.9rem}

/* endorsement band */
.endorse{border-bottom:1px solid var(--line)}
.endorse .wrap{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; padding-block:40px}
.endorse figure{margin:0; display:grid; gap:14px}
.endorse blockquote{margin:0; padding:0; border:0}
.endorse blockquote p{font-family:var(--display); font-stretch:82%; font-weight:600; font-size:clamp(1.4rem, 2.6vw, 2rem); line-height:1.18; color:#fff; max-width:34ch; text-wrap:balance}
.endorse figcaption{display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline}
.endorse figcaption b{font-weight:600}
.endorse figcaption span{color:var(--muted); font-size:.92rem}
.endorse-vid{display:flex; align-items:center; gap:16px; padding:14px 22px 14px 14px; border:1px solid var(--line); border-radius:2px; text-decoration:none; background:var(--panel); transition:border-color .2s}
.endorse-vid:hover{border-color:var(--ember)}
.ev-play{width:52px; height:52px; border-radius:50%; border:1px solid rgba(232,105,44,.7); display:grid; place-items:center; flex:none; transition:background .2s}
.endorse-vid:hover .ev-play{background:var(--ember-dim)}
.ev-txt{display:grid; gap:4px}
.ev-txt b{font-weight:600}

/* training */
.train{display:grid; gap:28px; min-width:0}
.prog{margin:0; padding:0; list-style:none; display:grid; border-top:1px solid var(--line)}
.prog li{display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid var(--line)}
.prog .step-n{font-family:var(--display); font-stretch:62%; font-weight:800; font-size:2.2rem; line-height:.9; color:var(--ember)}
.prog b{display:block; font-family:var(--display); font-stretch:72%; font-weight:700; font-size:1.3rem; text-transform:uppercase; letter-spacing:.01em}
.prog li span:not(.step-n){color:var(--muted); font-size:.93rem}
.mix{display:grid; gap:10px}
.mix-bar{display:flex; gap:2px; height:34px}
.mix-bar span{display:flex; align-items:center; padding-left:10px; font-family:var(--mono); font-size:.74rem; color:var(--text); background:var(--panel); border:1px solid var(--line)}
.mix-bar span:last-child{background:var(--ember); border-color:var(--ember); color:#140A04; font-weight:500}
.mix-key{display:flex; gap:2px; font-family:var(--mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.mix-key span:nth-child(1){flex:10; min-width:0}
.mix-key span:nth-child(2){flex:20; min-width:0}
.mix-key span:nth-child(3){flex:70; min-width:0}
.earned{border-left:2px solid var(--ember); padding-left:16px; color:var(--muted)}
.earned b{color:var(--text)}

/* the mark */
@property --mark-flame{syntax:'<color>'; inherits:true; initial-value:#E8692C}
@property --mark-steel{syntax:'<color>'; inherits:true; initial-value:#C9D1D9}
.forge-mark{border-top:1px solid var(--line); overflow:hidden}
.forge-mark .wrap{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center}
.fm-art{position:relative; display:grid; place-items:center}
.fm-art::before{content:""; position:absolute; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(232,105,44,.0), transparent 65%); transition:background 1.6s ease}
.fm-svg{position:relative; width:100%; max-width:440px; height:auto; --mark-flame:#3A4A5C; --mark-steel:#56677A; transition:--mark-flame 1.4s ease .2s, --mark-steel 1.8s ease, filter 1.6s ease}
.forge-mark.lit .fm-svg{--mark-flame:#E8692C; --mark-steel:#C9D1D9; filter:drop-shadow(0 0 18px rgba(232,105,44,.35))}
.forge-mark.lit .fm-art::before{background:radial-gradient(circle, rgba(232,105,44,.18), transparent 65%)}
.fm-copy{display:grid; gap:18px}
.fm-copy p{color:var(--muted); max-width:46ch}

/* plan-not-promise note */
.measure-note{grid-column:1 / -1; border-top:1px dashed var(--line); padding-top:18px; color:var(--muted); font-size:.95rem; max-width:80ch}
.measure-note b{color:var(--text)}

/* program halves */
.halves{display:grid; grid-template-columns:3fr 2fr; gap:0; margin-bottom:-1px}
.halves span{font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:10px 22px; border:1px solid var(--line); border-bottom:0}
.halves span:first-child{color:var(--ember); border-right:0}

/* sectors */
.sector-list{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line)}
.sector-list li{padding:22px 20px; border-left:1px solid var(--line); border-top:1px solid var(--line); font-family:var(--display); font-stretch:74%; font-weight:600; font-size:1.25rem; line-height:1.15; color:var(--text); position:relative}
.sector-list li:nth-child(4n+1){border-left:0}
.sector-list li:nth-child(-n+4){border-top:0}
.sector-list li::before{content:""; display:block; width:18px; height:2px; background:var(--ember); margin-bottom:14px}
.sector-list li.open{font-family:var(--body); font-stretch:100%; font-weight:400; font-size:.95rem; line-height:1.45; color:var(--muted); background:var(--panel)}
.sector-list li.open::before{background:var(--line)}
.steel .head-row p{color:var(--steel-muted)}
.steel .sector-list,.steel .sector-list li{border-color:#C3CBD3}
.steel .sector-list li{color:var(--steel-ink)}
.steel .sector-list li::before{background:#C4521D}
.steel .sector-list li.open{background:#D6DCE2; color:var(--steel-muted)}
.steel .sector-list li.open::before{background:#B9C2CB}

/* family switcher: quiet, one click away */
.switch{position:relative}
.switch-btn{display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 4px; background:none; border:0; color:var(--muted); font:inherit; font-size:.95rem; cursor:pointer; transition:color .2s}
.switch-btn svg{transition:transform .2s}
.switch.open .switch-btn svg{transform:rotate(180deg)}
.switch-btn:hover,.switch.open .switch-btn{color:var(--text)}
.switch-panel{display:none; position:absolute; right:0; top:calc(100% + 10px); z-index:30; width:290px; background:var(--panel); border:1px solid var(--line); border-top:2px solid var(--ember); padding:16px 0 8px; box-shadow:0 18px 40px rgba(0,0,0,.45)}
.switch.open .switch-panel{display:grid}
.switch-panel .label{padding:0 18px 10px}
.switch-panel a{display:grid; gap:2px; padding:10px 18px; text-decoration:none; transition:background .15s}
.switch-panel a:hover{background:rgba(232,105,44,.08)}
.switch-panel b{font-weight:600; font-size:.95rem; color:var(--text)}
.switch-panel a span{font-size:.82rem; color:var(--muted)}
.switch-panel a[aria-current] b{color:var(--ember)}

/* batch 1 additions */
.own{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:20px}
.measure{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.4fr); gap:40px; margin-top:16px; padding:28px; border:1px solid var(--line); border-top:2px solid var(--ember)}
.measure ol{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 32px; counter-reset:m}
.measure li{display:grid; gap:4px; counter-increment:m}
.measure li b::before{content:counter(m) "  "; font-family:var(--mono); font-weight:500; color:var(--ember); font-size:.8rem}
.measure li span{color:var(--muted); font-size:.93rem}
.fit-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line)}
.fit-grid div{padding:24px 22px; border-left:1px solid var(--line); display:grid; gap:10px; align-content:start}
.fit-grid div:first-child{border-left:0}
.fit-grid .num{font-size:2.6rem; color:#fff}
.fit-grid p{color:var(--muted); font-size:.93rem; line-height:1.45}
.sectors{margin-top:22px; color:var(--text); display:flex; flex-wrap:wrap; gap:6px 14px; align-items:baseline}
.sectors .label{color:var(--ember)}
.unlock{display:grid; gap:8px}
.unlock-row{display:flex; gap:8px; min-width:0}
.unlock-row .btn{flex:none; white-space:nowrap}
.unlock input{flex:1; width:100%; min-width:0; min-height:48px; background:var(--panel); border:1px solid var(--line); color:var(--text); font:inherit; font-size:.95rem; padding:0 14px; border-radius:2px}
.unlock input:focus{outline:2px solid var(--ember); outline-offset:0; border-color:transparent}
.err{color:#F08A5A; font-size:.85rem}
.two-sided{color:var(--muted); font-size:.85rem; border-top:1px dashed var(--line); padding-top:14px}
.door{display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; padding:20px 22px; border:1px solid var(--line); background:var(--panel); width:100%}
.door p{flex:1 1 320px; font-size:1rem; color:var(--muted)}
.door b{color:var(--text)}

/* ---------- mobile, designed on purpose ---------- */
@media (max-width: 960px){
  .hero .wrap{grid-template-columns:minmax(0,1fr); gap:40px; padding-block:40px 56px}
  .strip .wrap{grid-template-columns:repeat(2, minmax(0,1fr))}
  .cell:nth-child(3){border-left:0; padding-left:0}
  .cell:nth-child(n+3){border-top:1px solid var(--line)}
  .head-row,.case,.split,.score-grid,.partner{grid-template-columns:minmax(0,1fr); gap:28px}
  .phases{grid-template-columns:minmax(0,1fr)}
  .halves{display:none}
  .forge-mark .wrap{grid-template-columns:minmax(0,1fr); gap:32px}
  .sector-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sector-list li{border-left:0; border-top:1px solid var(--line)}
  .sector-list li:nth-child(even){border-left:1px solid var(--line)}
  .sector-list li:nth-child(-n+2){border-top:0}
  .sector-list li:nth-child(3),.sector-list li:nth-child(4){border-top:1px solid var(--line)}
  .sector-list li{font-size:1.1rem; padding:18px 16px}
  .fm-svg{max-width:300px}
  .measure{grid-template-columns:minmax(0,1fr); gap:20px}
  .fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fit-grid div:nth-child(3){border-left:0}
  .fit-grid div:nth-child(n+3){border-top:1px solid var(--line)}
  .phase{border-left:0; border-top:1px solid var(--line); grid-template-columns:72px minmax(0,1fr); column-gap:18px}
  .phase:first-child{border-top:0}
  .phase .letter{grid-row:span 4; font-size:3.4rem}
  .gauge{position:static}
  footer .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  footer .wrap > div:first-child{grid-column:1 / -1}
}
@media (max-width: 760px){
  body{font-size:16px}
  .site-nav{display:none}
  .site-nav.open{display:grid; position:absolute; left:0; right:0; top:100%; z-index:20; background:var(--panel); border-block:1px solid var(--line); padding:12px var(--gut-r) 20px var(--gut-l); gap:0}
  .site-nav.open a.lnk{padding:14px 0; border-bottom:1px solid var(--line); color:var(--text); font-size:1.05rem}
  .site-nav.open .btn{margin-top:16px; justify-content:center}
  .site-nav.open .switch{padding:20px 0 0; margin:20px 0 0; border-left:0; border-top:1px solid var(--line)}
  .site-nav.open .switch-btn{display:none}
  .site-nav.open .switch-panel{display:grid; position:static; width:auto; background:none; border:0; box-shadow:none; padding:0}
  .site-nav.open .switch-panel .label,.site-nav.open .switch-panel a{padding-left:0; padding-right:0}
  .site-head{position:relative}
  .menu-btn{display:inline-block}
  .mark small{display:none}
  .hero-ctas .btn{flex:1 1 100%; justify-content:center}
  .endorse .wrap{grid-template-columns:minmax(0,1fr); gap:22px; padding-block:32px}
  .mix-key{display:grid; grid-template-columns:1fr; gap:4px}
  .mix-key span:nth-child(n){flex:none}
  .mix-key span::before{content:""; display:inline-block; width:8px; height:8px; margin-right:8px; border:1px solid var(--line); background:var(--panel)}
  .mix-key span:nth-child(3)::before{background:var(--ember); border-color:var(--ember)}
  .symptoms{grid-template-columns:minmax(0,1fr)}
  .sym,.sym:nth-child(even){padding:22px 0; border-left:0}
  .cost-foot{grid-template-columns:minmax(0,1fr)}
  .table-scroll{overflow:visible; border:0; background:none}
  .table-scroll table{min-width:0}
  .table-scroll thead{display:none}
  .table-scroll tr{display:grid; gap:6px; background:var(--ink); border:1px solid var(--line); border-radius:2px; padding:18px; margin-bottom:10px}
  .table-scroll td{display:block; padding:0; border:0}
  .table-scroll td.r{display:flex; justify-content:space-between; gap:12px; font-family:var(--display); font-stretch:70%; font-weight:700; font-size:1.3rem; color:#fff}
  .table-scroll td.r::before{content:attr(data-label); font-family:var(--mono); font-weight:500; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); align-self:center}
  .table-scroll tfoot tr{border-color:var(--ember)}
  .table-scroll tfoot td.r{color:var(--ember)}
  .measure ol{grid-template-columns:minmax(0,1fr)}
  .unlock-row{flex-direction:column}
  .rung{grid-template-columns:minmax(0,1fr); gap:8px}
  .rung .price{text-align:left}
  fieldset{grid-template-columns:minmax(0,1fr)}
  .seg{width:100%}
  .seg label{flex:1}
  .pcar div{grid-template-columns:minmax(0,1fr); gap:6px}
  .photo{aspect-ratio:4/3}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important}
}

/* ---------- multi-page additions ---------- */
.page-head{position:relative; overflow:hidden; border-bottom:1px solid var(--line)}
.page-head::before{content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:64px 64px; opacity:.24; mask-image:radial-gradient(ellipse 80% 90% at 75% 30%, #000 25%, transparent 75%)}
.page-head .wrap{position:relative; display:grid; gap:20px; padding-block:clamp(56px, 8vw, 96px) clamp(48px, 6vw, 72px)}
.page-head h1{font-size:clamp(2.4rem, 5.4vw, 4.2rem); max-width:18ch}
.page-head .lede{max-width:52ch; color:var(--muted)}
.page-head .hero-ctas{margin-top:6px}
.more-row{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; margin-top:36px}
.more-row p{color:var(--muted); max-width:56ch}
.band{border-block:1px solid var(--line); background:var(--panel)}
.band .wrap{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px; padding-block:36px}
.band h3{font-size:1.5rem; text-transform:none; letter-spacing:-.005em; font-stretch:76%}
.band p{color:var(--muted); max-width:58ch; margin-top:8px}
.based,.final p.based{font-family:var(--mono); font-size:.82rem; letter-spacing:.06em; color:var(--muted)}
.tight-top{padding-top:clamp(48px, 6vw, 72px)}
.close .wrap{gap:20px}
.close h2{font-size:clamp(1.9rem, 3.6vw, 2.8rem)}
.cost-lead{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:end; margin-bottom:44px}
.cost-num{display:grid; gap:10px; padding-bottom:10px; border-bottom:2px solid var(--ember)}
.cost-num .num{font-size:clamp(3.2rem, 5.6vw, 5rem); color:#fff; white-space:nowrap}
.cost-num .num small{font-size:.38em; color:var(--ember); margin-left:4px}
.cost-lead .stack{display:grid; gap:18px}
.cost-lead .stack p{color:var(--muted); max-width:52ch}
.head-stack{display:grid; gap:14px; margin-bottom:40px}
@media (max-width: 760px){
  .cost-lead{grid-template-columns:minmax(0,1fr); gap:28px}
  .symptoms{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sym,.sym:nth-child(even){grid-template-columns:minmax(0,1fr); gap:6px; padding:16px 12px 16px 0; border-left:0}
  .sym:nth-child(even){padding:16px 0 16px 12px; border-left:1px solid var(--line)}
  .sym h3{font-size:1.02rem; margin-bottom:0}
  .sym p{display:none}
}
.site-nav a.lnk[aria-current="page"]{color:var(--text); box-shadow:inset 0 -2px 0 var(--ember)}
.kh-video{text-decoration:none; color:inherit; position:relative; width:360px; aspect-ratio:16/9; padding:0; border:1px solid var(--line); border-radius:2px; background:#000; overflow:hidden; cursor:pointer; display:block}
.kh-video img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.8; transition:opacity .2s}
.kh-video:hover img{opacity:1}
.kh-video::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,20,31,0) 45%,rgba(10,20,31,.85))}
.kh-play{position:absolute; left:50%; top:42%; transform:translate(-50%,-50%); width:58px; height:58px; border-radius:50%; border:1px solid rgba(232,105,44,.8); background:rgba(10,20,31,.65); display:grid; place-items:center; z-index:1}
.kh-label{position:absolute; left:14px; right:14px; bottom:10px; z-index:1; display:flex; justify-content:space-between; align-items:baseline; color:#fff; font-size:.92rem; text-align:left}
.kh-video iframe,.kh-video video{position:absolute; inset:0; width:100%; height:100%; border:0; background:#000; object-fit:cover}
.kh-video::after{display:none}
@media (max-width: 760px){ .kh-video{width:100%} }

/* ---------- photos ---------- */
.hero h1{font-size:clamp(2.4rem, 4.3vw, 3.7rem)}
@media (min-width: 961px){ .hero .wrap{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:52px} }
@media (min-width: 1200px){ .hero .hero-ctas{flex-wrap:nowrap} .hero .hero-ctas .btn{padding:0 16px; letter-spacing:.07em; white-space:nowrap} }
.mix-key{display:flex; flex-wrap:wrap; gap:6px 22px}
.mix-key span:nth-child(n){flex:none}
.mix-key span::before{content:""; display:inline-block; width:8px; height:8px; margin-right:8px; border:1px solid var(--line); background:var(--panel)}
.mix-key span:nth-child(3)::before{background:var(--ember); border-color:var(--ember)}
.split-top{align-items:start}
.train-photo{aspect-ratio:4/3; margin-bottom:6px}
.train-photo img{object-position:50% 30%}
.train-photo-2{aspect-ratio:4/3; margin:0 0 4px}
.proof-photo{aspect-ratio:4/3; margin:0 0 22px}
.steel .photo.has-photo::before{border-color:rgba(19,32,46,.12)}
.band .wrap{flex-wrap:nowrap; justify-content:flex-start; align-items:center; gap:32px}
.band-copy{flex:1; min-width:0}
.band .btn{flex:none}
.band-photo{width:200px; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:30% 50%; border:1px solid var(--line); flex:none}
@media (max-width: 760px){
  .band .wrap{flex-wrap:wrap; gap:20px}
  .band-photo{width:100%}
  .band-copy{flex:1 1 100%}
}
.vsl-frame.has-photo{background:#0A141F}
.vsl-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.92}
.vsl-frame.has-photo::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,20,31,.55) 0%, rgba(10,20,31,0) 30%, rgba(10,20,31,0) 65%, rgba(10,20,31,.7) 100%)}
.vsl-frame.has-photo .corner,.vsl-frame.has-photo .play{z-index:2}
.vsl-frame.has-photo .corner{color:#E3E7EB}
.vsl-frame.has-photo .play{background:rgba(10,20,31,.6); position:absolute; left:20px; bottom:16px; width:58px; height:58px}
.vsl-frame.has-photo .corner.br{left:92px; right:auto; bottom:36px}
.photo.has-photo{margin:0; padding:0; overflow:hidden; background:#0A141F}
.photo.has-photo::before{z-index:1; border:1px solid rgba(214,221,228,.14)}
.photo.has-photo img{width:100%; height:100%; object-fit:cover; display:block}
.stage-band{border-block:1px solid var(--line); background:var(--panel)}
.stage-band figure{margin-inline:auto; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:40px; align-items:center; padding-block:48px}
.stage-band img{width:100%; height:auto; display:block; border:1px solid var(--line)}
.stage-band figcaption{display:grid; gap:12px; color:var(--muted); font-size:1.02rem; max-width:40ch}
.stage-band figcaption .label{color:var(--ember)}
.stage-band figcaption b{font-family:var(--display); font-stretch:76%; font-weight:700; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.05; color:#fff}
.contact-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start}
.contact-grid .rung{grid-template-columns:118px minmax(0,1fr); row-gap:4px}
.contact-grid .rung p{grid-column:2}
@media (max-width: 760px){
  .stage-band figure{grid-template-columns:minmax(0,1fr); gap:20px; padding-block:32px}
  .contact-grid{grid-template-columns:minmax(0,1fr); gap:32px}
  .contact-grid .photo{aspect-ratio:4/3}
}

/* ---------- motion: plays once, skipped for reduced motion ---------- */
/* Brakebush before/after bar */
.dt-bars{display:grid; gap:10px; margin-top:6px; max-width:440px}
.dt-row{display:grid; grid-template-columns:54px minmax(0,1fr) 112px; gap:12px; align-items:center}
.dt-row .label{color:var(--steel-muted)}
.dt-track{height:12px; background:#D2D8DE; position:relative; overflow:hidden}
.dt-track i{position:absolute; inset:0 auto 0 0; width:100%; background:var(--steel-ink)}
.dt-row.after .dt-track i{width:47%; background:#C4521D; transition:width 1.4s cubic-bezier(.2,.7,.2,1) .25s}
.dt-bars.pending .dt-row.after .dt-track i{width:100%}
.dt-val{font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color:var(--steel-ink); white-space:nowrap}
.dt-row.after .dt-val{color:#B5491A}
/* FORGE letters heat from cold iron to ember, one at a time */
.phase .letter{transition:color .7s ease, text-shadow .9s ease}
.phases.cold .phase .letter{color:#2A3A4C; text-shadow:none}
.phases.lit .phase .letter{text-shadow:0 0 22px rgba(232,105,44,.45)}
.phases .phase:nth-child(2) .letter{transition-delay:.18s}
.phases .phase:nth-child(3) .letter{transition-delay:.36s}
.phases .phase:nth-child(4) .letter{transition-delay:.54s}
.phases .phase:nth-child(5) .letter{transition-delay:.72s}
/* Alignment Check result lands with a short ember glow */
@keyframes landed{0%{opacity:0; transform:translateY(6px); color:var(--ember); text-shadow:0 0 0 rgba(232,105,44,0)}
  45%{opacity:1; transform:none; color:#FFB089; text-shadow:0 0 24px rgba(232,105,44,.75)}
  100%{color:#fff; text-shadow:0 0 0 rgba(232,105,44,0)}}
.verdict h3.landed{animation:landed 1.1s cubic-bezier(.2,.7,.2,1)}
@media (max-width: 760px){ .dt-row{grid-template-columns:48px minmax(0,1fr) 96px} }
@media (prefers-reduced-motion: reduce){ .phase .letter,.dt-row.after .dt-track i{transition:none} .verdict h3.landed{animation:none} }
