/* ============================================================
   RCM ThinkLabs | rcmlabs.io
   Shared stylesheet, all pages
   ------------------------------------------------------------
   Contents
     1. Tokens
     2. Base and utilities
     3. Buttons
     4. Header and navigation
     5. Page heroes (home + inner)
     6. Section scaffold
     7. Components
        7.1 Transcript card
        7.2 Stat band
        7.3 Problem grid
        7.4 Steps
        7.5 Evidence story and quote
        7.6 Manager sentences
        7.7 Fit cells and IOC/FOC path
        7.8 Advisors
        7.9 Facts band
        7.10 Teaser rows (home)
        7.11 Contact page
     8. Final CTA
     9. Footer
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  --ink:        #121212;
  --ink-soft:   #1C1B19;
  --cream:      #F6F4EE;
  --cream-dim:  #EDEAE1;
  --amber:      #F0B447;
  --crimson:    #C8353A;

  --t-on-dark:       rgba(246,244,238,0.94);
  --t-on-dark-muted: rgba(246,244,238,0.60);
  --t-on-dark-faint: rgba(246,244,238,0.34);
  --t-on-cream:        #121212;
  --t-on-cream-muted:  #5F5B52;
  --line-dark:  rgba(246,244,238,0.12);
  --line-cream: rgba(18,18,18,0.12);

  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --serif-ital: 'Fraunces', Georgia, serif;

  --max: 1120px;
  --pad: clamp(20px, 5vw, 48px);
}

/* ---------- 2. Base and utilities ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--t-on-cream);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
::selection{background:var(--amber);color:var(--ink)}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}
img,svg{display:block}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:0.16em;
  text-transform:uppercase;
}
h1,h2,h3{font-weight:700;letter-spacing:-0.025em;line-height:1.08}
h1{font-size:clamp(38px,6vw,64px);font-weight:800}
h2{font-size:clamp(28px,4vw,44px)}
h3{font-size:clamp(19px,2.2vw,23px);letter-spacing:-0.015em}
.ital{
  font-family:var(--serif-ital);
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
}
.lede{font-size:clamp(17px,2vw,20px);line-height:1.65}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none}}

/* ---------- 3. Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-weight:600;font-size:16px;
  text-decoration:none;
  padding:15px 28px;border-radius:6px;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  cursor:pointer;border:none;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-amber{background:var(--amber);color:var(--ink)}
.btn-amber:hover{box-shadow:0 8px 28px rgba(240,180,71,0.35)}
.btn-ghost-dark{background:transparent;color:var(--t-on-dark);border:1px solid var(--line-dark)}
.btn-ghost-dark:hover{border-color:rgba(246,244,238,0.4)}
.btn-ghost-cream{background:transparent;color:var(--ink);border:1px solid var(--line-cream)}
.btn-ghost-cream:hover{border-color:rgba(18,18,18,0.4)}
.btn .arrow{transition:transform .15s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* text link with arrow, used in teasers */
.tlink{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:600;font-size:15px;text-decoration:none;
  border-bottom:2px solid var(--amber);padding-bottom:2px;
}
.tlink:hover .arrow{transform:translateX(3px)}
.tlink .arrow{transition:transform .15s ease}

/* ---------- 4. Header and navigation ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(18,18,18,0.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-dark);
}
.nav-in{
  max-width:var(--max);margin:0 auto;
  padding:0 var(--pad);
  height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand-mark{display:block;flex:none}
.brand-name{font-weight:700;font-size:15.5px;letter-spacing:-0.01em;color:var(--t-on-dark)}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{
  font-size:14px;font-weight:500;text-decoration:none;
  color:var(--t-on-dark-muted);transition:color .15s ease;
  padding:4px 0;
}
.nav-links a:hover{color:var(--t-on-dark)}
.nav-links a[aria-current="page"]{
  color:var(--t-on-dark);
  border-bottom:2px solid var(--amber);
}
.nav-cta{
  font-size:14px;font-weight:600;text-decoration:none;
  color:var(--ink);background:var(--amber);
  padding:9px 18px;border-radius:5px;white-space:nowrap;
  transition:box-shadow .15s ease;
}
.nav-cta:hover{box-shadow:0 4px 18px rgba(240,180,71,0.35)}
@media (max-width:760px){.nav-links{display:none}}

/* ---------- 5. Page heroes ---------- */
/* Home hero: full, dark */
.hero{
  position:relative;
  background:var(--ink);
  color:var(--t-on-dark);
  overflow:hidden;
  min-height:calc(100vh - 66px);
  display:flex;
  flex-direction:column;
}
.hero-plate{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;object-fit:cover;object-position:center;transform-origin:center;animation:heroPlateBreath 15s ease-in-out infinite;will-change:transform}
@keyframes heroPlateBreath{0%,100%{transform:scale(1.02)}50%{transform:scale(1.055)}}
/* The signal breathes: a masked, screen-blended copy of the plate gently pulses its
   light in the upper field only. The type safe zone is masked out, so contrast is
   untouched and the line never moves. The static plate stays the LCP image.
   Reduced-motion: off. */
