/* ═══════════ GROWTH STRATEGY SESSION ═══════════
   Ported from the Growth Scan document. Scoped under .scan-root so it
   renders as the finished client document inside the dark back office,
   the same way the shop review does. Slate and steel, Archivo over
   Instrument Sans, with IBM Plex Mono carrying every label and figure. */
.scan-root{
  --ground:#F1F4F7; --surface:#FFFFFF; --surface-2:#F7F9FB; --sunk:#E9EEF3;
  --ink:#0C1420; --ink-2:#39485A; --muted:#67788B; --line:#DCE3EB; --line-2:#C6D1DD;
  --accent:#1B6B9E; --accent-soft:#E3EFF7; --accent-ink:#11506F;
  --now:#A86634; --now-soft:#F6ECE2;
  --crit:#B23F38; --crit-soft:#FBEAE7;
  --caut:#8F6D0E; --caut-soft:#FAF2DC;
  --good:#2E7A57; --good-soft:#E5F3EB;
  --shadow:0 1px 2px rgba(12,20,32,.05), 0 10px 30px -14px rgba(12,20,32,.22);
  --lift:0 2px 4px rgba(12,20,32,.06), 0 22px 48px -22px rgba(12,20,32,.32);
  --r:12px;
  --band:#0A111B; --band-2:#111B29; --band-ink:#EAF1F8; --band-mute:#7F93AA;
  --band-line:#1E2C3C; --band-accent:#63AEDD; --band-now:#D08F52;
  background:var(--ground); color:var(--ink);
  font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
.scan-root *,.scan-root *::before,.scan-root *::after{box-sizing:border-box;}
.scan-root h1,.scan-root h2,.scan-root h3,.scan-root h4{
  font-family:"Archivo",sans-serif; margin:0; text-wrap:balance;
  letter-spacing:-.025em; line-height:1.12;
}
.scan-root p{margin:0;}
.scan-root a{color:var(--accent);}
.k-wrap{max-width:1200px; margin:0 auto; padding:0 24px;}

/* top bar */
.k-topbar{
  position:sticky; top:0; z-index:20; background:rgba(255,255,255,.9);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--line);
}
.k-topbar-in{display:flex; align-items:center; gap:20px; height:60px;}
.k-brand{font-family:"Archivo"; font-weight:800; letter-spacing:-.04em; font-size:17px; flex:none;}
.k-brand em{
  font-style:normal; color:var(--muted); font-weight:500; font-size:10.5px;
  letter-spacing:.16em; text-transform:uppercase; font-family:"IBM Plex Mono"; margin-left:8px;
}
.k-brand img{height:26px; display:block;}
.k-topnav{display:flex; gap:2px; margin-left:auto; overflow-x:auto; scrollbar-width:none;}
.k-topnav::-webkit-scrollbar{display:none;}
.k-topnav a{
  font-size:12.5px; color:var(--muted); text-decoration:none; padding:6px 11px;
  border-radius:7px; white-space:nowrap; font-weight:500;
}
.k-topnav a:hover{color:var(--ink); background:var(--surface-2);}
.k-topnav a.on{color:var(--accent); background:var(--accent-soft);}

.k-sec{padding:64px 0; border-bottom:1px solid var(--line);}
.k-sec.alt{background:var(--surface);}
.k-sec.last{border-bottom:none;}
.k-eyebrow{
  font-family:"IBM Plex Mono"; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); display:flex; align-items:center; gap:12px; margin-bottom:16px;
}
.k-eyebrow::after{content:""; flex:1; height:1px; background:var(--line);}
.k-h{font-size:clamp(26px,3.8vw,40px); font-weight:700; margin-bottom:12px;}
.k-h3{font-family:"Archivo"; font-size:22px; font-weight:700; margin-bottom:6px;}
.k-sub{color:var(--ink-2); max-width:64ch; font-size:16.5px; margin-bottom:30px;}
.k-note{font-size:12.5px; color:var(--muted); margin-top:14px; max-width:74ch; line-height:1.55;}
.k-note.tight{margin-top:2px;}
.k-note strong{color:var(--ink);}
.k-spacer{height:26px;}
.k-prose p{margin-bottom:14px; color:var(--ink-2); max-width:70ch;}

