*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Instrument Sans',system-ui,sans-serif;background:#fff;color:#4A4540;-webkit-font-smoothing:antialiased;line-height:1.6}
:root{
  --off:#F8F6F3;--warm:#F2EDE8;--border:#E8E2DB;
  --muted:#9A8E83;--body:#4A4540;--head:#1A1714;
  --accent:#C4956A;--teal:#2D7D6F;
  --serif:'Instrument Serif',Georgia,serif;
}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid transparent;z-index:100;transition:border-color .3s}
nav.scrolled{border-color:var(--border)}
.nav-logo{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--head);text-decoration:none}
.nav-r{display:flex;align-items:center;gap:28px}
.nav-links{display:flex;gap:24px;list-style:none}
.nav-links a{font-size:14px;font-weight:500;color:var(--body);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--head)}
.nav-cta{font-size:13px;font-weight:600;color:var(--head);text-decoration:none;padding:8px 18px;border:1.5px solid var(--head);border-radius:100px;transition:all .2s}
.nav-cta:hover{background:var(--head);color:#fff}

/* LAYOUT */
.tc{max-width:700px;margin:0 auto;padding:0 40px}
.wc{max-width:1080px;margin:0 auto;padding:0 48px}

/* UTILS */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.back{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;transition:color .2s;margin-bottom:48px}
.back:hover{color:var(--head)}
.back:hover svg{transform:translateX(-3px)}
.back svg{transition:transform .2s}
.btn-p{font-family:inherit;font-size:14px;font-weight:700;color:#fff;background:var(--head);padding:12px 28px;border-radius:100px;text-decoration:none;transition:all .2s;display:inline-block}
.btn-p:hover{background:#2D2926;transform:translateY(-1px)}
.stat-pill{font-size:13px;font-weight:600;color:var(--head);padding:8px 18px;border:1.5px solid var(--border);border-radius:100px;display:inline-block}
.stats{display:flex;flex-wrap:wrap;gap:10px}

/* HERO */
.hero{padding:136px 0 0}
.hero-inner{padding-bottom:56px;border-bottom:1px solid var(--border)}
.hero-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.hero-title{margin-bottom:24px}
.hero-ac3{font-size:clamp(88px,12vw,140px);font-weight:800;color:var(--head);line-height:.9;letter-spacing:-.04em;display:block}
.hero-sub{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.8vw,44px);color:var(--head);font-weight:400;line-height:1.15;display:block;padding-left:4px}
.hero-desc{font-size:clamp(16px,2vw,19px);line-height:1.72;color:var(--body);max-width:580px;margin-bottom:32px}
.meta-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:44px}
.meta-item{padding:18px 0}
.meta-item+.meta-item{padding-left:24px;border-left:1px solid var(--border)}
.ml{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.mv{font-size:14px;font-weight:700;color:var(--head);line-height:1.3}

/* ── CHAPTER HEADER — the new treatment ──
   Large chapter number floats left as a muted design element
   Label + headline stacked beside it */
.chapter{padding:80px 0;border-bottom:1px solid var(--border)}
.chapter:last-of-type{border-bottom:none}

.ch-header{display:flex;align-items:flex-start;gap:0;margin-bottom:40px}
.ch-num{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(72px,8vw,96px);font-weight:400;
  color:var(--border);line-height:.85;
  margin-right:28px;flex-shrink:0;
  user-select:none;
  /* nudge up so it baseline-aligns with the label */
  margin-top:-8px;
}
.ch-head-right{}
.ch-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ch-h{font-size:clamp(24px,3.2vw,34px);font-weight:800;color:var(--head);line-height:1.1}

/* Special: Listen Match Solve gets full-width bold treatment */
.lms-header{text-align:center;padding:0 0 48px;border-bottom:1px solid var(--border);margin-bottom:56px}
.lms-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.lms-title{font-size:clamp(44px,6vw,72px);font-weight:800;color:var(--head);line-height:1;letter-spacing:-.02em}
.lms-dot{color:var(--border)}
.lms-sub{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.2vw,24px);color:var(--muted);margin-top:16px;font-weight:400}

/* BODY TEXT */
.body{font-size:17px;line-height:1.82;color:var(--body)}
.body p{margin-bottom:20px}
.body p:last-child{margin-bottom:0}
.body strong{color:var(--head);font-weight:700}

/* PULL QUOTE */
.pq{margin:40px 0;padding:26px 32px;border-left:3px solid var(--accent);background:var(--off);border-radius:0 12px 12px 0}
.pq-text{font-family:var(--serif);font-style:italic;font-size:clamp(17px,2vw,21px);color:var(--head);line-height:1.6;margin-bottom:10px}
.pq-attr{font-size:13px;font-weight:500;color:var(--muted)}

/* IMAGE CONTAINERS, no weird padding, clean edges */
.img-hero-strip{width:100%;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.img-hero-strip img{width:100%;display:block;max-height:520px;object-fit:cover;object-position:top}
.img-full{border-radius:14px;overflow:hidden;margin:32px 0;border:1px solid var(--border)}
.img-full img{width:100%;display:block}
.img-full.onwhite{background:#fff}
.img-full.ongray{background:#f5f5f5}
.img-full.ondark{background:#111}
.img-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0}
.img-two-item{border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.img-two-item img{width:100%;display:block}
.fig-cap{font-size:12.5px;color:var(--muted);margin-top:-20px;margin-bottom:32px;font-style:italic;text-align:center}

/* INSIGHT CARDS */
.i-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}
.i-card{background:var(--warm);border-radius:14px;padding:26px;border:1px solid var(--border)}
.i-num{font-size:44px;font-weight:800;color:var(--head);font-family:var(--serif);font-style:italic;line-height:1;margin-bottom:8px}
.i-label{font-size:15px;font-weight:700;color:var(--head);margin-bottom:6px}
.i-desc{font-size:13px;color:var(--body);line-height:1.65}

/* LISTEN MATCH SOLVE MODEL */
.model{display:grid;grid-template-columns:repeat(3,1fr);background:var(--head);border-radius:16px;overflow:hidden;margin:32px 0}
.m-item{padding:36px 28px;border-right:1px solid rgba(255,255,255,.08)}
.m-item:last-child{border-right:none}
.m-n{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:12px}
.m-w{font-size:32px;font-weight:800;color:#fff;font-family:var(--serif);font-style:italic;margin-bottom:14px;line-height:1}
.m-d{font-size:14px;color:rgba(255,255,255,.6);line-height:1.65}

/* PROCESS STEPS */
.steps{margin:32px 0}
.step{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}
.step:first-child{border-top:1px solid var(--border)}
.s-n{font-size:11px;font-weight:700;color:var(--muted);min-width:26px;padding-top:4px;flex-shrink:0}
.s-t{font-size:16px;font-weight:700;color:var(--head);margin-bottom:6px}
.s-d{font-size:14px;color:var(--body);line-height:1.65}

/* CHARTS */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0;background:var(--warm);border:1px solid var(--border);border-radius:14px;padding:28px 30px}
.chart-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.bar-chart{display:flex;flex-direction:column;gap:11px}
.bar-row{display:flex;align-items:center;gap:10px}
.bar-lbl{font-size:12px;color:var(--body);min-width:66px;text-align:right;flex-shrink:0}
.bar-track{flex:1;background:#E8E2DB;border-radius:100px;height:8px;overflow:hidden}
.bar-fill{height:100%;background:var(--accent);border-radius:100px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.bar-val{font-size:12px;font-weight:700;color:var(--head);min-width:32px}
.chart-note{font-size:12px;color:var(--muted);margin-top:12px;font-style:italic}

/* BIG STATS */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin:32px 0}
.stat-b{background:#fff;padding:32px 24px;text-align:center}
.stat-n{font-size:clamp(36px,4.5vw,52px);font-weight:800;color:var(--head);line-height:1;margin-bottom:8px;font-family:var(--serif);font-style:italic}
.stat-l{font-size:14px;color:var(--body);line-height:1.5}
.stat-s{font-size:12px;color:var(--muted);margin-top:4px}

/* OUTCOMES */
.o-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:32px 0}
.o-item{padding:24px;border:1.5px solid var(--border);border-radius:14px}
.o-n{font-size:clamp(32px,4vw,46px);font-weight:800;color:var(--head);line-height:1;margin-bottom:8px;font-family:var(--serif);font-style:italic}
.o-l{font-size:14px;color:var(--body);line-height:1.5}
.o-l strong{color:var(--head);font-weight:700}

/* ENGAGEMENT MODEL */
.eng-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:32px 0}
.eng-card{border:1.5px solid var(--border);border-radius:14px;padding:24px}
.eng-card.hi{border-color:var(--head);background:var(--off)}
.eng-sz{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.eng-t{font-size:20px;font-weight:800;color:var(--head);margin-bottom:8px}
.eng-d{font-size:14px;color:var(--body);line-height:1.65}
.eng-tag{display:inline-block;margin-top:10px;font-size:11px;font-weight:700;padding:4px 12px;border-radius:100px;background:var(--head);color:#fff}

/* BIOMETRIC */
.bio-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.bio-panel{border:1.5px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.bio-hd{padding:12px 20px;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--warm)}
.bio-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:14px}
.bio-row:last-child{border-bottom:none}
.bio-row.tall{padding:22px 20px}
.bio-rl{flex:1}
.bio-name{font-size:15px;font-weight:700;color:var(--head);margin-bottom:4px}
.bio-note{font-size:13px;color:var(--body)}
.bio-formula{font-size:13px;color:var(--body);font-style:italic}
.bio-rr{display:flex;align-items:center;gap:10px;flex-shrink:0}
.bio-arr{width:26px;height:26px;border-radius:50%;background:#DCFCE7;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bio-num{font-family:var(--serif);font-size:26px;color:#0F6E56;line-height:1;white-space:nowrap}
.bio-num.xl{font-size:34px}
.bio-foot{font-size:12px;color:var(--muted);text-align:center;margin-top:12px;font-style:italic}

/* NEXT */
.next-cs{padding:72px 0;border-top:1px solid var(--border)}
.next-l{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.next-h{font-size:clamp(20px,3vw,30px);font-weight:800;color:var(--head);margin-bottom:22px}
footer{padding:32px 0;border-top:1px solid var(--border)}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.foot-n{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--muted)}
.foot-c{font-size:12px;color:var(--muted)}

@media(max-width:768px){
  nav{padding:16px 20px}
  .nav-links{display:none}
  .tc{padding:0 20px}
  .wc{padding:0 20px}
  .hero{padding:96px 0 0}
  .meta-strip{grid-template-columns:1fr 1fr}
  .meta-item:nth-child(3){grid-column:span 2;border-left:none;border-top:1px solid var(--border)}
  .ch-header{gap:0}
  .ch-num{font-size:56px;margin-right:18px}
  .chapter{padding:56px 0}
  .i-grid,.eng-grid{grid-template-columns:1fr}
  .model{grid-template-columns:1fr}
  .m-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .img-two,.bio-grid,.chart-grid{grid-template-columns:1fr}
  .stat-row,.o-grid{grid-template-columns:1fr}
  .lms-title{font-size:36px}
}
@media(max-width:480px){
  .tc{padding:0 16px}
  .wc{padding:0 16px}
  .ch-num{display:none}
}

.lc-wrap{margin:32px 0;background:var(--warm);border:1px solid var(--border);border-radius:14px;padding:28px 28px 20px}
.lc-legend{display:flex;align-items:center;gap:24px;margin-bottom:20px;flex-wrap:wrap}
.lc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.lc-leg-label{font-size:12px;color:var(--body);font-weight:500}
.lc-chart{display:flex;gap:8px;height:180px}
.lc-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;color:var(--muted);min-width:36px}
.lc-plot{flex:1;position:relative}
.lc-plot svg{position:absolute;top:0;left:0;width:100%;height:100%}
.lc-x-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:8px;padding-left:44px}
.lc-caption{font-size:12px;color:var(--muted);margin-top:14px;font-style:italic;text-align:center}


/* Line chart */
.lc-wrap{margin:32px 0;background:var(--warm);border:1px solid var(--border);border-radius:14px;padding:28px 28px 20px}
.lc-legend{display:flex;align-items:center;gap:24px;margin-bottom:20px;flex-wrap:wrap}
.lc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.lc-leg-label{font-size:12px;color:var(--body);font-weight:500}
.lc-chart{display:flex;gap:8px;height:180px}
.lc-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;color:var(--muted);min-width:36px}
.lc-plot{flex:1;position:relative}
.lc-plot svg{position:absolute;top:0;left:0;width:100%;height:100%}
.lc-x-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:8px;padding-left:44px}
.lc-caption{font-size:12px;color:var(--muted);margin-top:14px;font-style:italic;text-align:center}
/* Model compare */
.model-compare{display:grid;grid-template-columns:1fr 44px 1fr;gap:0;margin:32px 0;align-items:start}
.model-col{border-radius:14px;overflow:hidden;border:1.5px solid var(--border)}
.model-col.model-new{border-color:var(--teal)}
.model-col-hd{padding:18px 22px 14px;border-bottom:1px solid var(--border)}
.model-col.model-new .model-col-hd{border-color:rgba(45,125,111,.2);background:rgba(45,125,111,.03)}
.model-col-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.model-col.model-new .model-col-label{color:var(--teal)}
.model-col-sub{font-size:13px;color:var(--body)}
.model-step-list{padding:12px 22px;display:flex;flex-direction:column}
.model-step{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.model-step:last-of-type{border-bottom:none}
.model-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.model-step-title{font-size:14px;font-weight:700;color:var(--head);margin-bottom:4px}
.model-step.old .model-step-title{color:var(--muted)}
.model-step-desc{font-size:13px;color:var(--body);line-height:1.6}
.model-step-arrow{text-align:center;padding:0 22px;font-size:14px;color:var(--border);line-height:1}
.model-step-arrow.new{color:rgba(45,125,111,.4)}
.model-divider{display:flex;align-items:center;justify-content:center;padding-top:70px}
.model-vs{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--muted);background:#fff;border:1px solid var(--border);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.lms-header{text-align:center;padding:0 0 44px;border-bottom:1px solid var(--border);margin-bottom:48px}
.lms-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.lms-title{font-size:clamp(40px,6vw,68px);font-weight:800;color:var(--head);line-height:1;letter-spacing:-.02em}
.lms-sub{font-family:var(--serif);font-style:italic;font-size:clamp(16px,2vw,22px);color:var(--muted);margin-top:14px}
@media(max-width:768px){
  .model-compare{grid-template-columns:1fr;gap:10px}
  .model-divider{display:none}
  .lms-title{font-size:36px}
}

.two-q-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}
.two-q-item{background:var(--off);border-radius:14px;padding:32px 28px;border:1.5px solid var(--border);position:relative;overflow:hidden}
.two-q-item::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--head)}
.two-q-text{font-size:clamp(16px,2vw,21px);font-weight:700;color:var(--head);line-height:1.4}
.response-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
.response-card{border-radius:12px;padding:20px 18px;border:1.5px solid var(--border)}
.response-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.response-quote{font-size:13px;color:var(--body);line-height:1.65;font-style:italic}
.response-tech{background:var(--off)}.response-tech .response-tag{color:var(--muted)}
.response-ops{background:#FFFBF0;border-color:#F0E0A0}.response-ops .response-tag{color:var(--accent)}
@media(max-width:768px){
  .two-q-wrap,.response-grid{grid-template-columns:1fr}
}


/* ── Lightbox ── */
.lbx-img { cursor:zoom-in; }
#lbx-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.88); z-index:9999;
  align-items:center; justify-content:center; padding:24px;
}
#lbx-overlay.open { display:flex; }
#lbx-overlay img {
  max-width:92vw; max-height:90vh;
  border-radius:10px;
  box-shadow:0 32px 80px rgba(0,0,0,.6);
  object-fit:contain;
}
#lbx-close {
  position:fixed; top:20px; right:24px;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.3);
  color:#fff; font-size:20px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