.hero-breath{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 34%,transparent 52%);
          mask-image:linear-gradient(to bottom,#000 0%,#000 34%,transparent 52%)}
.hero-breath i{position:absolute;inset:-7%;display:block;background:url("hero/hero-1920.webp") center/cover no-repeat;
  mix-blend-mode:screen;opacity:0.12;animation:heroBreath 6.5s ease-in-out infinite;will-change:opacity,transform}
@keyframes heroBreath{0%,100%{opacity:0.12;transform:scale(1) translateX(0)}50%{opacity:0.60;transform:scale(1.09) translateX(-1.8%)}}
@media (max-width:767px){
  .hero-breath{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 28%,transparent 46%);
               mask-image:linear-gradient(to bottom,#000 0%,#000 28%,transparent 46%)}
  .hero-breath i{background-image:url("hero/hero-mobile-1080.webp")}}
@media (prefers-reduced-motion:reduce){.hero-breath i{animation:none;opacity:0}.hero-plate{animation:none}}
.hero .stats{position:relative;z-index:2}
.hero-msg{max-width:780px;margin:0 auto}
.hero-in{
  position:relative;z-index:2;
  flex:1;
  display:flex;align-items:flex-end;justify-content:center;
  text-align:center;
  padding:clamp(72px,10vh,120px) 0 clamp(22px,3.4vh,40px);
}
.hero-msg .btn{margin-top:30px}
.hero h1{color:var(--t-on-dark);margin:22px 0 24px}
.hero h1 .ital{color:var(--amber)}
/* Subhead body raised to 0.65 opacity so it clears 7:1 AAA on the scrim-free plate.
   Scoped to the hero only; the --t-on-dark-muted token is unchanged. */
.hero .lede{color:rgba(246,244,238,0.65);max-width:52ch;margin:0 auto 36px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero .eyebrow{color:var(--t-on-dark-muted)}
.hero .eyebrow .tick{color:var(--crimson)}
.hero-legend{
  position:relative;z-index:2;margin:0;
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  padding:0 var(--pad) clamp(20px,3.4vh,38px);
  font-size:11px;color:var(--t-on-dark-muted);
}
.hl-item{display:inline-flex;align-items:center;gap:8px}
.hl-dot{width:8px;height:8px;border-radius:50%;flex:none}
.hl-cool{background:rgb(150,172,200);box-shadow:0 0 9px 1px rgba(150,172,200,0.55)}
.hl-warm{background:var(--amber);box-shadow:0 0 9px 1px rgba(240,180,71,0.55)}
.hl-arrow{color:var(--t-on-dark-faint);font-family:var(--mono)}
@media (max-width:560px){.hero-legend{gap:9px}.hl-arrow{display:none}}
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr}
}

/* Inner page hero: compact, dark */
.phero{
  background:var(--ink);color:var(--t-on-dark);
  padding:clamp(64px,9vh,104px) 0 clamp(48px,7vh,72px);
  border-bottom:1px solid var(--line-dark);
}
.phero .eyebrow{color:var(--t-on-dark-muted);display:block;margin-bottom:18px}
.phero .eyebrow .tick{color:var(--crimson)}
.phero h1{color:var(--t-on-dark);max-width:22ch}
.phero h1 .ital{color:var(--amber)}
.phero p{color:var(--t-on-dark-muted);max-width:62ch;margin-top:22px;font-size:clamp(16px,1.8vw,18.5px)}

/* ---------- 6. Section scaffold ---------- */
section{padding:clamp(64px,9vh,110px) 0}
.sec-head{max-width:720px;margin-bottom:clamp(32px,5vh,52px)}
.sec-head .eyebrow{margin-bottom:18px;display:block}
.on-cream .eyebrow{color:var(--t-on-cream-muted)}
.on-cream .eyebrow .n{color:var(--crimson)}
.sec-head p{margin-top:20px;color:var(--t-on-cream-muted)}
.band-dim{background:var(--cream-dim)}
.band-dark{background:var(--ink);color:var(--t-on-dark)}
.band-dark .eyebrow{color:var(--t-on-dark-muted)}
.band-dark .eyebrow .n{color:var(--amber)}
.band-dark h2{color:var(--t-on-dark)}
.band-dark .sec-head p{color:var(--t-on-dark-muted)}

/* ---------- 7. Components ---------- */

/* 7.1 Transcript card */
.card{
  background:var(--ink-soft);
  border:1px solid var(--line-dark);
  border-radius:10px;
  padding:26px 26px 22px;
  box-shadow:0 24px 60px rgba(0,0,0,0.45);
}
@media (max-width:900px){.card{max-width:520px}}
.card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:14px;margin-bottom:18px;
  border-bottom:1px solid var(--line-dark);
}
.card-head .eyebrow{color:var(--t-on-dark-faint);font-size:11px}
.dot-row{display:flex;gap:6px}
.dot-row i{width:8px;height:8px;border-radius:50%;background:rgba(246,244,238,0.15)}
.dot-row i:first-child{background:var(--crimson)}
.tr-line{font-family:var(--mono);font-size:13px;line-height:1.7;margin-bottom:14px}
.tr-who{color:var(--t-on-dark-faint);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;display:block;margin-bottom:3px}
.tr-q{color:var(--t-on-dark)}
.tr-a{color:var(--t-on-dark-muted)}
/* Voice signal: the AI colleague answers out loud (ElevenLabs). */
.vwave{margin-left:7px;vertical-align:-1px}
.vwave rect{fill:var(--amber);transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .vwave rect{animation:vwave 1.1s ease-in-out infinite}
  .vwave rect:nth-child(2){animation-delay:.13s}
  .vwave rect:nth-child(3){animation-delay:.26s}
  .vwave rect:nth-child(4){animation-delay:.39s}
  .vwave rect:nth-child(5){animation-delay:.52s}
}
@keyframes vwave{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.sentence .vwave{display:block;margin:0 0 12px 0}
.tr-sig{
  margin-top:18px;padding-top:16px;border-top:1px dashed var(--line-dark);
  font-family:var(--mono);font-size:12px;line-height:1.8;
}
.tr-sig .lbl{color:var(--t-on-dark-faint);display:block;margin-bottom:8px;letter-spacing:0.12em;text-transform:uppercase;font-size:11px}
.sig-chip{
  display:inline-block;margin:0 8px 8px 0;
  padding:4px 10px;border-radius:4px;
  border:1px solid rgba(240,180,71,0.35);
  color:var(--amber);
  background:rgba(240,180,71,0.06);
}
/* live manager exchange: typed Q&A (JS adds .live) */
.card.live .tr-a{display:block;min-height:168px}
@media (max-width:520px){.card.live .tr-a{min-height:220px}}
.card.live .tr-sig{opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease}
.card.live .tr-sig.in{opacity:1;transform:none}
.tr-q.typing::after,.tr-a.typing::after,.sig-t.typing::after,.brief p.typing::after{content:"";display:inline-block;width:2px;height:1.02em;margin-left:2px;vertical-align:-2px;background:currentColor;opacity:.7;animation:caretBlink 1s step-end infinite}
.pulse.streaming .pulse-list{min-height:70px}
.briefing .briefing-grid{grid-template-columns:1fr}
.briefing-grid .brief p{min-height:4.5em}
@keyframes caretBlink{0%,100%{opacity:.7}50%{opacity:0}}
.tr-typing{display:inline-flex;gap:5px;align-items:center;vertical-align:middle;height:1.2em}
.tr-typing i{width:6px;height:6px;border-radius:50%;background:var(--t-on-dark-faint);opacity:.4}
@media (prefers-reduced-motion:no-preference){
  .tr-typing i{animation:pulseType 1.1s ease-in-out infinite}
  .tr-typing i:nth-child(2){animation-delay:.15s}
  .tr-typing i:nth-child(3){animation-delay:.3s}
}

/* 7.2 Stat band (hero base, dark) */
.stats{
  position:relative;z-index:2;
  border-top:1px solid var(--line-dark);
  background:rgba(18,18,18,0.6);
}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:0 auto}
.stat{padding:28px var(--pad);border-left:1px solid var(--line-dark)}
.stat:first-child{border-left:none}
.stat b{
  display:block;font-family:var(--mono);font-weight:600;
  font-size:clamp(24px,3vw,34px);color:var(--t-on-dark);letter-spacing:-0.02em;
}
.stat span{display:block;margin-top:6px;font-size:13px;color:var(--t-on-dark-muted);line-height:1.45}
.stat em{font-style:normal;color:var(--amber)}
.stats-note{display:flex;justify-content:center;margin:0;padding:2px var(--pad) 30px}
.sn-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 17px 8px 9px;border:1px solid var(--line-dark);border-radius:22px;background:rgba(246,244,238,0.03);font-size:13px;line-height:1.4;color:var(--t-on-dark-muted);max-width:100%}
.sn-badge b{color:var(--t-on-dark);font-weight:600}
.sn-check{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(240,180,71,0.18);color:var(--amber);font-size:10px;font-weight:800;flex:none}
@media (max-width:820px){
  .stats-in{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:none}
  .stat{border-top:1px solid var(--line-dark)}
  .stat:nth-child(-n+2){border-top:none}
}
@media (max-width:440px){
  .stats-in{grid-template-columns:1fr}
  .stat{border-left:none;border-top:1px solid var(--line-dark)}
  .stat:first-child{border-top:none}
}
/* stats band, 3-up variant (engagement moved to the Why-a-game highlight) */
.stats-in.three{grid-template-columns:repeat(3,1fr)}
.stats-in.three .stat:first-child{border-left:none}
@media (max-width:820px){
  .stats-in.three{grid-template-columns:1fr}
  .stats-in.three .stat{border-left:none;border-top:1px solid var(--line-dark)}
  .stats-in.three .stat:first-child{border-top:none}
}
/* ============ Why a game ============ */
.whygame-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:860px){.whygame-grid{grid-template-columns:1fr;gap:34px}}
.whygame-copy h2{max-width:19ch}
.whygame h2 .ital{color:#a4681a}
.whygame-copy p{margin-top:16px;max-width:44ch;font-size:clamp(1.02rem,1.3vw,1.14rem);line-height:1.62;color:var(--t-on-cream-muted)}
.whygame-viz{background:#fff;border:1px solid var(--line-cream);border-radius:16px;padding:clamp(24px,2.4vw,34px);box-shadow:0 2px 6px rgba(20,18,14,.04),0 20px 46px rgba(20,18,14,.07)}
.eng-bar{margin-bottom:22px}
.eng-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px}
.eng-name{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-on-cream-muted)}
.eng-num{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--t-on-cream-muted)}
.eng-bar.hi .eng-num{font-family:inherit;font-size:26px;font-weight:800;letter-spacing:-.01em;color:#a4681a}
.eng-track{height:14px;border-radius:9px;background:rgba(20,18,14,.06);overflow:hidden}
.eng-fill{display:block;height:100%;width:0;border-radius:9px;background:var(--t-on-cream-muted);opacity:.45}
.eng-bar.hi .eng-fill{background:linear-gradient(90deg,#F0B447,#D97742);opacity:1}
.eng-cap{margin-top:16px;font-size:13px;line-height:1.5;color:var(--t-on-cream-muted)}
@media (prefers-reduced-motion:no-preference){.eng-fill{transition:width 1.15s cubic-bezier(.2,.7,.2,1)}}
.whygame-viz.in .eng-fill{width:var(--w)}

/* 7.3 Problem grid */
.problem-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line-cream);
  border:1px solid var(--line-cream);border-radius:10px;overflow:hidden;
}
.problem-cell{background:var(--cream);padding:32px 28px}
.band-dim .problem-grid{border-color:transparent;box-shadow:0 2px 6px rgba(20,18,14,.05),0 20px 46px rgba(20,18,14,.07)}
.problem-cell h3{margin-bottom:12px}
.problem-cell p{font-size:15.5px;color:var(--t-on-cream-muted)}
.problem-cell .eyebrow{color:var(--crimson);display:block;margin-bottom:16px;font-size:11px}
@media (max-width:820px){.problem-grid{grid-template-columns:1fr}}
.problem-grid.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px) and (min-width:821px){.problem-grid.four{grid-template-columns:repeat(2,1fr)}}
/* transformation of work: three living cards */
.transwork .sec-head h2{max-width:28ch}
.transwork .sec-head h2 .ital{color:#a4681a}
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.5vw,22px);margin-top:clamp(30px,4.4vh,52px)}
.pcard{position:relative;display:flex;flex-direction:column;background:#141414;border-radius:16px;overflow:hidden;box-shadow:0 2px 6px rgba(20,18,14,.06),0 22px 50px rgba(20,18,14,.13)}
.pcard-viz{position:relative;height:154px;background:radial-gradient(120% 120% at 50% 0%,#1a1917,#131211)}
.pcard-viz canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pcard-body{display:flex;flex-direction:column;gap:.62rem;padding:clamp(20px,1.7vw,30px);flex:1}
.pcard-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson)}
.pcard-t{margin:0;font-size:clamp(1.16rem,1.5vw,1.42rem);line-height:1.25;letter-spacing:-.01em;font-weight:600;color:var(--cream);display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .35rem}
.pcard-d{margin:0;font-size:.95rem;line-height:1.52;color:rgba(246,244,238,.55)}
.pcard-src{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:rgba(246,244,238,.34)}
.pcard-num{font-family:var(--serif-ital);font-weight:600;font-size:clamp(2.3rem,3.2vw,3rem);line-height:.85;letter-spacing:-.02em;color:#e0474c;text-shadow:0 0 26px rgba(200,53,58,.45);display:inline-flex;align-items:baseline}
.pcard-num .u{font-size:.3em;font-family:var(--mono);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:rgba(246,244,238,.55);text-shadow:none;margin-left:.16em}
.mf-turn{margin-top:clamp(40px,6vh,74px);font-size:clamp(22px,3vw,32px);font-weight:600;line-height:1.32;color:var(--t-on-cream);max-width:46ch}
.mf-turn .ital{color:#a4681a}
/* reveal: cards rise in sequence */
.pcard.rv{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  .pcard{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
  .pcard.in{opacity:1;transform:none}
  .pcards .pcard:nth-child(2).in{transition-delay:.12s}
  .pcards .pcard:nth-child(3).in{transition-delay:.24s}
  .mf-turn .ital{animation:breathe 3.6s ease-in-out infinite}
}
@keyframes breathe{0%,100%{text-shadow:0 0 0 rgba(164,104,26,0)}50%{text-shadow:0 0 15px rgba(164,104,26,.42)}}
@media (max-width:820px){
  .pcards{grid-template-columns:1fr}
  .mf-turn{font-size:clamp(21px,5.4vw,26px)}
}
/* alive: methodology cards assemble on scroll, and respond on hover */
.problem-grid.four.rv{opacity:1;transform:none}
.problem-grid.four .problem-cell{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease,background .25s ease,box-shadow .25s ease}
.problem-grid.four.in .problem-cell{opacity:1;transform:none}
.problem-grid.four.in .problem-cell:nth-child(2){transition-delay:.1s,.1s,0s,0s}
.problem-grid.four.in .problem-cell:nth-child(3){transition-delay:.2s,.2s,0s,0s}
.problem-grid.four.in .problem-cell:nth-child(4){transition-delay:.3s,.3s,0s,0s}
.problem-grid.four .problem-cell:hover{background:#fff;box-shadow:inset 0 3px 0 var(--crimson)}
@media (prefers-reduced-motion:reduce){.problem-grid.four .problem-cell{opacity:1;transform:none}}
.pullline{
  margin-top:48px;
  font-size:clamp(21px,2.8vw,28px);
  font-weight:600;letter-spacing:-0.02em;line-height:1.35;
  max-width:46ch;
}
.pullline .ital{color:var(--crimson);font-weight:400}

/* 7.4 Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.step{position:relative;padding-top:22px}
.step::before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;background:var(--amber)}
.step .k{
  font-family:var(--mono);font-size:12px;letter-spacing:0.14em;
  color:var(--t-on-cream-muted);text-transform:uppercase;
  display:block;margin-bottom:12px;
}
.step h3{margin-bottom:12px}
.step p{font-size:15.5px;color:var(--t-on-cream-muted)}
.step p + p{margin-top:10px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.how-note{
  margin-top:52px;padding:26px 30px;
  border-left:3px solid var(--crimson);
  background:var(--cream);border-radius:0 8px 8px 0;
  max-width:760px;
}
.how-note p{font-size:16px;color:var(--t-on-cream)}
.how-note .ital{color:var(--crimson)}
.how-note .tlink{margin-top:14px;color:var(--t-on-cream)}

/* 7.5 Evidence story and quote */
.ev-grid{
  display:grid;grid-template-columns:1.05fr 0.95fr;
  gap:clamp(32px,4vw,64px);align-items:start;
}
@media (max-width:900px){.ev-grid{grid-template-columns:1fr}}
.ev-story{
  border:1px solid var(--line-dark);border-radius:10px;
  padding:34px 32px;background:var(--ink-soft);
}
.ev-story .eyebrow{color:var(--amber);display:block;margin-bottom:20px;font-size:11px}
.ev-story p{color:var(--t-on-dark-muted);font-size:16px}
.ev-story p + p{margin-top:14px}
.ev-story .hit{color:var(--t-on-dark);font-weight:600}
.ev-story .num{font-family:var(--mono);color:var(--amber);font-weight:600}
.ev-quote{padding:8px 0 0}
.ev-quote blockquote{
  font-family:var(--serif-ital);font-style:italic;font-weight:400;
  font-size:clamp(22px,2.8vw,29px);line-height:1.45;letter-spacing:-0.01em;
  color:var(--t-on-dark);
}
.ev-quote cite{
  display:block;margin-top:22px;font-style:normal;
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--t-on-dark-muted);
}
.ev-quote cite b{color:var(--amber);font-weight:500}
.ev-facts{
  margin-top:40px;padding-top:28px;border-top:1px solid var(--line-dark);
  display:grid;grid-template-columns:1fr 1fr;gap:22px;
}
.ev-facts div b{font-family:var(--mono);font-size:24px;font-weight:600;color:var(--t-on-dark);display:block}
.ev-facts div span{font-size:13px;color:var(--t-on-dark-muted)}
.ev-cta{margin-top:56px;display:flex;gap:14px;flex-wrap:wrap}

/* 7.6 AI colleague artifacts (at a glance, morning pulse, monthly read) */
.ai-block{margin:0 0 30px}
.ai-block:last-child{margin-bottom:0}
.ai-cap{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--t-on-cream-muted);margin:0 0 14px}

/* at a glance */
.glance{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}
@media (max-width:820px){.glance{grid-template-columns:1fr 1fr}}
.gtile{position:relative;background:#fff;border:1px solid var(--line-cream);border-radius:14px;padding:20px;box-shadow:0 1px 2px rgba(20,18,14,.04),0 10px 26px rgba(20,18,14,.05);transition:transform .2s ease,box-shadow .2s ease}
.gtile:hover{transform:translateY(-3px);box-shadow:0 3px 6px rgba(20,18,14,.06),0 18px 38px rgba(20,18,14,.10)}
.gtile-k{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t-on-cream-muted);margin-bottom:15px}
.gtile-k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);flex:none;box-shadow:0 0 0 3px rgba(240,180,71,.16)}
.gtile.warn .gtile-k::before{background:var(--crimson);box-shadow:0 0 0 3px rgba(200,53,58,.16)}
.gtile-v{display:block;font-size:30px;font-weight:700;line-height:1;letter-spacing:-0.025em;color:var(--t-on-cream)}
.gtile-v .up{font-size:14px;color:var(--amber);vertical-align:2px}
.gtile-note{display:block;margin-top:11px;font-size:13px;line-height:1.4;color:var(--t-on-cream-muted)}

/* morning pulse */
.pulse{max-width:600px;border:1px solid var(--line-cream);border-radius:16px;background:#fff;padding:22px 24px;margin:0;box-shadow:0 2px 6px rgba(20,18,14,.04),0 18px 44px rgba(20,18,14,.07)}
.pulse-head{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line-cream)}
.pulse-avatar{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:linear-gradient(150deg,rgba(240,180,71,.24),rgba(217,119,66,.14));box-shadow:inset 0 0 0 1px rgba(240,180,71,.4)}
.pulse-avatar img{border-radius:7px;display:block}
.pulse-who{flex:1;display:flex;flex-direction:column;gap:2px;line-height:1.3}
.pulse-who b{font-size:14.5px;color:var(--t-on-cream)}
.pulse-who span{font-family:var(--mono);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--t-on-cream-muted)}
.pulse-lead{font-size:14px;color:var(--t-on-cream-muted);margin-bottom:15px}
.pulse-list{list-style:none;display:grid;gap:14px}
.pulse-list li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.52;color:var(--t-on-cream)}
.pulse-list li b{font-weight:600}
.pulse-list .dot{position:absolute;left:2px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--t-on-cream-muted)}
.pulse-list .dot.up{background:var(--amber);box-shadow:0 0 0 4px rgba(240,180,71,.14)}
.pulse-list .dot.warn{background:var(--crimson);box-shadow:0 0 0 4px rgba(200,53,58,.14)}
.pulse-foot{display:block;margin-top:17px;padding-top:15px;border-top:1px solid var(--line-cream);font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t-on-cream-muted)}