/* hero */
.k-hero{
  background:var(--band); color:var(--band-ink); position:relative; overflow:hidden;
  padding:60px 0 54px; border-bottom:1px solid var(--band-line);
}
.k-hero::before{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(var(--band-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--band-line) 1px, transparent 1px);
  background-size:46px 46px; opacity:.5;
  mask-image:radial-gradient(ellipse 90% 70% at 24% 42%, #000 0%, transparent 76%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 24% 42%, #000 0%, transparent 76%);
}
.k-hero-in{position:relative; z-index:2; display:grid; grid-template-columns:1.5fr .8fr; gap:48px; align-items:end;}
.k-pill{
  display:inline-flex; align-items:center; gap:9px; font-family:"IBM Plex Mono"; font-size:10.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--band-accent);
  border:1px solid rgba(99,174,221,.38); background:rgba(99,174,221,.1);
  padding:6px 13px; border-radius:99px;
}
.k-pulse{width:6px; height:6px; border-radius:99px; background:var(--band-accent); animation:kpulse 2.4s ease-in-out infinite;}
@keyframes kpulse{0%,100%{opacity:1}50%{opacity:.25}}
.k-lockup{display:inline-flex; align-items:center; gap:12px; margin:18px 0 0;}
.k-mark,.k-mark-img{
  width:40px; height:40px; border-radius:10px; display:grid; place-items:center;
  font-family:"Archivo"; font-weight:800; font-size:14px; letter-spacing:-.02em;
  color:#fff; background:var(--band-accent); flex:none;
}
.k-mark-img{object-fit:contain; background:#fff; padding:4px;}
.k-lk{
  font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--band-mute);
}
.k-lk b{
  display:block; color:#fff; font-family:"Instrument Sans"; font-size:13.5px;
  letter-spacing:0; text-transform:none; font-weight:600;
}
.k-hero h1{
  font-size:clamp(36px,6.2vw,68px); font-weight:800; letter-spacing:-.045em;
  margin:18px 0 16px; color:#fff;
}
.k-loc{color:var(--band-mute); font-size:13.5px; display:flex; flex-wrap:wrap; gap:10px 22px; font-family:"IBM Plex Mono";}
.k-hero-side{display:grid; gap:14px;}
.k-hs{display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--band-line);}
.k-hs:last-child{border-bottom:none;}
.k-hs .k{font-family:"IBM Plex Mono"; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--band-mute);}
.k-hs .v{font-family:"Archivo"; font-weight:700; font-size:19px; color:#fff; font-variant-numeric:tabular-nums;}
.k-hs .v.sm{font-size:15px;}
.k-hs .v.warn{color:var(--band-now);}

/* vitals */
.k-tiles{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow);
}
.k-tile{background:var(--surface); padding:20px; display:grid; gap:6px; align-content:start; min-height:130px;}
.k-tile .lab{font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);}
.k-tile .big{
  font-family:"Archivo"; font-weight:800; font-size:33px; letter-spacing:-.04em;
  font-variant-numeric:tabular-nums; line-height:1; min-height:33px;
}
.k-tile .big em{font-style:normal; font-size:17px; font-weight:600; color:var(--muted);}
.k-tile .sub{font-size:12.5px; color:var(--ink-2); line-height:1.4;}
.k-flag{
  display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:600;
  padding:3px 9px; border-radius:99px; width:fit-content; font-family:"IBM Plex Mono";
  letter-spacing:.06em; text-transform:uppercase;
}
.k-flag.f-crit{background:var(--crit-soft); color:var(--crit);}
.k-flag.f-caut{background:var(--caut-soft); color:var(--caut);}
.k-flag.f-good{background:var(--good-soft); color:var(--good);}
.k-flag.f-neut{background:var(--sunk); color:var(--muted);}
.k-flag.f-none{background:var(--sunk); color:var(--muted);}
/* a tile nothing has measured: present, plainly empty, making no claim */
.k-tile.is-blank{opacity:.62;}
.k-notyet{
  font-family:"IBM Plex Mono"; font-size:11px; letter-spacing:.06em;
  color:var(--muted); align-self:end; padding-top:6px;
}
.k-srcline{margin-top:16px; font-size:12px; color:var(--muted); display:flex; flex-wrap:wrap; gap:8px 20px;}
.k-srcline span{display:inline-flex; align-items:center; gap:7px;}
.k-tick{width:5px; height:5px; border-radius:99px; background:var(--good); display:inline-block; flex:none;}
.k-tick.est{background:var(--caut);}