#lbx-close:hover { background:rgba(255,255,255,.28); }

/* ── Spacing fixes ── */
.chapter { padding:72px 0; }
.body { font-size:16px; line-height:1.78; }
.body p { margin-bottom:1em; }
.body p:last-child { margin-bottom:0; }
.ch-header { margin-bottom:36px; }
.hero { padding:116px 0 0; }
.hero-inner { padding-bottom:48px; }
.back { margin-bottom:36px; }
.pq { margin:28px 0; padding:20px 26px; }
.stats { margin-bottom:24px; }
.meta-strip { margin-top:32px; }
.meta-item { padding:14px 0; }
.feature-divider { margin:48px 0; }
.before-after { margin:24px 0; }
.ba-side { padding:24px 26px; }
.ba-n { font-size:clamp(30px,4vw,46px); margin-bottom:4px; }
.ba-desc { font-size:13px; line-height:1.6; }
.ai-stats { margin:24px 0; }
.ai-stat { padding:22px 14px; }
.ai-stat-n { font-size:clamp(24px,3vw,38px); margin-bottom:5px; }
.ai-stat-l { font-size:12px; line-height:1.45; }
.trust-grid { margin:24px 0; gap:10px; }
.trust-card { padding:20px 22px; }
.trust-icon { width:38px; height:38px; margin-bottom:12px; }
.trust-title { font-size:13.5px; margin-bottom:6px; }
.trust-body { font-size:12.5px; line-height:1.6; }
.research-cols { margin:24px 0; gap:10px; }
.research-col { padding:20px 22px; }
.rc-icon { width:36px; height:36px; margin-bottom:12px; }
.rc-title { font-size:13.5px; margin-bottom:6px; }
.rc-body { font-size:12.5px; line-height:1.6; }
.problem-pair { margin:20px 0; }
.problem-side { padding:22px; }
.problem-quote { font-size:clamp(14px,1.6vw,16px); margin-bottom:8px; }
.problem-context { font-size:12px; line-height:1.6; }
.pd-wrap { margin:24px 0; padding:22px 26px; }
.mockup-label { margin-bottom:8px; }
.fig-cap { margin-top:6px; margin-bottom:20px; }
.stat-pill { font-size:12px; padding:6px 14px; }
.next-cs { padding:52px 0; }
footer { padding:28px 0; }
.pain-strip, .helped-strip { gap:8px; margin:16px 0 20px; }
.pain-item, .helped-item { padding:14px 16px; }
.pain-title, .helped-title { font-size:12px; margin-bottom:4px; }
.pain-body, .helped-body { font-size:11.5px; line-height:1.55; }
.feature-story { margin-bottom:56px; }
.feature-headline { font-size:clamp(24px,3vw,36px); margin-bottom:6px; }
.feature-sub { font-size:clamp(16px,2vw,20px); margin-bottom:24px; }