/* monthly read */
.briefing{border:1px solid var(--line-cream);border-radius:16px;background:#FDFCF9;overflow:hidden;margin:0;box-shadow:0 2px 6px rgba(20,18,14,.04),0 18px 44px rgba(20,18,14,.06)}
.briefing-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--line-cream);background:#fff}
.briefing-k{font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--t-on-cream)}
.briefing-by{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t-on-cream-muted)}
.briefing-by .vwave{margin:0 8px 0 0}
.briefing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-cream)}
@media (max-width:820px){.briefing-grid{grid-template-columns:1fr}}
.brief{background:#FDFCF9;padding:24px 24px 26px;transition:background .2s ease}
.brief:hover{background:#fff}
.brief-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.brief .src{display:block;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t-on-cream-muted)}
.brief-sub{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--t-on-cream);white-space:nowrap}
.brief-sub .tw{color:#a4681a;background:rgba(240,180,71,.18);padding:2px 8px;border-radius:20px;font-weight:600;letter-spacing:0}
.brief p{font-size:16px;line-height:1.62;color:var(--t-on-cream);font-weight:500}
.briefing-foot{padding:14px 24px;border-top:1px solid var(--line-cream);font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t-on-cream-muted)}
/* live morning pulse: colleague types + streams each signal (JS adds .streaming) */
.pulse.streaming .pulse-item{opacity:0;transform:translateY(9px);transition:opacity .5s ease,transform .5s ease}
.pulse.streaming .pulse-item.in{opacity:1;transform:none}
.pulse-typing{list-style:none;display:flex;align-items:center;gap:6px;padding-left:2px;height:16px}
.pulse-typing span{width:7px;height:7px;border-radius:50%;background:var(--t-on-cream-muted);opacity:.3}
@media (prefers-reduced-motion:no-preference){
  .pulse-typing span{animation:pulseType 1.15s ease-in-out infinite}
  .pulse-typing span:nth-child(2){animation-delay:.16s}
  .pulse-typing span:nth-child(3){animation-delay:.32s}
}
@keyframes pulseType{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:.85;transform:translateY(-3px)}}
/* monthly read: colleague keeps compiling, a scan moves brief to brief */
.brief{position:relative;transition:background .3s ease,box-shadow .3s ease}
.brief.active{background:#fff;box-shadow:inset 3px 0 0 0 var(--amber),0 10px 28px rgba(20,18,14,.07)}
.brief.active .src{color:#a4681a}
.brief-top,.brief p{transition:opacity .34s ease}
.brief.writing .brief-top,.brief.writing p{opacity:0}
/* constant motion: a live sparkline scrolls behind every glance tile */
.gtile>.gtile-k,.gtile>.gtile-v,.gtile>.gtile-note{position:relative;z-index:1}
.gspark{position:absolute;left:0;right:0;bottom:0;width:100%;height:56px;opacity:.5;z-index:0;pointer-events:none}
/* constant motion: a light beam keeps sweeping the monthly read */
@media (prefers-reduced-motion:no-preference){
  .briefing-grid{position:relative}
  .briefing-grid::after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:40%;pointer-events:none;z-index:3;background:linear-gradient(90deg,transparent,rgba(240,180,71,.12),transparent);animation:briefSweep 4.6s linear infinite}
}
@keyframes briefSweep{0%{left:-45%}100%{left:105%}}
/* the typed quote is now the writing signal, so no separate src caret */

/* live indicator + update flash */
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);vertical-align:1px}
.live-word{color:#a4681a}
@media (prefers-reduced-motion:no-preference){.live-dot{animation:livepulse 1.9s ease-in-out infinite}}
@keyframes livepulse{0%,100%{box-shadow:0 0 0 0 rgba(240,180,71,.55)}55%{box-shadow:0 0 0 5px rgba(240,180,71,0)}}
.gtile.flash{animation:gtileflash .9s ease}
@keyframes gtileflash{0%,100%{background:#fff}25%{background:#FFF6E4}}
.gtile.flash .gtile-v{animation:gtilevflash .9s ease}
@keyframes gtilevflash{0%,100%{color:var(--t-on-cream)}25%{color:#b3771a}}

/* 7.7 Fit cells and IOC/FOC path */
.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fit-grid.two{grid-template-columns:repeat(2,1fr)}
.fit-grid.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.fit-grid.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.fit-grid,.fit-grid.two,.fit-grid.four{grid-template-columns:1fr}}
.fit-cell{
  background:var(--cream);border:1px solid var(--line-cream);
  border-radius:10px;padding:28px;
}
.fit-cell h3{margin-bottom:10px}
.fit-cell p{font-size:15px;color:var(--t-on-cream-muted)}
.fit-cell .eyebrow{color:var(--crimson);font-size:11px;display:block;margin-bottom:14px}
.fit-list{list-style:none;margin-top:4px;display:grid;gap:11px}
.fit-list li{position:relative;padding-left:20px;font-size:15px;line-height:1.5;color:var(--t-on-cream-muted)}
.fit-list li::before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--amber)}
.fit-list li.ai{padding:13px 15px;background:rgba(240,180,71,.10);border:1px solid rgba(240,180,71,.24);border-radius:8px;margin-top:2px}
.fit-list li.ai::before{display:none}
.fit-list li.ai .vwave{margin:0 8px -1px 0}
.path{
  margin-top:28px;
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:20px;align-items:center;
  background:var(--ink);border-radius:10px;
  padding:30px 32px;color:var(--t-on-dark);
}
.path-stage .path-k{
  font-family:var(--mono);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--amber);display:block;margin-bottom:8px;
}
.path-stage b{display:block;font-size:17px;font-weight:700;letter-spacing:-0.01em}
.path-stage p{margin-top:6px;font-size:14px;color:var(--t-on-dark-muted)}
.path-arrow{font-family:var(--mono);font-size:22px;color:var(--t-on-dark-faint)}
@media (max-width:700px){
  .path{grid-template-columns:1fr;gap:14px;padding:26px}
  .path-arrow{transform:rotate(90deg);justify-self:start;margin-left:2px}
}
.path-note{margin-top:clamp(22px,3.4vh,34px);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;font-size:15px;color:var(--t-on-cream-muted)}
.path-note .ital{color:var(--t-on-cream)}
.path-note .tlink{color:var(--t-on-cream)}

/* 7.8 Advisors */
.adv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,40px);max-width:800px}
@media (max-width:820px){.adv-grid{grid-template-columns:1fr}}
.adv{position:relative;padding-top:26px;transition:opacity .6s ease, transform .45s cubic-bezier(.2,.7,.2,1)}
.adv::before{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .85s cubic-bezier(.2,.8,.2,1) .12s}
.adv.in::before{transform:scaleX(1)}
.adv-n{display:block;font-family:var(--mono);font-size:12px;letter-spacing:0.14em;color:var(--amber);margin-bottom:14px}
.adv:hover{transform:translateY(-4px)}
.adv-grid .adv:nth-child(2){transition-delay:.08s}
.adv-grid .adv:nth-child(2)::before{transition-delay:.24s}
.adv b{display:block;font-size:17px;font-weight:700;letter-spacing:-0.01em}
.adv .role{
  display:block;margin-top:4px;
  font-family:var(--mono);font-size:12px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--crimson);
}
.adv p{margin-top:12px;font-size:14.5px;color:var(--t-on-cream-muted)}