/* the leak */
.k-leak{
  background:var(--band); color:var(--band-ink); padding:64px 0;
  border-bottom:1px solid var(--band-line); position:relative; overflow:hidden;
}
.k-leak::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 62% 108% at 18% 50%, rgba(208,143,82,.2), transparent 68%);
}
.k-leak-in{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.k-leak .k-eyebrow{color:var(--band-mute);}
.k-leak .k-eyebrow::after{background:var(--band-line);}
.k-leak-num{
  font-family:"Archivo"; font-weight:800; font-size:clamp(52px,9vw,104px);
  letter-spacing:-.05em; line-height:.92; color:#fff; font-variant-numeric:tabular-nums;
}
.k-leak-cap{color:var(--band-mute); font-size:15px; margin-top:14px; max-width:40ch;}
.k-leak-list{
  display:grid; gap:1px; background:var(--band-line); border:1px solid var(--band-line);
  border-radius:var(--r); overflow:hidden;
}
.k-leak-item{background:var(--band-2); padding:14px 18px; display:flex; justify-content:space-between; align-items:center; gap:18px;}
.k-leak-item .t{font-size:14px; color:var(--band-ink);}
.k-leak-item .n{
  font-family:"IBM Plex Mono"; font-size:14px; font-weight:600; color:var(--band-now);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}

/* scoreboard */
.k-mapmeta{display:flex; gap:40px; margin-bottom:20px; flex-wrap:wrap;}
.k-mapmeta .mk{font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);}
.k-mapmeta .mv{font-family:"Archivo"; font-weight:800; font-size:30px; letter-spacing:-.04em; line-height:1.1;}
.k-mapmeta .mv.warn{color:var(--now);}
.k-board{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--lift);}
.k-brow{
  display:grid; grid-template-columns:1.5fr 1.1fr 78px 1fr 66px; gap:16px;
  align-items:center; padding:15px 22px; border-bottom:1px solid var(--line);
}
.k-brow.head{background:var(--surface-2); padding:12px 22px;}
.k-brow.head div{font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);}
.k-brow.head div:last-child{text-align:right;}
.k-brow:last-child{border-bottom:none;}
.k-brow .nm{font-size:14.5px; color:var(--ink-2); font-weight:500;}
.k-rv{display:flex; align-items:center; gap:10px;}
.k-rv .track{flex:1; height:8px; background:var(--sunk); border-radius:99px; overflow:hidden;}
.k-rv .fill{height:100%; background:var(--line-2); border-radius:99px;}
.k-rv .n{font-family:"IBM Plex Mono"; font-size:12.5px; color:var(--ink-2); width:38px; text-align:right; font-variant-numeric:tabular-nums;}
.k-brow .st{font-family:"IBM Plex Mono"; font-size:12.5px; color:var(--ink-2); font-variant-numeric:tabular-nums;}
.k-brow .rk{font-family:"IBM Plex Mono"; font-size:13px; color:var(--ink-2); text-align:right; font-variant-numeric:tabular-nums;}
.k-brow.you{background:var(--now-soft); border-top:2px solid var(--now); border-bottom:none;}
.k-brow.you .nm{color:var(--ink); font-weight:700; font-size:15.5px;}
.k-brow.you .k-rv .fill{background:var(--now);}
.k-brow.you .st,.k-brow.you .rk{color:var(--ink); font-weight:600;}

/* findings */
.k-finding{
  display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:start;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 24px;
}
.k-finding + .k-finding{margin-top:12px;}
.k-finding .fnum{font-family:"IBM Plex Mono"; font-size:12px; color:var(--muted); padding-top:4px; width:24px;}
.k-finding h4{font-size:19px; font-weight:600; margin:8px 0 7px;}
.k-finding p{font-size:14.5px; color:var(--ink-2); max-width:66ch;}
.k-ev{
  margin-top:11px; font-family:"IBM Plex Mono"; font-size:11.5px; color:var(--muted);
  background:var(--sunk); padding:8px 11px; border-radius:7px; display:inline-block;
}
.k-cost{text-align:right; min-width:140px;}
.k-cost .c-lab{font-family:"IBM Plex Mono"; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);}
.k-cost .c-val{
  font-family:"Archivo"; font-weight:800; font-size:23px; color:var(--now);
  font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:-.03em;
}