/* ═══════════════════════════════════════════════════════
   RESPONSIVE — comprehensive mobile fixes
   ═══════════════════════════════════════════════════════ */
html,body{overflow-x:hidden;}

@media(max-width:768px){
  .tc{padding:0 20px;}
  .wc{padding:0 20px;}
  .before-after,.before-after-split,.framework-grid,.scenario-grid,.outcome-strip,.demo-cards,.i-grid,.research-cols,.trust-grid,.problem-pair,.bio-grid,.chart-grid,.img-two,.stat-row,.o-grid,.eng-grid,.model,.ai-stats{grid-template-columns:1fr !important;}
  .ba-side+.ba-side{border-top:1px solid var(--border);}
  .before-after{gap:0;}
  .chapter{padding:52px 0;}
  .ch-num{font-size:52px;margin-right:16px;}
  .hero{padding:96px 0 0;}
  .hero-inner{padding-bottom:40px;}
  .meta-strip{grid-template-columns:1fr 1fr;}
  .meta-item:nth-child(3){grid-column:span 2;border-left:none;border-top:1px solid var(--border);}
  nav{padding:14px 20px;}
  .nav-links{display:none;}
  .pain-strip,.helped-strip{flex-direction:column;}
  .stats{gap:6px;}
  .stat-pill{font-size:11.5px;padding:5px 12px;}
  .pq{padding:18px 20px;}
  .pq-text{font-size:16px;}
  .feature-story{margin-bottom:48px;}
  .feature-headline{font-size:22px;}
  .card-img{height:200px;}
  .card-foot{flex-direction:column;align-items:flex-start;gap:10px;}
  .next-cs{padding:44px 0;}
}