/* 7.9 Facts band (platform measurement figures) */
.facts-band{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line-cream);border-radius:10px;overflow:hidden;
  background:var(--line-cream);gap:1px;
}
.facts-band div{background:var(--cream);padding:26px 28px}
.facts-band b{font-family:var(--mono);font-size:28px;font-weight:600;display:block;letter-spacing:-0.02em}
.facts-band span{font-size:13.5px;color:var(--t-on-cream-muted)}
@media (max-width:700px){.facts-band{grid-template-columns:1fr}}

/* 7.10 Teaser rows (home page links into deep pages) */
.teaser{
  display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:clamp(28px,4vw,64px);align-items:center;
}
.teaser.flip{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr)}
@media (max-width:860px){.teaser,.teaser.flip{grid-template-columns:1fr}}
.teaser h2{margin-bottom:16px}
.teaser p{color:var(--t-on-cream-muted);margin-bottom:24px}
.band-dark .teaser p{color:var(--t-on-dark-muted)}

/* 7.11 Voices page */
.feature-quote{max-width:880px}
.feature-quote blockquote{
  font-family:var(--serif-ital);font-style:italic;font-weight:400;
  font-size:clamp(28px,4.4vw,48px);line-height:1.35;letter-spacing:-0.015em;
  color:var(--t-on-dark);
}
.feature-quote cite{
  display:block;margin-top:28px;font-style:normal;
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--t-on-dark-muted);
}
.feature-quote cite b{color:var(--amber);font-weight:500}
.quote-context{
  margin-top:40px;padding-top:28px;
  border-top:1px solid var(--line-dark);
  max-width:640px;
}
.quote-context p{color:var(--t-on-dark-muted);font-size:15.5px}
/* Testimonials featured proof: the 70% counts up, pairing the quote with the number. */
.quote-proof{
  margin-top:44px;padding-top:30px;border-top:1px solid var(--line-dark);
  max-width:700px;display:flex;align-items:center;gap:clamp(20px,4vw,46px);flex-wrap:wrap;
}
.quote-proof .qp-num{display:flex;align-items:baseline;line-height:0.85;color:var(--amber)}
.quote-proof .qp-num .num{font-size:clamp(56px,8.5vw,96px);font-weight:800;letter-spacing:-0.03em}
.quote-proof .qp-num span{font-size:clamp(26px,3.4vw,40px);font-weight:700}
.quote-proof .qp-cap{flex:1;min-width:240px;color:var(--t-on-dark-muted);font-size:15.5px;max-width:38ch}
/* Testimonials: editorial stream, not boxes. Big serif-italic quotes with a
   hanging amber quote mark, refined mono attribution, hairline dividers. */