/* tables */
.k-tablewrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); box-shadow:var(--shadow);}
.k-table{border-collapse:collapse; width:100%; min-width:660px; font-size:13.5px;}
.k-table th{
  text-align:left; font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); font-weight:500; padding:13px 16px;
  border-bottom:1px solid var(--line); white-space:nowrap; background:var(--surface-2);
}
.k-table td{padding:13px 16px; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:middle;}
.k-table tr:last-child td{border-bottom:none;}
.k-table td.n,.k-table th.n{font-family:"IBM Plex Mono"; font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap;}
.k-table td strong{color:var(--ink); font-weight:600;}
.k-table tr.hot td{background:var(--crit-soft);}

/* ad cards */
.k-ads{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.k-ad{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow);
}
.k-ad .shot{
  aspect-ratio:4/3; background:var(--sunk); display:grid; place-items:center;
  border-bottom:1px solid var(--line); text-align:center; padding:16px; overflow:hidden;
}
.k-ad .shot img{width:100%; height:100%; object-fit:cover;}
.k-ad .shot .ph{font-family:"IBM Plex Mono"; font-size:10.5px; color:var(--muted); letter-spacing:.14em; text-transform:uppercase; line-height:1.6;}
.k-ad .meta{padding:16px; display:grid; gap:8px;}
.k-ad .who{font-weight:600; font-size:14.5px;}
.k-ad .hook{font-size:13px; color:var(--ink-2); line-height:1.45;}
.k-ad .run{font-family:"IBM Plex Mono"; font-size:11px; color:var(--muted);}
.k-ad.you{border-color:var(--now); box-shadow:var(--lift);}
.k-ad.you .shot{background:var(--now-soft);}

/* the model */
.k-model{display:grid; grid-template-columns:280px 1fr; gap:28px; align-items:start;}
.k-inputs{display:grid; gap:14px;}
.k-inp{display:grid; gap:6px;}
.k-inp label{font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);}
.k-inp .ctl{
  display:flex; align-items:center; background:var(--surface); border:1px solid var(--line-2);
  border-radius:8px; padding:0 11px; transition:border-color .12s, box-shadow .12s;
}
.k-inp .ctl span{color:var(--muted); font-size:13px; font-family:"IBM Plex Mono";}
.k-inp input{
  width:100%; border:0; background:transparent; color:var(--ink); padding:10px 4px;
  font-family:"IBM Plex Mono"; font-size:15px; font-variant-numeric:tabular-nums; outline:none;
}
.k-inp .ctl:focus-within{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft);}
.k-legend{display:flex; gap:18px; font-size:12.5px; color:var(--ink-2); margin-bottom:16px; flex-wrap:wrap;}
.k-legend b{display:inline-flex; align-items:center; gap:8px; font-weight:500;}
.k-legend .sw{width:11px; height:11px; border-radius:3px; display:inline-block;}
.k-legend .sw.now{background:var(--now);}
.k-legend .sw.ms{background:var(--accent);}
.k-fun{display:grid; gap:2px;}
.k-fstep{display:grid; grid-template-columns:160px 1fr 1fr; gap:14px; align-items:center; padding:10px 0; border-bottom:1px dashed var(--line);}
.k-fstep:last-child{border-bottom:none;}
.k-fstep .sl{font-size:13.5px; color:var(--ink-2);}
.k-fstep .sl small{display:block; font-family:"IBM Plex Mono"; font-size:10px; color:var(--muted); letter-spacing:.08em;}
.k-fbar{display:flex; align-items:center; gap:10px;}
.k-fbar .b{height:22px; border-radius:5px; min-width:3px; transition:width .35s cubic-bezier(.4,0,.2,1);}
.k-fbar .b.now{background:var(--now);}
.k-fbar .b.ms{background:var(--accent);}
.k-fbar .t{font-family:"IBM Plex Mono"; font-size:13px; font-variant-numeric:tabular-nums; font-weight:500; white-space:nowrap;}
.k-fstep.tot{border-top:1px solid var(--line-2); border-bottom:none; margin-top:8px; padding-top:16px;}
.k-fstep.tot .sl{font-weight:600; color:var(--ink); font-size:15px;}
.k-fstep.tot .t{font-size:16px; font-weight:600;}
.k-delta{
  margin-top:22px; background:var(--accent-soft); border:1px solid rgba(27,107,158,.3);
  border-radius:var(--r); padding:20px 24px; display:flex; flex-wrap:wrap; gap:26px; align-items:center;
}
.k-delta .d-big{
  font-family:"Archivo"; font-weight:800; font-size:35px; color:var(--accent-ink);
  font-variant-numeric:tabular-nums; letter-spacing:-.04em;
}
.k-delta .d-lab{font-size:13.5px; color:var(--ink-2); max-width:42ch;}
.k-delta .dsub{font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:2px;}