@media(max-width:480px){
  .tc{padding:0 16px;}
  .wc{padding:0 16px;}
  .ch-num{display:none;}
  .chapter{padding:44px 0;}
  .hero{padding:88px 0 0;}
  .back{margin-bottom:28px;}
  .card-img{height:160px;}
  .stat-row{grid-template-columns:1fr 1fr;}
  .meta-strip{grid-template-columns:1fr;}
  .meta-item{border-left:none !important;border-top:1px solid var(--border);padding-left:0;}
  .meta-item:first-child{border-top:none;}
  .body{font-size:15px;line-height:1.74;}
}



.nav-toggle{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:4px;background:none;border:none;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--head);border-radius:1px;transition:all .2s;}
@media(max-width:768px){
  .nav-toggle{display:flex;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);padding:12px 20px 16px;border-bottom:1px solid var(--border);flex-direction:column;gap:4px;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:10px 0;font-size:15px;border-bottom:1px solid var(--border);}
  .nav-links li:last-child a{border-bottom:none;}
  nav{position:fixed;flex-wrap:wrap;}
}


/* ══════════════════════════════════════
   VISUAL ENERGY — accent pops
   ══════════════════════════════════════ */

/* Add a punchy second accent color */
:root {
  --pop: #1E3FA5;   /* deep blue — existing acc from demos */
  --pop-lt: #EEF2FF;
  --coral: #E8593C;
  --coral-lt: #FEF0EB;
}