.voices{margin-top:clamp(28px,4.5vh,52px);max-width:920px}
.vq{position:relative;padding:clamp(32px,4.8vh,56px) 0 clamp(32px,4.8vh,56px) clamp(48px,6.5vw,100px);border-top:1px solid var(--line-cream)}
.vq:first-child{border-top:none}
.vq::before{content:"\201C";position:absolute;left:-6px;top:clamp(40px,5.6vh,74px);
  font-family:var(--serif-ital);font-style:italic;font-size:clamp(66px,8vw,116px);line-height:0;color:var(--amber);
  opacity:0;transform:translateY(12px) scale(.55);transform-origin:left top;
  transition:opacity .7s ease .1s, transform .85s cubic-bezier(.2,.8,.2,1) .1s, color .25s ease}
.vq.in::before{opacity:1;transform:none}
.vq blockquote{
  font-family:var(--serif-ital);font-style:italic;font-weight:400;
  font-size:clamp(21px,2.7vw,31px);line-height:1.42;letter-spacing:-0.012em;
  color:var(--t-on-cream);max-width:34ch;
}
.vq figcaption{
  margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
}
.vq .role{color:var(--t-on-cream);font-weight:600}
.vq .tag{color:var(--t-on-cream-muted);display:inline-flex;align-items:center;gap:10px}
.vq .tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}
/* staggered reveal cascade + hover micro-interaction */
.voices .vq:nth-child(2){transition-delay:.08s}
.voices .vq:nth-child(3){transition-delay:.16s}
.voices .vq:nth-child(2).in::before{transition-delay:.18s}
.voices .vq:nth-child(3).in::before{transition-delay:.26s}
.vq blockquote{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.vq:hover blockquote{transform:translateX(6px)}
.vq:hover::before{color:#ffce6a}
@media (prefers-reduced-motion:reduce){.vq::before{opacity:1;transform:none;transition:none}.vq blockquote{transition:none}}
@media (max-width:640px){
  .vq{padding-left:0}
  .vq::before{position:static;display:block;font-size:64px;line-height:0.8;margin-bottom:2px}
}

/* 7.12 Contact page */
.contact-grid{
  display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:clamp(28px,4vw,64px);align-items:start;
}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.expect{list-style:none;margin-top:28px}
.expect li{
  padding:18px 0;border-top:1px solid var(--line-cream);
  display:flex;gap:16px;align-items:flex-start;
}
.expect li:last-child{border-bottom:1px solid var(--line-cream)}
.expect .m{
  font-family:var(--mono);font-size:12px;color:var(--crimson);
  letter-spacing:0.1em;padding-top:4px;white-space:nowrap;
}
.expect p{font-size:15.5px;color:var(--t-on-cream-muted)}
.expect b{color:var(--t-on-cream);display:block;margin-bottom:2px;font-size:15.5px}
.sched{
  border:1px solid var(--line-cream);border-radius:10px;overflow:hidden;
  background:#FDFCF9;min-height:680px;
}
.contact-alt{margin-top:22px;font-size:14.5px;color:var(--t-on-cream-muted)}
.contact-alt a{color:var(--crimson);font-weight:600;text-decoration:none}
.contact-alt a:hover{text-decoration:underline}

/* 7.13 Email capture (one-pager) */
.capture{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:clamp(28px,4vw,60px);align-items:center;
  background:var(--ink);color:var(--t-on-dark);
  border-radius:12px;
  padding:clamp(30px,4vw,52px);
}
@media (max-width:860px){.capture{grid-template-columns:1fr}}
.capture .eyebrow{color:var(--amber);display:block;margin-bottom:14px}
.capture h2{color:var(--t-on-dark);font-size:clamp(24px,3.2vw,36px);margin-bottom:12px}
.capture > div > p{color:var(--t-on-dark-muted);font-size:15.5px;max-width:44ch}
.capture-form{display:flex;flex-direction:column;gap:12px}
.capture-row{display:flex;gap:10px}
@media (max-width:520px){.capture-row{flex-direction:column}}
.capture-form input[type="email"]{
  flex:1;min-width:0;
  font-family:var(--sans);font-size:15.5px;
  padding:14px 16px;border-radius:6px;
  border:1px solid var(--line-dark);
  background:var(--ink-soft);color:var(--t-on-dark);
}
.capture-form input[type="email"]::placeholder{color:var(--t-on-dark-faint)}
.capture-form input[type="email"]:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:transparent}
.capture-form .btn{padding:14px 24px;white-space:nowrap}
.capture-note{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.06em;
  color:var(--t-on-dark-faint);
}
.capture-err{font-size:13.5px;color:#E88A8E;display:none}
.capture-done{display:none}
.capture-done p{color:var(--t-on-dark);font-size:16px;margin-bottom:16px}
.capture-done p b{color:var(--amber)}
/* honeypot field, invisible to people, filled only by bots */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 7.14 FAQ */
.faq{max-width:760px}
.faq details{
  border-top:1px solid var(--line-cream);
  padding:4px 0;
}
.faq details:last-child{border-bottom:1px solid var(--line-cream)}
.faq summary{
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 0;
  font-weight:600;font-size:16.5px;letter-spacing:-0.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";
  font-family:var(--mono);font-size:20px;font-weight:400;
  color:var(--crimson);flex-shrink:0;
  transition:transform .18s ease;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{
  padding:0 0 20px;max-width:62ch;
  font-size:15.5px;color:var(--t-on-cream-muted);
}


/* 7.15 Hero buyer line */
.hero-for{
  margin-top:22px;
  font-family:var(--mono);font-size:12px;letter-spacing:0.08em;
  color:var(--t-on-dark-muted);
}

/* 7.16 Concern moves (evidence) */
.moves{border:1px solid var(--line-dark);border-radius:10px;overflow:hidden}
.move{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.9fr) auto;
  gap:16px;align-items:center;
  padding:20px 26px;
  border-top:1px solid var(--line-dark);
  background:var(--ink-soft);
}
.move:first-child{border-top:none}
.move .said{font-family:var(--serif-ital);font-style:italic;font-size:17px;color:var(--t-on-dark)}
.move .dim{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t-on-dark-muted)}
.move .dim b{color:var(--t-on-dark);font-weight:500}
.move .delta{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--amber);text-align:right}
@media (max-width:640px){.move{grid-template-columns:1fr;gap:6px}.move .delta{text-align:left}}
.under{
  margin-top:22px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line-dark);border:1px solid var(--line-dark);
  border-radius:10px;overflow:hidden;
}
@media (max-width:860px){.under{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.under{grid-template-columns:1fr}}
.under div{background:var(--ink-soft);padding:20px 22px}
.under b{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--t-on-dark);display:block}
.under b .to{color:var(--amber)}
.under span{font-size:12.5px;color:var(--t-on-dark-muted)}