/* proof */
.k-proof-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; margin-bottom:26px;
}
.k-ps{background:var(--surface); padding:22px; text-align:center;}
.k-ps .v{font-family:"Archivo"; font-weight:800; font-size:34px; letter-spacing:-.045em; line-height:1;}
.k-ps .k{font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:8px;}
.k-hero-case{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:32px;
  display:grid; grid-template-columns:1fr 340px; gap:36px; align-items:center;
  box-shadow:var(--lift); margin-bottom:20px;
}
.k-badge{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
  font-family:"Archivo"; font-weight:800; font-size:17px; letter-spacing:-.02em;
  background:var(--accent); color:#fff; flex:none;
}
.k-badge.sm{width:44px; height:44px; font-size:15px; border-radius:12px; background:var(--sunk); color:var(--ink);}
.k-case-head{display:flex; align-items:center; gap:14px; margin-bottom:18px;}
.k-case-head .n{font-family:"Archivo"; font-weight:700; font-size:20px;}
.k-case-head .m{font-size:12.5px; color:var(--muted); font-family:"IBM Plex Mono";}
.k-quote{font-family:"Archivo"; font-weight:500; font-size:clamp(19px,2.3vw,25px); line-height:1.35; letter-spacing:-.02em; color:var(--ink);}
.k-attrib{margin-top:14px; font-size:13px; color:var(--muted);}
.k-rankgrid{display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;}
.k-rank{background:var(--surface-2); padding:12px 16px; display:flex; justify-content:space-between; align-items:center; gap:14px;}
.k-rank .rl{font-size:13px; color:var(--ink-2);}
.k-rank .rv2{font-family:"IBM Plex Mono"; font-size:13px; font-weight:600; color:var(--accent); white-space:nowrap;}
.k-cases{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.k-case{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:24px; display:grid; gap:14px; align-content:start;}
.k-case .topline{display:flex; align-items:center; gap:13px;}
.k-case .n{font-family:"Archivo"; font-weight:700; font-size:17px;}
.k-case .m{font-size:12px; color:var(--muted); font-family:"IBM Plex Mono";}
.k-headline{display:flex; align-items:baseline; gap:11px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); flex-wrap:wrap;}
.k-headline .hv{font-family:"Archivo"; font-weight:800; font-size:26px; letter-spacing:-.04em; color:var(--accent);}
.k-headline .hk{font-size:13px; color:var(--ink-2);}
.k-case q{font-size:14px; color:var(--ink-2); line-height:1.5; font-style:normal; quotes:"\201C" "\201D";}
.k-case .att{font-size:12px; color:var(--muted);}
.k-trustline{margin-top:22px; text-align:center; font-family:"IBM Plex Mono"; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}

/* investment */
.k-plans{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:start;}
.k-plan{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:24px; display:grid; gap:16px; align-content:start; position:relative;}
.k-plan.rec{border-color:var(--accent); box-shadow:var(--lift);}
.k-plan .tag{
  position:absolute; top:-11px; left:22px; background:var(--accent); color:#fff;
  font-family:"IBM Plex Mono"; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase;
  padding:4px 11px; border-radius:99px;
}
.k-plan h4{font-size:19px; font-weight:600;}
.k-plan .price{display:flex; align-items:baseline; gap:7px;}
.k-plan .price b{font-family:"Archivo"; font-size:36px; font-weight:800; letter-spacing:-.04em;}
.k-plan .price span{color:var(--muted); font-size:13px;}
.k-plan .was{font-family:"IBM Plex Mono"; font-size:11.5px; color:var(--muted);}
.k-plan ul{margin:0; padding:0; list-style:none; display:grid; gap:9px; font-size:13.5px; color:var(--ink-2);}
.k-plan li{display:grid; grid-template-columns:16px 1fr; gap:9px; align-items:start;}
.k-plan li::before{content:"✓"; color:var(--accent); font-size:12px; line-height:1.5;}
.k-addons{
  margin-top:20px; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
}
.k-addon{background:var(--surface); display:flex; justify-content:space-between; gap:14px; padding:12px 18px; font-size:13.5px; align-items:center;}
.k-addon span{color:var(--ink-2);}
.k-addon b{font-family:"IBM Plex Mono"; font-size:12.5px; font-weight:500; color:var(--ink); white-space:nowrap;}