/* ── Hero title — underline accent ── */
.hero-ac3 { color: var(--head); }
.hero-kicker {
  display: inline-flex; align-items: center; gap: 8px;
}
.hero-kicker::before {
  content: ''; display: inline-block;
  width: 20px; height: 2.5px;
  background: var(--accent); border-radius: 2px; flex-shrink: 0;
}

/* ── Chapter numbers — teal instead of faded border ── */
.ch-num { color: var(--teal) !important; opacity: .25; }

/* ── Chapter label — accent colored dot ── */
.ch-label {
  display: flex; align-items: center; gap: 7px;
}
.ch-label::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent); flex-shrink: 0; display: inline-block;
}

/* ── Pullquotes — thicker, teal border ── */
.pq {
  border-left: 4px solid var(--teal) !important;
  background: linear-gradient(to right, rgba(45,125,111,.05), transparent) !important;
  border-radius: 0 12px 12px 0;
}
.pq-text { color: var(--head) !important; }

/* ── Stat numbers — accent color ── */
.stat-n { color: var(--teal) !important; }
.ai-stat-n { color: var(--teal) !important; }
.ba-n { color: var(--head) !important; }

/* ── Stat pills — filled warm ── */
.stat-pill {
  background: var(--warm) !important;
  border-color: var(--accent) !important;
  color: var(--head) !important;
}