/* 7.17 Compounding ladder (platform) */
.compound-line{
  font-size:clamp(21px,2.8vw,28px);font-weight:600;letter-spacing:-0.02em;line-height:1.35;
  max-width:34ch;margin-bottom:36px;
}
.compound-line .ital{color:var(--crimson);font-weight:400}
.compound-chart{max-width:760px;margin:40px auto 0}
.compound-chart svg{width:100%;height:auto;display:block}
.compound-chart figcaption{
  margin-top:14px;text-align:center;font-family:var(--mono);
  font-size:12px;letter-spacing:0.02em;color:var(--t-on-cream-muted);
}
/* alive: RCM curve compounds up once and holds; snapshot line keeps starting over */
@media (prefers-reduced-motion:no-preference){
  .compound-chart .rcm-line{stroke-dasharray:1;stroke-dashoffset:1}
  .compound-chart.in .rcm-line{animation:cdraw 2.3s cubic-bezier(.4,0,.2,1) .25s forwards}
  .compound-chart .rcm-fill{opacity:0}
  .compound-chart.in .rcm-fill{animation:cfill 2.4s ease .25s forwards}
  .compound-chart .rcm-dot{opacity:0;transform-box:fill-box;transform-origin:center}
  .compound-chart.in .rcm-dot{animation:cdot .5s ease 2.35s forwards, cdotpulse 2.4s ease-in-out 2.9s infinite}
  .compound-chart .snap-line{stroke-dasharray:1;stroke-dashoffset:1}
  .compound-chart.in .snap-line{animation:csnap 5.5s ease-in-out 1s infinite}
}
@keyframes cdraw{to{stroke-dashoffset:0}}
@keyframes cfill{0%,25%{opacity:0}100%{opacity:1}}
@keyframes cdot{to{opacity:1}}
@keyframes cdotpulse{0%,100%{filter:drop-shadow(0 0 0 rgba(240,180,71,0))}50%{filter:drop-shadow(0 0 7px rgba(240,180,71,.95))}}
@keyframes csnap{0%{stroke-dashoffset:1;opacity:0}12%{opacity:.42}30%{stroke-dashoffset:0}70%{stroke-dashoffset:0;opacity:.42}82%{stroke-dashoffset:0;opacity:0}83%{stroke-dashoffset:1}100%{stroke-dashoffset:1;opacity:0}}