/* the offer */
.k-offer{
  background:var(--band); color:var(--band-ink); border-radius:var(--r); padding:40px;
  display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:center;
  position:relative; overflow:hidden;
}
.k-offer::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 100% at 82% 50%, rgba(99,174,221,.2), transparent 70%);
}
.k-offer > *{position:relative; z-index:2;}
.k-offer h3{font-size:clamp(24px,3.2vw,32px); font-weight:700; margin-bottom:14px; color:#fff;}
.k-offer p{color:var(--band-mute); font-size:15px; max-width:50ch;}
.k-offer .terms{margin-top:14px; font-size:12.5px; color:var(--band-mute); opacity:.8;}
.k-stamp{
  display:inline-flex; font-family:"IBM Plex Mono"; font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--band-now); border:1px solid rgba(208,143,82,.42);
  padding:6px 12px; border-radius:99px; margin-bottom:18px;
}
.k-ctas{display:grid; gap:11px;}
.k-btn{
  display:flex; align-items:center; justify-content:center; gap:9px; text-decoration:none;
  font-family:"Instrument Sans"; font-weight:600; font-size:15px; padding:15px 20px;
  border-radius:9px; border:1px solid transparent; cursor:pointer; text-align:center;
  transition:background .15s, border-color .15s, color .15s;
}
.k-btn.pri{background:#fff; color:#0A111B;}
.k-btn.pri:hover{background:var(--band-accent); color:#fff;}
.k-btn.sec{background:transparent; border-color:var(--band-line); color:var(--band-ink);}
.k-btn.sec:hover{border-color:var(--band-accent); color:var(--band-accent);}
.k-foot{padding:34px 0 8px; color:var(--muted); font-size:12.5px; display:flex; flex-wrap:wrap; gap:8px 26px; align-items:center;}
.k-foot span:first-child{color:var(--ink); font-weight:600;}

/* scroll reveal, matched to the shop format */
.scan-root .reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.scan-root .reveal.in{opacity:1; transform:none;}
@media(prefers-reduced-motion:reduce){
  .scan-root .reveal{opacity:1; transform:none; transition:none;}
  .scan-root *{animation:none !important;}
}

@media (max-width:1000px){
  .k-hero-in,.k-leak-in,.k-model,.k-offer,.k-hero-case,.k-cases{grid-template-columns:1fr;}
  .k-tiles,.k-proof-stats{grid-template-columns:repeat(2,1fr);}
  .k-ads,.k-plans,.k-addons{grid-template-columns:1fr;}
  .k-finding{grid-template-columns:auto 1fr;}
  .k-cost{grid-column:2; text-align:left; min-width:0;}
  .k-brow{grid-template-columns:1.2fr 1fr 56px 92px 46px; gap:10px; padding:13px 14px; font-size:12.5px;}
  .k-fstep{grid-template-columns:104px 1fr 1fr;}
  .k-offer,.k-hero-case{padding:28px;}
  .k-sec{padding:44px 0;}
}
@media (max-width:620px){
  .k-tiles,.k-proof-stats{grid-template-columns:1fr;}
  .k-wrap{padding:0 16px;}
}

/* print: a paged document */
@media print{
  .scan-root .k-topbar{display:none;}
  .scan-root{background:#fff;}
  .k-sec{padding:30px 0; break-inside:avoid-page;}
  .k-hero{break-after:page;}
  .k-finding,.k-tile,.k-plan,.k-case,.k-ad,.k-brow,.k-table tr{break-inside:avoid;}
  .k-tablewrap{overflow:visible;}
  .k-table{min-width:0;}
  .scan-root .reveal{opacity:1 !important; transform:none !important;}
}