/* ── Tags — more color ── */
.tag { background: var(--off); }
.tag.teal {
  background: rgba(45,125,111,.1) !important;
  color: var(--teal) !important;
  border-color: var(--teal) !important;
}

/* ── Cards — colored hover border ── */
.card:hover {
  border-color: var(--teal) !important;
  box-shadow: 0 16px 56px rgba(45,125,111,.12), 0 4px 12px rgba(0,0,0,.06) !important;
}
.card:hover .card-lnk { color: var(--teal); }
.card:hover .card-lnk { gap: 10px; }

/* ── Card link arrow ── */


/* ── Back link — teal ── */
.back { color: var(--teal) !important; font-weight: 700; }
.back:hover { opacity: .75; }
.back svg path { stroke: var(--teal) !important; }

/* ── Primary button — teal ── */
.btn-p {
  background: var(--teal) !important;
  letter-spacing: .02em;
}
.btn-p:hover { background: #235f54 !important; }

/* ── Demo buttons ── */
.demo-btn { background: var(--teal) !important; }
.demo-btn:hover { background: #235f54 !important; }

/* ── Section heading italic — accent ── */
.sec-title .i { color: var(--accent) !important; }

/* ── Next case study section — warm bg ── */
.next-cs {
  background: var(--warm);
  border-top: none !important;
  border-radius: 16px;
  margin: 0 0 0;
}
.next-l { color: var(--accent) !important; }

/* ── Footer — accent top border ── */
footer { border-top: 3px solid var(--teal) !important; }

/* ── Hero kicker on index ── */
.open-badge {
  background: rgba(45,125,111,.12) !important;
  color: var(--teal) !important;
  border: 1.5px solid rgba(45,125,111,.3) !important;
}

/* ── i-cards (numbered insight cards) ── */
.i-card:nth-child(3n+1) { border-top: 3px solid var(--teal); }
.i-card:nth-child(3n+2) { border-top: 3px solid var(--accent); }
.i-card:nth-child(3n)   { border-top: 3px solid var(--pop); }
.i-num { color: var(--teal) !important; }

/* ── Trust / research cards ── */
.trust-card, .research-col { border-top: 2px solid var(--border); transition: border-color .2s; }
.trust-card:hover, .research-col:hover { border-top-color: var(--accent); }

/* ── Steps ── */
.s-n { color: var(--accent) !important; font-weight: 800; }

/* ── Work section bg ── */
.work { background: var(--off) !important; }

/* ── About section ── */
.about { background: var(--warm) !important; }

/* ── Pain/helped strip labels ── */
.explore-takeaways-lbl { color: var(--accent) !important; }
.design-addressed-lbl { color: var(--teal) !important; }

/* ── Helped strip items ── */
.helped-item { border-left: 3px solid var(--teal) !important; }
.pain-item { border-left: 3px solid var(--accent) !important; }

/* ── Hero big number (AC3 etc) — underline on italic sub ── */
.hero-sub {
  border-bottom: none;
  position: relative;
}

/* ── Chapter section labels — styled like badges ── */
.ch-label {
  font-size: 10px !important;
  letter-spacing: .14em;
  color: var(--teal) !important;
}
.ch-label::before { background: var(--teal) !important; }

/* ── Model (dark) items ── */
.m-w { color: var(--accent) !important; }

/* ── Scaling XQ / bar raiser labels ── */
.xq-n, .br-n { color: var(--teal) !important; }


/* ── Button fix — back to dark ── */
.btn-p {
  background: var(--head) !important;
  color: #fff !important;
  letter-spacing: .02em;
}
.btn-p:hover { background: #2D2926 !important; }
.demo-btn { background: var(--head) !important; }
.demo-btn:hover { background: #2D2926 !important; }
.demo-btn { color: #fff !important; }

/* ── Back link — muted, not teal ── */
.back { color: var(--muted) !important; font-weight: 600 !important; }
.back:hover { color: var(--head) !important; opacity: 1 !important; }
.back svg path { stroke: var(--muted) !important; }
.back:hover svg path { stroke: var(--head) !important; }

/* ── Mobile typography and spacing ── */
@media(max-width:768px) {
  /* Hero */
  .h1 { font-size: clamp(36px, 9vw, 60px) !important; line-height: 1.05 !important; }
  .hero-ac3 { font-size: clamp(60px, 14vw, 100px) !important; }
  .hero-sub { font-size: clamp(20px, 5vw, 30px) !important; }
  .hero-desc { font-size: 15px !important; line-height: 1.7 !important; }

  /* Section headings */
  .ch-h { font-size: clamp(22px, 5vw, 32px) !important; }
  .sec-title .s, .sec-title .i { font-size: 28px !important; }

  /* Feature headlines */
  .feature-headline { font-size: 20px !important; }
  .feature-sub { font-size: 15px !important; }

  /* Body text */
  .body { font-size: 15px !important; line-height: 1.72 !important; }
  .body p { margin-bottom: .9em !important; }

  /* Cards */
  .card-title { font-size: 17px !important; }
  .card-desc { font-size: 13px !important; }
  .card-body { padding: 20px 18px 22px !important; }

  /* Stat numbers — smaller on mobile */
  .stat-n { font-size: clamp(28px, 7vw, 44px) !important; }
  .ai-stat-n { font-size: clamp(22px, 6vw, 36px) !important; }
  .ba-n { font-size: clamp(24px, 6vw, 40px) !important; }

  /* Pullquote */
  .pq-text { font-size: 15px !important; }

  /* Stat pills — wrap gracefully */
  .stats { gap: 5px !important; }
  .stat-pill { font-size: 11px !important; padding: 4px 10px !important; white-space: nowrap; }

  /* Tags */
  .tag { font-size: 10px !important; padding: 3px 9px !important; }

  /* Pain/helped items */
  .pain-title, .helped-title { font-size: 12px !important; }
  .pain-body, .helped-body { font-size: 11.5px !important; }

  /* Chapter header */
  .ch-header { margin-bottom: 28px !important; }

  /* Next section */
  .next-cs { padding: 36px 20px !important; border-radius: 0 !important; }
  .next-h { font-size: 20px !important; }

  /* i-cards */
  .i-label { font-size: 14px !important; }
  .i-desc { font-size: 12.5px !important; }

  /* Insight grid — 2 col on tablet */
  .i-grid { grid-template-columns: 1fr 1fr !important; }

  /* Steps */
  .s-t { font-size: 14px !important; }
  .s-d { font-size: 13px !important; }

  /* Model dark section */
  .m-w { font-size: 22px !important; }
  .m-d { font-size: 12px !important; }

  /* Footer */
  .foot { flex-direction: column; gap: 6px !important; }
  .foot-n { font-size: 14px !important; }
  .foot-c { font-size: 12px !important; }
}

@media(max-width:480px) {
  /* Back to 1col on small phones */
  .i-grid { grid-template-columns: 1fr !important; }

  /* Hero tighter */
  .hero-ac3 { font-size: clamp(52px, 16vw, 80px) !important; }
  .hero-kicker { font-size: 10px !important; }

  /* Nav */
  .nav-logo { font-size: 16px !important; }

  /* Chapter */
  .chapter { padding: 40px 0 !important; }

  /* Reduce button padding */
  .btn-p { padding: 10px 22px !important; font-size: 13px !important; }
  .demo-btn { padding: 10px 16px !important; font-size: 12px !important; }

  /* Trust/research cards */
  .trust-title, .rc-title { font-size: 13px !important; }
  .trust-body, .rc-body { font-size: 12px !important; }

  /* Before-after */
  .ba-cell { padding: 18px 16px !important; }
  .ba-desc { font-size: 12.5px !important; }

  /* Pq even smaller */
  .pq { padding: 16px 18px !important; }
  .pq-text { font-size: 14px !important; }
}