/* 7.18 Supporter logos
   Footer (dark): official artwork rendered monochrome cream via CSS filter
   so mixed brand palettes sit quietly on the ink background.
   Company row (cream): original brand colors. */
.foot-logo{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(246,244,238,0.62);
}
.foot-logo img.lg{
  height:16px;width:auto;display:block;
  filter:brightness(0) invert(0.92);
  opacity:0.75;transition:opacity .15s ease;
}
.foot-logo img.lg-wide{height:15px}
.foot-logo img.lg-badge{height:30px}
.foot-logo:hover img.lg{opacity:1}
.foot-logo span{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0.01em}
.foot-logo .wordmark{font-weight:600;letter-spacing:0.04em}

.backer-row{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:24px 44px;margin-top:8px;
  color:var(--t-on-cream-muted);
}
.backer{display:inline-flex;align-items:center;gap:10px}
.backer img.lg{height:26px;width:auto;display:block}
.backer img.lg-wide{height:22px}
.backer img.lg-badge{height:44px}
.backer span{font-size:15px;font-weight:500}
.backer .wordmark{font-weight:700;letter-spacing:0.05em;font-size:16px}
/* Supporter logos: cascade in on reveal, lift on hover. */
.backer-row.rv{opacity:1;transform:none}
.backer{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .55s cubic-bezier(.2,.7,.2,1)}
.backer-row.in .backer{opacity:1;transform:none}
.backer-row.in .backer:nth-child(1){transition-delay:.04s}
.backer-row.in .backer:nth-child(2){transition-delay:.10s}
.backer-row.in .backer:nth-child(3){transition-delay:.16s}
.backer-row.in .backer:nth-child(4){transition-delay:.22s}
.backer-row.in .backer:nth-child(5){transition-delay:.28s}
.backer-row.in .backer:nth-child(6){transition-delay:.34s}
.backer img{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.backer:hover img{transform:translateY(-3px) scale(1.05)}
@media (prefers-reduced-motion:reduce){
  .adv::before{transform:scaleX(1);transition:none}
  .adv:hover{transform:none}
  .backer{opacity:1;transform:none;transition:none}
  .backer:hover img{transform:none}
}

/* 7.19 Living system band (home) */
.sysband{border-top:1px solid var(--line-dark);padding:clamp(56px,8vh,96px) 0}
.sys-stage{
  display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:clamp(32px,5vw,64px);align-items:center;
}
@media (max-width:880px){.sys-stage{grid-template-columns:1fr}}
.sysband h2{color:var(--t-on-dark)}
.sysband h2 .ital{color:var(--amber)}
.sys-lede{color:var(--t-on-dark-muted);margin-top:20px;font-size:16.5px;line-height:1.65;max-width:46ch}
.sys-viz{position:relative}
.sys-viz canvas{width:100%;height:auto;display:block}
.sys-hud{
  position:absolute;left:0;bottom:0;
  display:flex;align-items:baseline;gap:18px;
  font-family:var(--mono);
}
.sys-legend{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--t-on-dark-faint);
}
.sys-legend i{width:7px;height:7px;border-radius:50%;display:inline-block;margin-left:10px}
.sys-legend i:first-child{margin-left:0}
.sys-note{
  font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--t-on-dark-faint);
}
@media (max-width:640px){.sys-legend{display:none}}

/* ---------- 8. Final CTA ---------- */
.final{background:var(--ink);color:var(--t-on-dark);text-align:center;position:relative;overflow:hidden}
.final .wrap{position:relative;z-index:2}
.final h2{color:var(--t-on-dark);max-width:18ch;margin:0 auto 20px}
.final h2 .ital{color:var(--amber)}
.final p{color:var(--t-on-dark-muted);max-width:52ch;margin:0 auto 36px}
.final .eyebrow{color:var(--t-on-dark-muted);display:block;margin-bottom:20px}
.final-mail{display:block;margin-top:26px;font-family:var(--mono);font-size:13px;color:var(--t-on-dark-muted)}
.final-mail a{color:var(--amber);text-decoration:none}
.final-mail a:hover{text-decoration:underline}
.final-star{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(520px,80vw);opacity:0.05;z-index:1;
}

/* ---------- 9. Footer ---------- */
footer{
  background:var(--ink);color:var(--t-on-dark-muted);
  border-top:1px solid var(--line-dark);
  padding:44px 0 40px;font-size:13.5px;
}
.foot-support{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding-bottom:30px;margin-bottom:30px;
  border-bottom:1px solid var(--line-dark);
}
.foot-support .lbl{
  font-family:var(--mono);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--t-on-dark-muted);
}
.foot-support span{font-family:var(--mono);font-size:12.5px;color:var(--t-on-dark-muted)}
.foot-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.foot-brandline{max-width:44ch}
.foot-brandline .bn{
  display:flex;align-items:center;gap:10px;margin-bottom:12px;
  color:var(--t-on-dark);font-weight:700;font-size:15px;
}
.foot-links{display:flex;gap:26px;list-style:none;flex-wrap:wrap}
.foot-links a{text-decoration:none;color:var(--t-on-dark-muted)}
.foot-links a:hover{color:var(--t-on-dark)}
.foot-legal{margin-top:28px;font-family:var(--mono);font-size:11.5px;color:var(--t-on-dark-muted)}

/* ============ Get Demo wave + demo page ============ */
.btn-demo{position:relative;overflow:hidden}
.btn-demo::after{content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.5), transparent);
  transform:skewX(-18deg);animation:btnwave 3.4s ease-in-out infinite;pointer-events:none}
.btn-demo:hover::after{animation-duration:1.1s}
@keyframes btnwave{0%{left:-65%}55%{left:130%}100%{left:130%}}
@media (prefers-reduced-motion: reduce){.btn-demo::after{display:none}}
.btn-lg{font-size:16px;padding:16px 30px}

/* intro band (moved from hero) */
.intro-band{text-align:center}
.intro-band .eyebrow{display:block;margin-bottom:20px}
.intro-band .eyebrow .n{color:var(--crimson)}
.intro-lede{font-size:clamp(20px,2.6vw,29px);line-height:1.4;font-weight:500;max-width:26ch;margin:0 auto 20px;color:var(--t-on-cream)}
.intro-for{font-family:var(--mono);font-size:12px;letter-spacing:0.08em;color:var(--t-on-cream-muted);margin-bottom:24px}
.intro-band .tlink{color:var(--crimson);border-bottom-color:var(--crimson)}

/* demo page */
.demo{min-height:calc(100vh - 66px);display:flex;align-items:center;padding:clamp(40px,7vh,80px) 0}
.demo-wrap{max-width:640px;margin:0 auto;width:100%}
.demo-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}
.demo-prog{flex:0 0 auto;width:190px;height:4px;border-radius:3px;background:var(--line-dark);overflow:hidden}
.demo-prog-bar{display:block;height:100%;background:var(--amber);border-radius:3px;transition:width .45s cubic-bezier(.4,0,.2,1)}
.demo-step{display:none;border:0;margin:0;padding:0;min-inline-size:0}
.demo-step.is-active{display:block;animation:demofade .4s ease}
@keyframes demofade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.demo-count{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;color:var(--amber)}
.demo-step h2{color:var(--t-on-dark);font-size:clamp(26px,4vw,38px);margin:12px 0 26px;letter-spacing:-0.01em}
.fld{display:block;margin-bottom:18px}
.fld span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t-on-dark-muted);margin-bottom:9px}
.fld input{width:100%;background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:10px;padding:14px 16px;color:var(--t-on-dark);font-size:16px;font-family:inherit}
.fld input:focus{outline:none;border-color:var(--amber)}
.fld input.invalid{border-color:var(--crimson)}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}
.chips.shake{animation:shake .42s}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.chip{background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:999px;padding:12px 20px;color:var(--t-on-dark);font-size:15px;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.chip:hover{border-color:var(--t-on-dark-muted)}
.chip.on{border-color:var(--amber);background:rgba(240,180,71,0.12)}
.demo-nav{display:flex;align-items:center;gap:14px;margin-top:34px}
.demo-nav .btn-demo,.demo-nav [data-submit]{margin-left:auto}
.demo-cal h2{color:var(--t-on-dark);font-size:clamp(26px,4vw,38px);margin-bottom:10px}
.demo-sub{color:var(--t-on-dark-muted);margin-bottom:22px}
#cal-embed{min-width:280px;height:660px}

.stats{background:var(--ink);color:var(--t-on-dark)}

/* demo: name row + select */
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:520px){.fld-row{grid-template-columns:1fr}}
.fld select{width:100%;background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:10px;padding:14px 16px;color:var(--t-on-dark);font-size:16px;font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer}
.fld select:focus{outline:none;border-color:var(--amber)}
.fld select.invalid{border-color:var(--crimson)}

.demo-hint{margin-top:14px;font-size:13px;color:var(--t-on-dark-muted)}
/* cursor wave: per-letter spans (JS-injected) */
.ww{display:inline-block}
.wl{display:inline-block}
/* facts-band cards: number, then a live field of N (3/16/64) dots, then caption */
.fb-dotwrap{position:relative;height:56px;margin:14px 0 12px}
.fb-dots{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.facts-band span{display:block}

/* AI-colleague card progress dots */
.card-dots{display:inline-flex;gap:6px;align-items:center;flex:none}
.card-dots i{width:6px;height:6px;border-radius:50%;background:rgba(18,18,18,0.16);transition:background .3s ease,transform .3s ease}
.card-dots i.on{background:#a4681a;transform:scale(1.35)}
.pulse-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}
.briefing-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}

/* home chat card sits on a dark panel, so its progress dots are light-on-dark */
.card .card-dots i{background:rgba(246,244,238,0.22)}
.card .card-dots i.on{background:var(--amber)}
/* demo form: inline field error (work-email gate) */
.fld-err{display:block;margin-top:6px;font-size:12px;line-height:1.4;color:#ec8a8f}

/* evidence: 'why the numbers hold' as a dynamic compact list (no grid) */
.whold{list-style:none;margin:clamp(28px,4vh,44px) 0 0;padding:0;max-width:660px}
.whold.rv{opacity:1;transform:none}
.whold-row{display:grid;grid-template-columns:auto 138px 1fr;align-items:center;gap:0 18px;padding:16px 4px;border-top:1px solid var(--line-cream)}
.whold-row:last-child{border-bottom:1px solid var(--line-cream)}
.whold-dot{width:8px;height:8px;border-radius:50%;background:rgba(18,18,18,0.2);transition:background .35s ease,transform .35s ease,box-shadow .35s ease}
.whold-row.on .whold-dot{background:var(--amber);transform:scale(1.3);box-shadow:0 0 0 4px rgba(240,180,71,.16)}
.whold-k{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-on-cream-muted);transition:color .35s ease}
.whold-row.on .whold-k{color:#a4681a}
.whold-t{font-size:clamp(16px,1.9vw,19px);line-height:1.35;font-weight:500;color:var(--t-on-cream)}
@media (max-width:560px){
  .whold-row{grid-template-columns:auto 1fr;grid-template-areas:"dot label" "dot text";row-gap:4px;align-items:start;gap:0 14px}
  .whold-dot{grid-area:dot;margin-top:7px}
  .whold-k{grid-area:label}
  .whold-t{grid-area:text}
}
@media (prefers-reduced-motion:no-preference){
  .whold-row{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
  .whold.in .whold-row{opacity:1;transform:none}
  .whold.in .whold-row:nth-child(2){transition-delay:.08s}
  .whold.in .whold-row:nth-child(3){transition-delay:.16s}
  .whold.in .whold-row:nth-child(4){transition-delay:.24s}
}
