@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.ttf) format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500.ttf) format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.ttf) format("truetype")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-700.ttf) format("truetype")}
/* ==========================================================================
   Peak Performance Trading  |  styles.css  (v18)

   Structure
   1. Tokens         one colour set, one type scale, one spacing scale
   2. Base           resets, headings, utilities
   3. Layout         wrap, section, section-intro, closing lines
   4. Buttons
   5. Navigation
   6. Heroes         home hero, page hero
   7. Step cards     hero sequence + featured mentoring example
   8. Chat           Discord-style student/mentor messages
   9. Strips         joined cell rows (behaviour flow, evidence scale, loops)
   10. Home blocks   thesis, progression, question timeline, matrix, prime/peak,
                     outcomes, proof tabs, archive cards, case cards, fit, team, FAQ
   11. Sub pages     program timeline, depth, mentoring grids, principles, case studies
   12. Final CTA + footer
   13. Dialogs       example drawer, application form
   14. Responsive
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root{
  --paper:#ffffff; --paper-2:#f6f7f9; --paper-3:#eef1f5;
  --ink:#1b1f26; --ink-2:#4a515c; --muted:#7a828f;
  --line:#e3e6ea; --line-2:#cfd6df;
  --navy:#0e2140; --navy-2:#173a6b; --navy-deep:#0a1830;
  --on-navy:#dbe4f3; --on-navy-muted:#8fa4c7;
  --blue:#2b7be4; --blue-pale:#e9f2fd; --blue-line:#cfe1fb;
  --warn:#8a5a00; --warn-pale:#fdf6e6;
  --danger:#b42318; --danger-pale:#fdf3f2; --danger-line:#f3c9c4;

  --font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs-h1:clamp(2.3rem,4.6vw,3.5rem);
  --fs-h2:clamp(1.7rem,2.8vw,2.3rem);
  --fs-h3:1.15rem;
  --fs-lead:1.15rem;
  --fs-body:1rem;
  --fs-sm:.92rem;
  --fs-xs:.84rem;
  --fs-2xs:.74rem;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:40px; --s-8:56px; --s-9:72px; --s-10:96px;
  --section:clamp(80px,9vw,120px);   /* vertical padding of every section   */
  --intro-gap:clamp(40px,5vw,64px);  /* section intro -> first content block */
  --block-gap:clamp(40px,4vw,56px);  /* between blocks inside a section       */

  --r-sm:6px; --r:12px; --r-pill:999px;
  --max:1120px; --wide:840px; --text:640px;
  --ease:cubic-bezier(.2,.7,.2,1); --fast:.15s;
}

/* 2. Base ------------------------------------------------------------------ */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}
h1{font-size:var(--fs-h1);letter-spacing:-.03em;line-height:1.08}
h2{font-size:var(--fs-h2);letter-spacing:-.028em;line-height:1.14}
h3{font-size:var(--fs-h3)}
p,ul{margin:0}
ul{padding:0;list-style:none}
button{font:inherit}
b,strong{font-weight:600}
mark{background:var(--blue-pale);color:var(--ink);padding:1px 3px;border-radius:2px}
.nowrap{white-space:nowrap}
.mt-16{margin-top:var(--s-4)}
.mt-24{margin-top:var(--s-5)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* 3. Layout ---------------------------------------------------------------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.section{padding:var(--section) 0;border-top:1px solid var(--line)}
.section.alt{background:var(--paper-2)}

/* One rule for every section opening: headline and lead centred, stacked. */
.section-intro{max-width:var(--wide);margin:0 auto var(--intro-gap);text-align:center}
.section-intro h2{margin:0 auto}
.section-intro p{max-width:var(--text);margin:20px auto 0;font-size:var(--fs-lead);color:var(--ink-2)}

.text{max-width:var(--text);color:var(--ink-2)}
.text p+p{margin-top:12px}
.closing{max-width:var(--text);margin:var(--block-gap) auto 0;text-align:center;font-size:1.3rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.aside-line{margin-top:var(--block-gap);text-align:center}
.big{max-width:760px;margin:0 auto;font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:600;letter-spacing:-.02em;line-height:1.3}
.aside-line .btn{margin-top:var(--s-5)}
.small-note{font-size:var(--fs-xs);color:var(--muted)}
.fine{max-width:var(--wide);margin-left:auto;margin-right:auto;text-align:center;font-size:var(--fs-xs);color:var(--muted)}

/* 4. Buttons --------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:inherit;font-weight:500;font-size:.95rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-2)}
.btn-ghost{border-color:var(--line-2);background:#fff;color:var(--ink)}
.btn-ghost:hover{background:var(--paper-2)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:var(--blue-pale)}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:var(--s-6)}
.text-link{font-size:var(--fs-sm);font-weight:600;color:var(--navy);text-decoration:none;cursor:pointer}
.text-link:hover{text-decoration:underline}

/* 5. Navigation ------------------------------------------------------------ */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .2s var(--ease)}
.nav.scrolled{box-shadow:0 6px 24px rgba(14,33,64,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-size:1rem;font-weight:600;letter-spacing:-.01em;text-decoration:none}
.menu{display:flex;align-items:center;gap:28px}
.menu a,.menu summary{padding:6px 0;border-bottom:1.5px solid transparent;font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none;cursor:pointer;list-style:none}
.menu a:hover,.menu summary:hover{color:var(--ink)}
.menu a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--navy)}
.dd{position:relative}
.dd summary::-webkit-details-marker{display:none}
.dd summary::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;position:relative;top:-2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.dd-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 12px 32px rgba(14,33,64,.1)}
.dd-panel a{display:block;padding:9px 12px;border:0;border-radius:4px}
.dd-panel a:hover{background:var(--paper-2)}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-apply{padding:11px 18px}
.nav-toggle{display:none;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:var(--fs-xs);cursor:pointer}

/* 6. Heroes ---------------------------------------------------------------- */
.hero,.page-hero{padding:var(--s-10) 0 var(--section);text-align:center}
.hero{background:radial-gradient(55% 60% at 50% 0,var(--blue-pale) 0,transparent 100%)}
.hero h1,.page-hero h1{max-width:900px;margin:0 auto}
.lead{max-width:var(--text);margin:var(--s-5) auto 0;font-size:var(--fs-lead);line-height:1.6;color:var(--ink-2)}
.hero-statement{max-width:var(--text);margin:var(--s-4) auto 0;font-weight:500}
.hero-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 0;margin-top:var(--s-5);font-size:var(--fs-xs);color:var(--muted)}
.hero-proof li+li::before{content:"";display:inline-block;width:3px;height:3px;margin:0 14px;border-radius:50%;background:var(--line-2);vertical-align:middle}
.page-hero{padding-bottom:var(--s-9)}
.page-hero .prog2{margin-top:var(--s-9)}
.results-hero .hero-proof{margin-top:var(--s-6)}
.page-hero .small-note{margin-top:var(--s-5)}
.privacy-note{margin-top:14px;font-size:var(--fs-xs);color:var(--muted)}
.section-intro .privacy-note{max-width:var(--text);margin-left:auto;margin-right:auto}

/* 7. Step cards and the bento sequence ------------------------------------ */
.chain4,.steps3,.bento{display:grid;gap:var(--s-4)}
.chain4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s-6)}
.steps3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bento{grid-template-columns:repeat(4,minmax(0,1fr))}
.bento .wide{grid-column:span 2}
.step,.cell{display:flex;flex-direction:column;gap:var(--s-4);min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r);text-align:center}
.cap{display:flex;flex-direction:column;align-items:center;gap:6px}
.chain4 .cap{min-height:112px}
.steps3 .cap{min-height:150px}
.bento .cap{min-height:104px}
.cap .num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:4px;border-radius:50%;background:var(--navy);color:#fff;font-size:var(--fs-2xs);font-weight:600}
.cap b{font-size:1rem;line-height:1.3;letter-spacing:-.012em;color:var(--ink)}
.cap small{font-size:var(--fs-xs);line-height:1.5;color:var(--muted)}
.step>.process-mini,.cell>.process-mini,.cell>.check-list,.cell>.num-list,.cell>.lesson-chain,.cell>.outcome{flex:1}
.cell>.check-list.done{flex:1;align-content:center}
.process-mini{display:flex;flex-direction:column;gap:6px;justify-content:center}
.process-mini span{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);font-size:var(--fs-xs);font-weight:600}
.process-mini span:last-child{border-color:var(--navy);background:#fff}
.process-mini i{font-style:normal;font-size:.9rem;line-height:1;color:var(--muted)}
.process-mini.row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:22px;align-items:stretch;align-content:center}
.process-mini.row span{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 8px;font-size:var(--fs-2xs);line-height:1.3}
.process-mini.row i{display:none}
.process-mini.row span:not(:last-child)::after{content:"→";position:absolute;right:-19px;top:50%;transform:translateY(-50%);font-weight:400;color:var(--muted)}
.check-list{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:8px}
.check-list span,.check-list li{padding:8px 12px;border:1px solid var(--blue-line);border-radius:var(--r-pill);background:var(--blue-pale);font-size:var(--fs-xs);color:var(--navy)}
.check-list.done li{display:inline-flex;align-items:center;gap:8px;border-color:var(--line);background:#fff;color:var(--ink)}
.check-list.done li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.3 2.3 4.7-4.9' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.num-list{display:flex;flex-direction:column;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;text-align:left}
.num-list li{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);font-size:var(--fs-xs);font-weight:500;counter-increment:step}
.num-list li::before{content:counter(step);display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:.68rem;font-weight:600}
.num-list{counter-reset:step}
.cell.out{background:var(--navy);border-color:var(--navy);color:#fff}
.cell.out .cap b{color:#fff}
.cell.out .cap small{color:var(--on-navy-muted)}
.cell.out .cap .num{background:#fff;color:var(--navy)}
.cell.out .outcome{display:flex;flex-direction:column;justify-content:center;text-align:left}
.cell.out .outcome .months{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cell.out .outcome .months>div{padding:14px 16px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-sm);background:rgba(255,255,255,.06)}
.cell.out .outcome .months small{display:block;margin:0 0 4px;font-size:var(--fs-2xs);color:var(--on-navy-muted)}
.cell.out .outcome strong{display:block;font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1}
.cell.out .outcome p{margin-top:12px;font-size:var(--fs-sm);line-height:1.55;color:var(--on-navy)}
.cell.out .outcome small{display:block;margin-top:12px;font-size:var(--fs-2xs);color:var(--on-navy-muted)}
.hero-outcome{padding:var(--s-5);border-radius:var(--r-sm);background:var(--navy);color:#fff;text-align:left}
.hero-outcome strong{display:block;font-size:1.9rem;font-weight:700;letter-spacing:-.04em;line-height:1}
.hero-outcome p{margin-top:12px;font-size:var(--fs-xs);line-height:1.55;color:var(--on-navy)}
.hero-outcome small{display:block;margin-top:12px;font-size:var(--fs-2xs);color:var(--on-navy-muted)}

/* 8. Chat ------------------------------------------------------------------ */
.chat{padding:6px 0;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);text-align:left}
.chat.thread{max-width:var(--wide);margin:0 auto}
.msg{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:12px 18px}
.avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-size:var(--fs-2xs);font-weight:600}
.avatar.mentor{background:var(--navy)}
.msg .head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;line-height:1.2}
.msg .head .r{padding:1px 6px;border:1px solid var(--line);border-radius:3px;font-size:.66rem;line-height:1.4;color:var(--muted)}
.msg .head .r.mentor{border-color:var(--navy);background:var(--navy);color:#fff}
.msg .head time{font-size:var(--fs-2xs);color:var(--muted)}
.msg .txt{margin-top:5px;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2)}
.msg .txt p+p{margin-top:6px}
.msg .txt .row{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;margin-top:7px}
.msg .txt .row b{font-size:var(--fs-xs);font-weight:500;color:var(--ink)}
.ph{height:9px;border-radius:3px;background:var(--paper-3)}
.chat.compact .msg,.chat.mini .msg{grid-template-columns:28px 1fr;gap:10px;padding:12px 14px}
.chat.compact .avatar,.chat.mini .avatar{width:28px;height:28px;font-size:.62rem}
.chat.compact .txt,.chat.mini .txt{font-size:.85rem}
.chat.mini .txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lesson-chain{max-width:var(--wide);margin:var(--s-5) auto 0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r);text-align:center}
.lesson-chain .label{margin-bottom:14px;font-size:var(--fs-xs);color:var(--muted)}
.lesson-chain .label b{color:var(--ink)}
.lesson-chain .items{display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:8px}
.lesson-chain .item{display:flex;flex:1 1 0;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2)}
.lesson-chain .item small{font-size:var(--fs-2xs);color:var(--muted)}
.lesson-chain .item span{font-size:var(--fs-sm);color:var(--ink-2)}
.lesson-chain .item:last-child{border-color:var(--navy);background:#fff}
.lesson-chain .item:last-child span{font-weight:500;color:var(--ink)}
.lesson-chain .items i{display:flex;align-items:center;font-style:normal;color:var(--muted)}
.lesson-chain.flat{margin:0;padding:0;border:0;background:none;display:flex;align-items:center}
.lesson-chain.flat .items{flex:1}
.lesson-chain.flat .item{min-width:0;flex:1}

/* 9. Strips (joined cells) ------------------------------------------------- */
.pillars,.evidence-scale,.mentoring-loop,.loop{display:grid;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.pillars>*,.evidence-scale>*,.mentoring-loop>*,.loop>*{min-width:0;padding:var(--s-5);border-left:1px solid var(--line)}
.pillars>*:first-child,.evidence-scale>*:first-child,.mentoring-loop>*:first-child,.loop>*:first-child{border-left:0}

.pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
.pillars h3{font-size:1.1rem}
.pillars p{margin-top:10px;font-size:var(--fs-sm);color:var(--ink-2)}
.caption{margin-bottom:14px;font-size:var(--fs-xs);font-weight:500;color:var(--muted);text-align:center}
.caption.mt-40{margin-top:var(--s-7)}
.pillars>div{display:flex;flex-direction:column;align-items:center;text-align:center}
.pillars .glyph{width:40px;height:40px;margin-bottom:14px;fill:var(--navy)}
.pillars .tagline{display:inline-block;margin-top:auto;padding:14px 0 0;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}

.evidence-scale{grid-template-columns:repeat(3,minmax(0,1fr))}
.evidence-scale b{display:block;margin-bottom:10px;font-size:var(--fs-2xs);color:var(--blue)}
.evidence-scale span{display:block;font-weight:600}
.evidence-scale small{display:block;margin-top:6px;font-size:var(--fs-xs);line-height:1.5;color:var(--ink-2)}
.evidence-scale+.outcome-grid{margin-top:var(--s-6)}

.mentoring-loop{grid-template-columns:repeat(4,minmax(0,1fr))}
.mentoring-loop b{display:block;margin-bottom:12px;font-size:var(--fs-2xs);color:var(--blue)}
.mentoring-loop h3{font-size:1.05rem}
.mentoring-loop p{margin-top:8px;font-size:var(--fs-sm);color:var(--ink-2)}

.loop{grid-template-columns:repeat(4,minmax(0,1fr))}
.loop>div:nth-child(n+5){border-top:1px solid var(--line)}
.loop>div:nth-child(5){border-left:0}
.loop .n{display:block;margin-bottom:8px;font-size:var(--fs-2xs);color:var(--muted)}
.loop b{display:block}
.loop small{display:block;margin-top:4px;font-size:var(--fs-xs);color:var(--ink-2)}

/* 10. Home blocks ---------------------------------------------------------- */
/* thesis */
.inputs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.inputs span{padding:9px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;font-size:var(--fs-sm);color:var(--ink-2)}
.questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:var(--wide);margin:var(--s-6) auto 0}
.questions li{padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:var(--fs-sm);font-weight:500;text-align:center}
.questions li:last-child{grid-column:1/-1}

/* progression */
.prog2{position:relative}
.prog2 .track{position:absolute;left:0;right:0;top:16px;height:1px;background:var(--line)}
.prog2 .stages{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-6)}
.prog2 .st{padding:0 8px;text-align:center}
.prog2 .node{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto var(--s-4);border:1.5px solid var(--navy);border-radius:50%;background:#fff;font-size:var(--fs-2xs);font-weight:600;color:var(--navy)}
.prog2 .st:last-child .node{background:var(--navy);color:#fff}
.prog2 h3{font-size:1.05rem}
.prog2 .tag2{margin-top:4px;font-size:var(--fs-sm);font-weight:500;color:var(--ink)}
.prog2 .sum{margin-top:10px;font-size:var(--fs-xs);line-height:1.55;color:var(--ink-2)}
.prog2 .shift{display:grid;gap:10px;max-width:var(--wide);margin:var(--s-8) auto 0;padding:var(--s-4) var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.prog2 .bar{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:18px;font-size:var(--fs-xs);color:var(--ink-2)}
.prog2 .bar i{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--navy),var(--line))}
.prog2 .bar i.up{background:linear-gradient(90deg,var(--line),var(--blue))}
.prog2 .bar small{font-size:var(--fs-2xs);color:var(--muted);text-align:right;white-space:nowrap}

/* question timeline */
.qline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-4)}
.prog-caption{margin:var(--s-9) 0 var(--s-5)}
.progression-section .center-action{margin-top:var(--s-8)}
.qline>div{position:relative;display:flex;flex-direction:column;padding-top:28px}
.qline>div::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border:1.5px solid var(--line-2);border-radius:50%;background:#fff}
.qline>div::after{content:"";position:absolute;left:18px;right:-16px;top:12.5px;height:1px;background:var(--line)}
.qline>div:last-child::after{display:none}
.qline>div:last-child::before{border-color:var(--blue);background:var(--blue)}
.qline .when{margin-bottom:8px;font-size:var(--fs-2xs);color:var(--muted)}
.qline .q{flex:1;padding:16px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:var(--fs-sm);line-height:1.5}
.qline>div:last-child .q{border-color:var(--navy);background:var(--navy);color:#fff}

/* behaviour sequence (real messages) */
.behavior-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.behavior-grid article{display:flex;flex-direction:column;min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.behavior-grid article>span{display:block;margin-bottom:12px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted)}
.behavior-grid h3{font-size:1.05rem;line-height:1.35}
.behavior-grid p{margin-top:10px;font-size:var(--fs-sm);color:var(--ink-2)}
.behavior-grid small{display:block;margin-top:12px;font-size:var(--fs-2xs);color:var(--on-navy-muted)}
.behavior-grid .down{background:var(--warn-pale)}
.behavior-grid .down>span{color:var(--warn)}
.behavior-grid .out{background:var(--navy);border-color:var(--navy);color:#fff}
.behavior-grid .out>span{color:var(--on-navy-muted)}
.behavior-grid .out h3{font-size:2rem;font-weight:700;letter-spacing:-.04em}
.behavior-grid .out p{color:var(--on-navy);max-width:520px}
.behavior-grid .wide{grid-column:span 2}

/* the process loop */
.flow{max-width:var(--max);margin:0 auto;padding-bottom:36px}
.flow-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch}
.flow-steps>div{padding:20px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-align:center}
.flow-steps b{display:block;font-size:1rem}
.flow-steps small{display:block;margin-top:6px;font-size:var(--fs-2xs);line-height:1.45;color:var(--muted)}
.flow-steps i{display:flex;align-items:center;font-style:normal;color:var(--muted)}
.flow-return{position:relative;height:26px;margin:0 60px;border:1px solid var(--line-2);border-top:0;border-radius:0 0 var(--r) var(--r)}
.flow-return::before{content:"";position:absolute;left:-6px;top:-7px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid var(--line-2)}
.flow-return span{position:absolute;left:50%;top:100%;transform:translate(-50%,-50%);padding:4px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-2xs);color:var(--ink-2);white-space:nowrap}

/* two layers: Peak on top of Prime */
.stack{max-width:var(--wide);margin:0 auto}
.layer{padding:var(--s-6);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.layer.base{background:var(--navy);border-color:var(--navy);color:#fff}
.layer-head{text-align:center}
.layer-head span{display:block;margin-bottom:8px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.layer.base .layer-head span{color:var(--on-navy-muted)}
.layer-head h3{font-size:1.25rem}
.layer-head .sub{margin-top:4px;font-size:var(--fs-sm);color:var(--muted)}
.layer.base .layer-head .sub{color:var(--on-navy-muted)}
.layer ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:var(--s-5)}
.layer li{padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-2);font-size:var(--fs-xs);color:var(--ink-2)}
.layer.base li{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--on-navy)}
.layer-join{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;font-size:var(--fs-2xs);color:var(--muted)}
.layer-join i{display:block;width:1px;height:16px;background:var(--line-2)}

/* skills matrix */
.matrix{display:grid;grid-template-columns:300px minmax(0,1fr);overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.matrix-nav{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper-2)}
.matrix-nav button{padding:16px 20px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink-2);text-align:left;cursor:pointer}
.matrix-nav button:last-child{border-bottom:0}
.matrix-nav button b{display:block;font-size:var(--fs-sm);color:var(--ink)}
.matrix-nav button small{display:block;margin-top:3px;font-size:var(--fs-2xs);line-height:1.45;color:var(--muted)}
.matrix-nav button[aria-selected="true"]{background:#fff;box-shadow:inset 3px 0 0 var(--blue)}
.matrix-panel{padding:var(--s-7)}
.matrix-panel h3{font-size:1.35rem}
.matrix-panel .short{margin-top:6px;font-size:var(--fs-sm);color:var(--muted)}
.matrix-panel .detail{max-width:var(--text);margin-top:var(--s-5);color:var(--ink-2)}
.matrix-panel .detail p+p{margin-top:12px}
.matrix-panel .links{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s-5)}
.matrix-panel .links a{padding:9px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:500;color:var(--ink);text-decoration:none}
.matrix-panel .links a:hover{background:var(--paper-2)}

/* outcomes */
.outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.outcome-card{display:flex;flex-direction:column;min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.outcome-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.metric{font-size:1.9rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--navy);overflow-wrap:anywhere}
.metric.long{font-size:1.4rem;line-height:1.15;letter-spacing:-.03em}
.result-meta{flex-shrink:0;text-align:right}
.result-meta b{display:block;font-size:var(--fs-xs)}
.result-meta span{display:block;font-size:var(--fs-2xs);color:var(--muted)}
.outcome-card h3{margin-top:18px;font-size:1.02rem;line-height:1.4}
.result-story,.result-detail{margin-top:12px;font-size:var(--fs-xs);line-height:1.6;color:var(--ink-2)}
.evidence-note{margin-top:auto;padding-top:20px;font-size:var(--fs-2xs);color:var(--muted)}
.proof-note{max-width:var(--wide);margin:var(--s-6) auto 0;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);font-size:var(--fs-xs);color:var(--ink-2);text-align:center}
.proof-note b{color:var(--ink)}
.section.alt .proof-note{background:#fff}

/* proof tabs */
.tabs{display:flex;justify-content:center;gap:4px;width:max-content;max-width:100%;margin:0 auto;padding:4px;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm)}
.tabs button{padding:9px 16px;border:0;border-radius:4px;background:none;color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--navy);color:#fff}
.tabpanel{display:none;margin-top:var(--s-6)}
.tabpanel[data-active]{display:block}
.tabpanel .intro{max-width:var(--text);margin:0 auto var(--s-5);font-size:var(--fs-sm);color:var(--ink-2);text-align:center}
.evidence-gallery,.process-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.evidence-gallery article,.process-proof article{min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.doc-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:var(--fs-2xs);color:var(--muted)}
.doc-head strong{color:var(--ink)}
.evidence-gallery p{font-size:var(--fs-sm);line-height:1.6;color:var(--ink-2)}
.process-proof b{display:block;font-size:var(--fs-2xs);color:var(--blue)}
.process-proof h3{margin-top:10px;font-size:1.02rem;line-height:1.4}
.process-proof p{margin-top:10px;font-size:var(--fs-sm);color:var(--ink-2)}
.trust-panel{display:flex;justify-content:space-between;align-items:center;gap:var(--s-5);max-width:var(--wide);margin:0 auto;padding:var(--s-5) var(--s-6);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.trust-panel h3{font-size:1.1rem}
.trust-panel p{margin-top:6px;font-size:var(--fs-sm);color:var(--ink-2)}
.trust-panel .btn{flex-shrink:0}

/* archive cards */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:var(--s-6)}
.filters button{padding:8px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer}
.filters button[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:#fff}
.lib{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.lib .card{min-width:0;padding:var(--s-4);background:#fff;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:border-color var(--fast) var(--ease)}
.lib .card:hover{border-color:var(--line-2)}
.meta2{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tag{display:inline-block;padding:2px 9px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;font-size:var(--fs-2xs);color:var(--muted)}
.lessontxt{margin-top:12px;font-size:var(--fs-xs);color:var(--ink-2)}

/* case cards */
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.story-card{display:flex;flex-direction:column;min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.story-name{font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.story-card h3{margin-top:10px;font-size:1.1rem;line-height:1.35}
.story-card>p{margin-top:12px;font-size:var(--fs-xs);line-height:1.6;color:var(--ink-2)}
.story-shift{margin-top:16px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-shift span{display:block;margin-bottom:8px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted)}
.story-shift b{position:relative;display:block;padding:4px 0 4px 14px;font-size:var(--fs-xs);font-weight:500}
.story-shift b::before{content:"";position:absolute;left:0;top:.95em;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.story-outcome{margin-top:16px;font-size:var(--fs-xs);line-height:1.6;color:var(--ink-2)}
.story-card .text-link{margin-top:auto;padding-top:20px}

/* uncertainty */
.text.uncert{margin:0 auto;text-align:center}
.text.uncert ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:var(--s-5)}
.text.uncert li{padding:9px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;font-size:var(--fs-sm);color:var(--ink-2)}

/* fit */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.card{min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.three .card h3{font-size:1.05rem}
.three .card p{margin-top:10px;font-size:var(--fs-sm);color:var(--ink-2)}
.fitbox,.notfit{max-width:var(--wide);margin:var(--s-6) auto 0;padding:var(--s-6);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);text-align:center}
.fitbox h3,.notfit h3{font-size:1.05rem}
.fitbox ul,.notfit ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:var(--s-4)}
.fitbox li,.notfit li{padding:9px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;font-size:var(--fs-sm);color:var(--ink-2)}
.fitbox p,.notfit p{max-width:var(--text);margin:var(--s-5) auto 0;font-size:var(--fs-sm);color:var(--ink-2)}
.fitbox.good{margin-top:0;border-color:var(--blue-line);background:var(--blue-pale)}
.fitbox.good h3{color:var(--navy)}
.fitbox.good li{border-color:var(--blue-line);color:var(--navy)}
.fitbox.warn{border-color:var(--danger-line);background:var(--danger-pale)}
.fitbox.warn h3{color:var(--danger)}
.fitbox.warn li{border-color:var(--danger-line);color:#8a2a22}

/* team */
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}
.team-card{display:flex;flex-direction:column}
.person-head{display:flex;align-items:center;gap:12px}
.person-monogram{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper-2);font-size:var(--fs-sm);font-weight:600;color:var(--navy)}
.team-card h3{font-size:1rem}
.team-card .role{margin-top:2px;font-size:var(--fs-xs);color:var(--muted)}
.focus{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.focus b{display:block;margin-bottom:6px;font-size:var(--fs-2xs);color:var(--muted)}
.focus li{padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-2)}
.focus li:last-child{border-bottom:0}
.team-card .ex{margin-top:auto;padding:14px 0 0;border:0;background:none;font-size:var(--fs-xs);font-weight:500;color:var(--blue);text-align:left;cursor:pointer}
.team-card .ex:hover{text-decoration:underline}

/* faq */
.faq{max-width:var(--wide);margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-size:1.02rem;font-weight:500;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-weight:400;color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq .a{max-width:var(--text);padding:0 4px 22px;font-size:var(--fs-sm);color:var(--ink-2)}
.faq .a p+p{margin-top:10px}

/* 11. Sub pages ------------------------------------------------------------ */
/* program: stage timeline */
.vt{position:relative;max-width:960px;margin:0 auto;padding-left:40px;text-align:left}
.vt::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:var(--line)}
.vt>section{position:relative;padding-bottom:var(--s-9)}
.vt>section:last-child{padding-bottom:0}
.vt>section::before,.livefire::before{content:"";position:absolute;left:-40px;top:4px;width:17px;height:17px;border:1.5px solid var(--navy);border-radius:50%;background:#fff}
.livefire::before{top:var(--s-6);background:var(--navy)}
.stage-n{font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.vt h2{max-width:none;margin-top:8px;text-align:left}
.obj{margin-top:10px;font-size:1.1rem}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);margin-top:var(--s-6)}
.cols h4{margin-bottom:12px;font-size:var(--fs-2xs);color:var(--muted)}
.skills{display:flex;flex-wrap:wrap;gap:8px}
.skills span{padding:7px 12px;border:1px solid var(--blue-line);border-radius:var(--r-pill);background:var(--blue-pale);font-size:var(--fs-xs);color:var(--navy)}
.prac li{padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2)}
.fromto{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;max-width:760px;margin-top:var(--s-6)}
.fromto>div{padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.fromto>div:last-child{border-color:var(--line-2);background:var(--paper-2)}
.fromto>.arrow-col{padding:0;border:0;background:none}
.who{margin-bottom:4px;font-size:var(--fs-2xs);color:var(--muted)}
.say{font-size:var(--fs-sm);line-height:1.45}
.arrow-col{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--muted)}
.verify{margin-top:var(--s-5);font-size:var(--fs-xs);color:var(--muted)}
.livefire{position:relative;margin-bottom:var(--s-9);padding:var(--s-6);background:#fff;border:1px solid var(--navy);border-radius:var(--r)}
.livefire h3{margin-top:8px;font-size:1.35rem}
.livefire .grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);margin-top:var(--s-5)}
.livefire h4{margin-bottom:8px;font-size:var(--fs-2xs);color:var(--muted)}
.livefire li{padding:9px 0;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2)}

/* program: concept depth */
.depth-list{display:grid;gap:var(--s-4);max-width:var(--wide);margin:0 auto}
.depth-list .depth{width:100%;max-width:none;margin:0}
.depth{max-width:var(--wide);margin:0 auto;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-align:left}
.depth .l1{padding:18px 24px;border-bottom:1px solid var(--line);font-size:1.02rem;font-weight:600}
.depth details{padding:0 24px}
.depth details details{margin:8px 0 16px;padding:0 0 0 20px;border-left:2px solid var(--line)}
.depth summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:var(--fs-sm);font-weight:500;color:var(--navy);cursor:pointer;list-style:none}
.depth summary::-webkit-details-marker{display:none}
.depth summary::after{content:"+";color:var(--muted)}
.depth details[open]>summary::after{content:"–"}
.depth .body{max-width:var(--text);padding:0 0 16px;font-size:var(--fs-sm);color:var(--ink-2)}

/* mentoring page grids */
.moment-grid,.delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.moment-grid article,.delivery-grid article{display:flex;flex-direction:column;min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.moment-grid article{cursor:pointer;transition:border-color var(--fast) var(--ease)}
.moment-grid article:hover{border-color:var(--line-2)}
.moment-meta{display:flex;justify-content:space-between;font-size:var(--fs-2xs);color:var(--muted)}
.moment-meta span{font-weight:600;color:var(--blue)}
.moment-grid h3{margin-top:14px;font-size:1.1rem;line-height:1.35}
.moment-grid p,.delivery-grid p{margin-top:12px;font-size:var(--fs-sm);color:var(--ink-2)}
.moment-grid .chat.mini{margin-top:16px}
.moment-grid .text-link{margin-top:auto;padding-top:20px}
.delivery-grid article>span{font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
/* what you get: the four pillars of the package */
.experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.experience-grid article{display:flex;flex-direction:column;min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:var(--r)}
.experience-grid .exp-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:16px;border-radius:50%;background:var(--navy);color:#fff;font-size:var(--fs-2xs);font-weight:600}
.experience-grid h3{font-size:1.15rem;line-height:1.3}
.experience-grid .exp-sub{margin-top:6px;font-size:var(--fs-sm);font-weight:500;color:var(--navy)}
.experience-grid p{font-size:var(--fs-sm);color:var(--ink-2)}
.experience-grid .exp-sub+p{margin-top:12px}
.exp-line{max-width:var(--text);margin:var(--s-6) auto 0;font-size:var(--fs-sm);font-weight:500;color:var(--ink);text-align:center}
.delivery-grid h3{margin-top:10px;font-size:1.05rem;line-height:1.4}

/* methodology: principles */
.principles{max-width:var(--wide);margin:0 auto;border-top:1px solid var(--line);text-align:left}
.principles>div{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:var(--s-5) 0;border-bottom:1px solid var(--line)}
.pn{font-size:1.1rem;font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--muted)}
.principles h2{max-width:none;margin:0;font-size:1.25rem;text-align:left}
.principles p{max-width:var(--text);margin-top:6px;font-size:var(--fs-sm);color:var(--ink-2)}

/* results: case studies */
.case-heading{max-width:var(--wide);margin:0 auto var(--intro-gap);text-align:center}
.case-heading span{display:block;margin-bottom:12px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.case-heading h2{margin:0 auto}
.csfull{max-width:var(--wide);margin:0 auto;border-top:1px solid var(--line);text-align:left}
.row2{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:var(--s-5) 0;border-bottom:1px solid var(--line)}
.row2 h3{font-size:var(--fs-sm)}
.row2 p{font-size:var(--fs-sm);line-height:1.65;color:var(--ink-2)}
.row2.row-thread{display:block}
.row2.row-thread h3{margin-bottom:14px}
.row-thread .chat.thread,.row-thread .lesson-chain{max-width:none}
.ph-block{padding:14px;border:1px dashed var(--line-2);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--muted)}

/* 12. Final CTA + footer --------------------------------------------------- */
.section.navy{border-top:0;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;text-align:center}
.final .wrap{max-width:820px}
.final h2{max-width:none;color:#fff}
.final p{max-width:var(--text);margin:20px auto 0;font-size:var(--fs-lead);color:var(--on-navy)}
.final p+p{margin-top:12px}
.final .cta-row{margin-top:var(--s-6)}
.final .micro{margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--on-navy-muted)}

footer{padding:var(--s-8) 0 var(--s-7);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted)}
footer .top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:var(--s-5);border-bottom:1px solid var(--line)}
footer .brand{color:var(--ink)}
footer .links{display:flex;flex-wrap:wrap;gap:20px}
footer .links a{color:var(--muted);text-decoration:none}
footer .links a:hover{color:var(--ink)}
footer .risk{max-width:720px;margin-top:var(--s-5);line-height:1.6}
footer .risk b{font-weight:500;color:var(--ink-2)}

/* 13. Dialogs -------------------------------------------------------------- */
dialog{padding:0;border:0;border-radius:var(--r);background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(14,33,64,.25)}
dialog::backdrop{background:rgba(14,33,64,.45);backdrop-filter:blur(2px)}
.drawer,.app{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
.app-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line)}
.app-head button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.1rem;line-height:1;color:var(--muted);cursor:pointer}
.app-head button:hover{background:var(--paper-2)}
.drawer-body{padding:24px}
.ex-meta{display:flex;gap:6px;margin-bottom:16px}
.drawer .lesson-chain .items span{padding:8px 12px;font-size:var(--fs-xs)}
.progress{height:3px;background:var(--line)}
.progress i{display:block;height:100%;background:var(--blue);transition:width .3s var(--ease)}
.app-body{padding:28px 24px 8px}
.app-step{display:none}
.app-step.on{display:block}
.stepno{margin-bottom:8px;font-size:var(--fs-2xs);color:var(--muted)}
.app-step h3{font-size:1.2rem}
.why{margin-top:8px;font-size:var(--fs-sm);color:var(--muted)}
.opts{display:grid;gap:8px;margin-top:20px}
.opts label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer}
.opts label:has(input:checked){border-color:var(--navy);background:var(--blue-pale)}
.opts input{accent-color:var(--navy)}
.app-step textarea,.app-step input[type="text"],.app-step input[type="tel"],.app-step input[type="email"]{display:block;width:100%;margin-top:14px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font:inherit;font-size:var(--fs-sm);color:var(--ink)}
.app-step textarea{min-height:120px;resize:vertical}
.app-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 24px}
.err{font-size:var(--fs-xs);color:var(--danger)}
.done{padding:var(--s-6) 0;text-align:center}
.done h3{font-size:1.4rem}
.done p{max-width:520px;margin:12px auto 0;color:var(--ink-2)}
.done .btn{margin-top:24px}
.done .fine{margin-top:16px}

/* 14. Responsive ----------------------------------------------------------- */
@media (max-width:1024px){
  .chain4{grid-template-columns:1fr 1fr}
  .mentoring-loop{grid-template-columns:1fr 1fr}
  .mentoring-loop>*:nth-child(n+3){border-top:1px solid var(--line)}
  .mentoring-loop>*:nth-child(odd){border-left:0}
  .behavior-grid{grid-template-columns:1fr 1fr}
  .behavior-grid .wide{grid-column:span 2}
  .flow-steps{grid-template-columns:1fr 1fr 1fr;gap:12px}
  .flow-steps i{display:none}
  .flow-return{display:none}
  .flow{padding-bottom:0}
  .team{grid-template-columns:1fr 1fr}
  .qline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qline>div:nth-child(3)::after{display:none}
  .qline>div:nth-child(n+4){padding-top:36px}
}

@media (max-width:900px){
  .menu{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:14px;padding:16px 24px 20px;background:#fff;border-bottom:1px solid var(--line)}
  .menu.open{display:flex}
  .menu a,.menu summary{padding:2px 0;border-bottom:0}
  .nav-toggle{display:inline-block}
  .dd-panel{position:static;padding:8px 0 0 12px;border:0;box-shadow:none}
  .nav-apply{display:none}
}

@media (max-width:860px){
  .steps3,.outcome-grid,.story-grid,.evidence-gallery,.process-proof,.lib,.moment-grid,.delivery-grid,.three{grid-template-columns:1fr 1fr}
  .cap{min-height:0!important}
  .evidence-scale{grid-template-columns:1fr}
  .evidence-scale>*{border-left:0;border-top:1px solid var(--line)}
  .evidence-scale>*:first-child{border-top:0}
  .matrix{grid-template-columns:1fr}
  .matrix-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
  .matrix-nav button{flex-shrink:0;min-width:160px;border-bottom:0;border-right:1px solid var(--line)}
  .matrix-nav button small{display:none}
  .matrix-nav button[aria-selected="true"]{box-shadow:inset 0 -3px 0 var(--blue)}
  .matrix-panel{padding:var(--s-5)}
  .pillars{grid-template-columns:1fr}
  .pillars>*{border-left:0;border-top:1px solid var(--line)}
  .pillars>*:first-child{border-top:0}
  .bento{grid-template-columns:1fr 1fr}
  .bento .cap{min-height:0}
  .cols,.livefire .grid{grid-template-columns:1fr;gap:var(--s-5)}
  .fromto{grid-template-columns:1fr;gap:8px}
  .fromto .arrow-col{transform:rotate(90deg)}
  .trust-panel{flex-direction:column;align-items:flex-start}
  .loop{grid-template-columns:1fr 1fr}
  .loop>div:nth-child(n+3){border-top:1px solid var(--line)}
  .loop>div:nth-child(odd){border-left:0}
  .prog2 .stages{grid-template-columns:1fr 1fr;gap:var(--s-6) var(--s-5)}
  .prog2 .track{display:none}
  .prog2 .bar{grid-template-columns:1fr auto;gap:8px 12px}
  .prog2 .bar i{grid-column:1/-1}
  .prog2 .bar small{white-space:normal;text-align:left}
}

@media (max-width:600px){
  .wrap{padding:0 20px}
  .chain4,.steps3,.bento,.behavior-grid,.outcome-grid,.story-grid,.evidence-gallery,.process-proof,.lib,.moment-grid,.delivery-grid,.three,.team,.mentoring-loop,.questions,.qline,.loop,.flow-steps,.prog2 .stages{grid-template-columns:1fr}
  .bento .wide,.behavior-grid .wide{grid-column:auto}
  .mentoring-loop>*,.loop>*{border-left:0;border-top:1px solid var(--line)}
  .mentoring-loop>*:first-child,.loop>*:first-child{border-top:0}
  .process-mini.row{grid-auto-flow:row;grid-auto-columns:auto;gap:6px}
  .process-mini.row span:not(:last-child)::after{content:"";display:none}
  .lesson-chain .items{flex-direction:column;align-items:stretch}
  .lesson-chain .items i{justify-content:center;transform:rotate(90deg)}
  .qline>div{padding-top:28px!important}
  .qline>div::after{display:none}
  .questions li:last-child{grid-column:auto}
  .hero-proof{flex-direction:column;gap:6px}
  .hero-proof li+li::before{display:none}
  .tabs{width:100%;justify-content:flex-start}
  .row2{grid-template-columns:1fr;gap:6px}
  .principles>div{grid-template-columns:1fr;gap:4px}
  .vt{padding-left:28px}
  .vt>section::before,.livefire::before{left:-28px}
  .livefire,.matrix-panel,.fitbox,.layer,.step,.cell,.outcome-card,.story-card,.card{padding:var(--s-5) 20px}
  .lesson-chain{padding:20px}
  .app-foot{flex-wrap:wrap}
  .app-foot .err{order:3;width:100%}
}

/* 15. V18 refinement pass --------------------------------------------------
   Deliberately conservative: same visual language, cleaner rhythm and type. */
:root{
  --paper-2:#f8f9fb;
  --paper-3:#f1f3f6;
  --line:#e6e9ee;
  --line-2:#d2d8e0;
  --wide:880px;
  --text:680px;
  --section:clamp(88px,9vw,124px);
  --intro-gap:clamp(48px,5vw,68px);
  --block-gap:clamp(44px,4.5vw,60px);
}

body{line-height:1.7}
p{ text-wrap:pretty }
.section-intro h2{max-width:800px}
.section-intro p{margin-top:18px;line-height:1.68}
.hero,.page-hero{padding-top:clamp(88px,9vw,112px)}
.hero .lead,.page-hero .lead{line-height:1.68}
.hero-proof{margin-top:28px}
.privacy-note{max-width:700px!important;line-height:1.55}

/* Give repeated card systems one consistent breathing rhythm. */
.chain4,.steps3,.bento,.outcome-grid,.story-grid,.evidence-gallery,.process-proof,
.lib,.moment-grid,.delivery-grid,.three,.team,.behavior-grid{gap:20px}
.step,.cell,.outcome-card,.story-card,.card,.moment-grid article,.delivery-grid article,
.evidence-gallery article,.process-proof article,.behavior-grid article{padding:26px}
.step,.cell,.outcome-card,.story-card,.card,.moment-grid article,.delivery-grid article,
.evidence-gallery article,.process-proof article,.behavior-grid article,.trust-panel,
.matrix,.lesson-chain,.prog2 .shift,.fitbox,.notfit,.layer,.livefire{
  box-shadow:0 1px 0 rgba(14,33,64,.025);
}

/* Result cards were the densest part of the site; improve scanability. */
.outcome-top{gap:20px;padding-bottom:18px}
.metric{font-size:2rem}
.metric.long{font-size:1.48rem}
.result-meta{padding-top:2px}
.result-meta b{font-size:.86rem}
.result-meta span{margin-top:2px;font-size:.76rem}
.outcome-card h3{margin-top:20px;font-size:1.06rem;line-height:1.42}
.result-story,.result-detail{margin-top:13px;font-size:.88rem;line-height:1.68}
.result-detail{color:#39414d}
.evidence-note{padding-top:22px;line-height:1.55}
.proof-note{padding:18px 22px;line-height:1.6}

/* Mentoring/proof cards: keep hierarchy clear without changing the design. */
.moment-grid h3{margin-top:16px;line-height:1.4}
.moment-grid p,.delivery-grid p{line-height:1.65}
.moment-grid .chat.mini{margin-top:18px}
.story-card h3{margin-top:12px;line-height:1.4}
.story-card>p,.story-outcome{font-size:.88rem;line-height:1.68}
.story-shift{margin-top:18px;padding:18px 0}
.lib .card{padding:20px}
.lessontxt{margin-top:14px;line-height:1.55}
.chat.compact .txt,.chat.mini .txt{line-height:1.62}
.msg .head time{white-space:nowrap}

/* Dense graphics get slightly more internal whitespace and stronger alignment. */
.process-mini.row{gap:26px}
.process-mini.row span:not(:last-child)::after{right:-21px}
.lesson-chain{padding:26px}
.lesson-chain .items{gap:10px}
.lesson-chain .item{padding:12px 14px}
.prog2 .stages{gap:28px}
.prog2 .sum{line-height:1.62}
.prog2 .shift{margin-top:44px;padding:18px 24px}
.qline{gap:18px}
.qline .q{padding:18px;line-height:1.58}
.matrix-panel{padding:44px}
.matrix-panel .detail{line-height:1.68}
.pillars>*,.evidence-scale>*,.mentoring-loop>*,.loop>*{padding:28px}
.pillars p,.mentoring-loop p{line-height:1.65}
.flow-steps>div{padding:22px 16px}

/* Subpage timelines and long-form rows. */
.vt>section{padding-bottom:80px}
.cols{gap:48px;margin-top:36px}
.prac li{padding:11px 0;line-height:1.6}
.row2{gap:30px;padding:28px 0}
.row2 p{line-height:1.7}
.principles>div{padding:28px 0}
.principles p{line-height:1.65}

/* CTA/footer separation should feel deliberate, not cramped. */
.final .wrap{max-width:840px}
.final p{line-height:1.65}
footer{padding-top:64px}
footer .risk{line-height:1.7}

@media (max-width:860px){
  .step,.cell,.outcome-card,.story-card,.card,.moment-grid article,.delivery-grid article,
  .evidence-gallery article,.process-proof article,.behavior-grid article{padding:24px}
  .matrix-panel{padding:28px}
  .outcome-top{gap:14px}
}

@media (max-width:600px){
  :root{--section:76px;--intro-gap:42px;--block-gap:40px}
  .wrap{padding-left:20px;padding-right:20px}
  .hero,.page-hero{padding-top:72px}
  .section-intro p{font-size:1.04rem}
  .step,.cell,.outcome-card,.story-card,.card,.moment-grid article,.delivery-grid article,
  .evidence-gallery article,.process-proof article,.behavior-grid article{padding:22px 20px}
  .outcome-top{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .metric{font-size:1.85rem}
  .metric.long{font-size:1.35rem}
  .result-meta b{font-size:.82rem}
  .result-story,.result-detail,.story-card>p,.story-outcome{font-size:.87rem}
  .proof-note{padding:16px 18px}
  .lesson-chain{padding:20px}
  .prog2 .shift{padding:16px 18px}
  .prog2 .bar{grid-template-columns:1fr;gap:6px}
  .prog2 .bar small{text-align:left}
  .matrix-panel{padding:24px 20px}
  .vt>section{padding-bottom:64px}
  .cols{gap:28px;margin-top:28px}
  .row2{gap:8px;padding:24px 0}
  footer{padding-top:52px}
}

/* ========================================================================
   v19 / editorial hierarchy / evidence visuals
   ======================================================================== */

/* First proof block: the hero is followed by one visual case, not another
   stack of eight mini-headlines. */
.case-feature{background:#fff}
.case-feature-head{max-width:860px;margin:0 auto 48px;text-align:center}
.case-feature-head .case-eyeline{margin-bottom:14px;font-size:.8rem;font-weight:600;color:var(--blue)}
.case-feature-head h2{max-width:790px;margin:0 auto}
.case-feature-head>p{max-width:650px;margin:18px auto 0;font-size:1.04rem;line-height:1.68;color:var(--ink-2)}
.persona{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--paper-3);border:1px solid var(--line);overflow:hidden}
.persona svg{width:30px;height:30px;margin-top:6px;fill:var(--navy);opacity:.55}
.case-feature-block{max-width:1080px;margin:0 auto}
.case-head{display:flex;align-items:center;gap:14px;padding:18px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0}
.case-head-text b{display:block;font-size:1.05rem;color:var(--navy)}
.case-head-text span{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--muted)}
.case-head time{margin-left:auto;font-size:var(--fs-xs);color:var(--muted)}
.case-brief{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);background:var(--paper-2)}
.case-brief>div{padding:16px 24px}
.case-brief>div+div{border-left:1px solid var(--line)}
.case-brief span{display:block;margin-bottom:4px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.case-brief p{font-size:var(--fs-sm);color:var(--ink-2)}
.case-steps{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.case-steps article{display:flex;flex-direction:column;gap:16px;min-width:0;padding:var(--s-5);background:#fff;border:1px solid var(--line);border-radius:var(--r);text-align:left}
.case-label{font-size:.76rem;font-weight:600;color:var(--blue)}
.case-steps h3{font-size:1.1rem;line-height:1.4;letter-spacing:-.018em}
.case-steps .chat{margin-top:auto}
.mentor-rule{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;border-top:1px solid var(--line);font-size:var(--fs-xs);font-weight:500}
.mentor-rule span{padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-2)}
.mentor-rule i{font-style:normal;color:var(--muted)}
.case-steps .out{background:var(--navy);border-color:var(--navy);color:#fff}
.case-steps .out .case-label{color:var(--on-navy-muted)}
.case-metric{display:flex;align-items:flex-end;gap:14px}
.case-metric strong{font-size:clamp(2.6rem,4.5vw,3.6rem);line-height:.95;letter-spacing:-.05em}
.case-metric span{padding-bottom:6px;font-size:.74rem;color:var(--on-navy-muted)}
.case-steps .out p{font-size:var(--fs-sm);line-height:1.6;color:var(--on-navy)}
.case-steps .out small{display:block;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);font-size:.74rem;line-height:1.55;color:var(--on-navy-muted)}
.centered-note{max-width:760px!important;margin:22px auto 0;text-align:center}

/* Market inputs → mentoring work → decision. This replaces the old list of
   generic 'strategies / videos / indicators' pills and three separate cards. */
.funnel-vis{display:flex;flex-direction:column;align-items:center;max-width:1000px;margin:0 auto}
.tier{width:100%;padding:var(--s-5) var(--s-6);background:#fff;border:1px solid var(--line);border-radius:var(--r);text-align:center}
.tier-label{display:block;margin-bottom:16px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.tier-in{background:var(--paper-2)}
.tier-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tier-chips span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;font-size:var(--fs-xs);color:var(--ink-2);text-align:center}
.tier-work{width:88%}
.tier-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}
.tier-steps>div{display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2)}
.tier-steps b{display:flex;align-items:center;gap:10px;font-size:1rem}
.tier-steps b i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:.68rem;font-style:normal;font-weight:600}
.tier-steps p{margin-top:8px;font-size:var(--fs-xs);line-height:1.55;color:var(--ink-2)}
.tier-steps small{margin-top:auto;padding-top:12px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.tier-out{width:66%;background:var(--navy);border-color:var(--navy);color:#fff}
.tier-out .tier-label{color:var(--on-navy-muted)}
.tier-out>b{display:block;font-size:1.2rem;letter-spacing:-.015em;line-height:1.3}
.tier-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.tier-options span{padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--on-navy)}
.tier-options span:last-child{background:#fff;border-color:#fff;color:var(--navy);font-weight:600}
.tier-arrow{width:1px;height:34px;position:relative;background:var(--line-2)}
.tier-arrow::after{content:"";position:absolute;left:-5px;bottom:-1px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--line-2)}
.visual-foot{max-width:720px;margin:22px auto 0;text-align:center;font-size:.82rem;color:var(--muted)}
.center-action{margin-top:34px;text-align:center}
.principle-line{max-width:840px;margin:34px auto 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1.05rem;font-weight:600;line-height:1.55;text-align:center;color:var(--navy)}

/* Progression: support changes form rather than simply 'going down'. */
.prog2 .bar{grid-template-columns:130px 1fr 260px}
.prog2 .bar small{line-height:1.4}

/* Mentoring page: hero → visual loop, then concrete problems. */
.visual-heading{max-width:760px;margin:0 auto 34px;text-align:center}
.visual-heading>span{display:block;margin-bottom:10px;font-size:.78rem;font-weight:600;color:var(--blue)}
.visual-heading>p{font-size:1.06rem;line-height:1.65;color:var(--ink-2)}
.rich-moments article{min-height:100%}
.moment-shift{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.moment-shift span{display:block;margin-bottom:5px;font-size:.72rem;font-weight:600;color:var(--blue)}
.moment-shift b{display:block;font-size:.82rem;line-height:1.55;font-weight:600;color:var(--navy)}
.delivery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.delivery-grid article{padding:24px}
.delivery-grid h3{font-size:1rem}

/* Program page: fewer nested headings, more visible comparison. */
.concept-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;margin:0 auto}
.concept-case{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:0 1px 0 rgba(14,33,64,.025)}
.concept-case.macro-case{grid-column:1/-1}
.concept-head{padding:28px}
.concept-head>span{font-size:.74rem;font-weight:600;color:var(--blue)}
.concept-head h3{margin-top:8px;font-size:1.2rem;line-height:1.38}
.concept-head p{margin-top:10px;font-size:.88rem;line-height:1.65;color:var(--ink-2)}
.concept-exchange{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.concept-exchange>div{padding:22px 24px}
.concept-exchange>div+div{border-left:1px solid var(--line)}
.concept-exchange .mentor{background:var(--paper-2)}
.concept-exchange span{display:block;margin-bottom:8px;font-size:.7rem;font-weight:600;color:var(--muted)}
.concept-exchange .mentor span{color:var(--blue)}
.concept-exchange p{font-size:.84rem;line-height:1.62;color:var(--ink-2)}
.data-pairs{padding:8px 28px}
.data-pairs>div{display:grid;grid-template-columns:140px minmax(0,1fr) 22px 120px minmax(0,1fr);align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.data-pairs>div:first-child{border-top:0}
.data-pairs strong{font-size:.82rem}
.data-pairs span{font-size:.78rem;line-height:1.5;color:var(--ink-2)}
.data-pairs i{font-style:normal;text-align:center;color:var(--muted)}
.applied-line{margin-top:auto;padding:18px 24px;background:var(--blue-pale);border-top:1px solid var(--blue-line);font-size:.8rem;line-height:1.6;color:var(--ink-2)}
.applied-line b{color:var(--navy)}

/* Four case studies read better as a 2×2 editorial grid than 3+1. */
.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

@media (max-width:980px){
  .tier-work{width:100%}
  .tier-out{width:84%}
  .tier-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
  .experience-grid{grid-template-columns:1fr 1fr}
  .delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prog2 .bar{grid-template-columns:120px 1fr 220px}
}

@media (max-width:760px){
  .tier-steps{grid-template-columns:1fr}
  .tier-chips{grid-template-columns:1fr 1fr}
  .tier,.tier-work,.tier-out{width:100%;padding:20px}
  .experience-grid{grid-template-columns:1fr}
  .case-steps,.case-brief{grid-template-columns:1fr}
  .case-brief>div+div{border-left:0;border-top:1px solid var(--line)}
  .case-head{flex-wrap:wrap}
  .case-head time{margin-left:58px}
  .concept-cases{grid-template-columns:1fr}
  .concept-case.macro-case{grid-column:auto}
  .concept-exchange{grid-template-columns:1fr}
  .concept-exchange>div+div{border-left:0;border-top:1px solid var(--line)}
  .data-pairs>div{grid-template-columns:1fr;gap:4px}
  .data-pairs i{transform:rotate(90deg);text-align:left;width:max-content;margin:3px auto}
  .prog2 .bar{grid-template-columns:1fr;gap:6px}
  .prog2 .bar small{text-align:left}
}

@media (max-width:600px){
  .case-feature-head{margin-bottom:36px}
  .case-feature-head>p,.visual-heading>p{font-size:1rem}
  .delivery-grid,.story-grid{grid-template-columns:1fr}
  .concept-head{padding:22px 20px}
  .concept-exchange>div,.data-pairs{padding-left:20px;padding-right:20px}
  .applied-line{padding:16px 20px}
}


/* ========================================================================
   v20 / clarity pass / Trustpilot proof / stronger section entry points
   ======================================================================== */

/* Compact public trust signal used after the hero proof and inside reviews. */
[data-trust-snapshot]{max-width:620px;margin:22px auto 0}
.trust-snapshot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.78);text-align:left;transition:border-color .18s ease,transform .18s ease}
.trust-snapshot:hover{border-color:var(--blue-line);transform:translateY(-1px)}
.trust-snapshot,.trust-snapshot *{text-decoration:none!important}
.trust-review-foot a,.trust-open{text-decoration:none}
.trust-brand-line{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--navy)}
.trust-star{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:#00b67a;color:#fff;font-size:.8rem;line-height:1}
.trust-score{display:flex;align-items:baseline;gap:10px;min-width:0}
.trust-score b{font-size:.92rem;color:var(--ink)}
.trust-score small{font-size:.72rem;color:var(--muted)}
.trust-open{font-size:.76rem;font-weight:600;color:var(--blue);white-space:nowrap}
.trust-snapshot.compact{min-width:330px;margin:0}

/* The first case starts with two equally important cards so the mentor's reply
   no longer visually arrives before the problem has been understood. */
.case-start{background:#fff}
.case-start .chat{margin-top:4px}
.compact-four>div{padding-left:8px;padding-right:8px}

/* Dedicated review proof: enough information to evaluate without turning the
   page into a wall of testimonials. */
.trust-reviews{background:var(--paper-2)}
.trust-review-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;max-width:1080px;margin:0 auto 34px}
.trust-review-head>div:first-child{max-width:690px}
.trust-review-head h2{margin-top:14px}
.trust-review-head p{margin-top:14px;font-size:1rem;line-height:1.65;color:var(--ink-2)}
.trust-review-head.compact{margin-bottom:28px}
.trust-review-head.compact>div:first-child>p{margin-top:10px}
.trust-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto}
.trust-review-card{display:flex;flex-direction:column;min-width:0;min-height:250px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.review-stars{font-size:.78rem;letter-spacing:2px;color:#00a86b}
.trust-review-card h3{margin-top:16px;font-size:1.02rem;line-height:1.4}
.trust-review-card>p{margin-top:10px;font-size:.84rem;line-height:1.62;color:var(--ink-2)}
.review-person{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.review-person b{font-size:.78rem}
.review-person span{font-size:.68rem;line-height:1.4;color:var(--muted)}
.trust-review-foot{display:flex;justify-content:space-between;gap:20px;max-width:1080px;margin:20px auto 0;font-size:.76rem;color:var(--muted)}
.trust-review-foot a{font-weight:600;color:var(--blue)}

/* Small visual headings replace repeated full headline/subheadline stacks on
   pages whose hero has already introduced the subject. */
.evidence-guide{margin-bottom:30px}

@media(max-width:900px){
  .trust-review-grid{grid-template-columns:1fr 1fr}
  .trust-review-head{grid-template-columns:1fr;align-items:start;gap:22px}
  .trust-snapshot.compact{min-width:0;width:100%}
}
@media(max-width:640px){
  .trust-snapshot{grid-template-columns:1fr auto;gap:8px 12px;padding:13px 14px}
  .trust-score{grid-column:1/2;display:block}
  .trust-score small{display:block;margin-top:2px}
  .trust-open{grid-column:2;grid-row:1/3;align-self:center}
  .trust-review-grid{grid-template-columns:1fr}
  .trust-review-card{min-height:0;padding:22px 20px}
  .trust-review-foot{flex-direction:column;gap:8px}
  }

/* ========================================================================
   v21 / information architecture / trust ribbon / proof clarity
   ======================================================================== */

/* Public trust is a separate band after the hero, not another element inside
   the hero CTA stack. The left side stays stable while review themes move. */
.trust-ribbon{padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;overflow:hidden}
.trust-ribbon [data-trust-ticker]{width:100%}
.trust-ribbon-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:72px;color:inherit;text-decoration:none}
.trust-ribbon-score{display:flex;align-items:center;gap:12px;padding:0 26px 0 max(24px,calc((100vw - var(--max))/2));white-space:nowrap;border-right:1px solid var(--line)}
.trust-ribbon-score strong{font-size:.84rem;color:var(--ink)}
.trust-ribbon-score small{font-size:.7rem;color:var(--muted)}
.trust-ticker-window{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.trust-ticker-track{display:flex;width:max-content;animation:peak-trust-ticker 140s linear infinite;will-change:transform}
.trust-ticker-set{display:flex;align-items:center;flex-shrink:0}
.trust-ticker-item{display:flex;align-items:center;gap:11px;padding:0 28px;border-right:1px solid var(--line);white-space:nowrap;font-size:.76rem;color:var(--ink-2)}
.trust-ticker-item b{font-size:.72rem;color:var(--navy)}
.trust-ticker-country{font-size:.68rem;color:var(--muted)}
.trust-ticker-country::before{content:'·';margin-right:11px;color:var(--line-strong)}
.trust-ticker-item i{font-style:normal;font-size:.62rem;letter-spacing:1.5px;color:#00a86b}
.trust-ticker-item time{font-size:.68rem;color:var(--muted)}
.trust-ticker-title{color:var(--ink-2)}
.trust-ribbon-open{padding:0 max(24px,calc((100vw - var(--max))/2)) 0 24px;border-left:1px solid var(--line);font-size:.72rem;font-weight:600;color:var(--blue);white-space:nowrap}
.trust-ribbon-inner:hover .trust-ticker-track{animation-play-state:paused}
@keyframes peak-trust-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* The first substantive homepage block explains the development model. */
.progression-section{padding-top:clamp(78px,8vw,118px)}
.progression-principle{max-width:900px;margin-top:38px}

/* General mentoring model: plain-language sequence before any client case. */
.mentoring-loop-rich{max-width:1120px;margin:0 auto}
.mentoring-loop-rich article{display:flex;flex-direction:column;min-height:280px;padding:30px 28px}
.mentoring-loop-rich h3{font-size:1.08rem;line-height:1.35}
.mentoring-loop-rich p{font-size:.9rem;line-height:1.68}
.mentoring-loop-rich small{display:block;margin-top:auto;padding-top:22px;font-size:.72rem;line-height:1.5;color:var(--muted)}
.mentoring-closing{max-width:820px}

/* Featured case is now deliberately later in the page, after the reader knows
   what Peak is and how the mentoring works. */
.client-stories{background:#fff}
.client-stories .bento-case{max-width:1080px;margin:0 auto;border-radius:0 0 var(--r) var(--r)}
.case-divider{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;max-width:1080px;margin:72px auto 26px;padding-top:28px;border-top:1px solid var(--line)}
.case-divider span{font-size:1.12rem;font-weight:650;letter-spacing:-.02em;color:var(--navy)}
.case-divider p{max-width:540px;font-size:.82rem;line-height:1.55;color:var(--muted);text-align:right}

/* Supporting cases are full-width editorial records rather than small cards. */
.story-grid-three{grid-template-columns:1fr;max-width:1080px;margin:0 auto;gap:22px}
.story-card-rich{padding:0;overflow:hidden}
.story-profile{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.story-profile>div{min-width:0}
.story-who{display:flex;align-items:center;gap:12px}
.story-who .persona{width:40px;height:40px}
.story-who .persona svg{width:27px;height:27px}
.story-profile .story-name{font-size:.9rem;color:var(--navy)}
.story-profile span{display:block;margin-top:4px;font-size:.72rem;line-height:1.45;color:var(--muted)}
.story-profile .story-open,.story-open{position:relative;display:inline-flex;margin-top:0;align-items:center;gap:6px;padding-bottom:2px;font-size:.78rem;font-weight:600;color:var(--navy);white-space:nowrap;text-decoration:none}
.story-open::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--navy);transition:width .22s var(--ease)}
.story-open i{font-style:normal;transition:transform .22s var(--ease)}
.story-card:hover .story-open::after,.story-open:hover::after{width:100%}
.story-card:hover .story-open i,.story-open:hover i{transform:translateX(4px)}
.story-card-rich>h3{margin:0;padding:25px 26px 20px;font-size:1.25rem;line-height:1.35}
.story-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-layers>div{padding:22px 26px;border-left:1px solid var(--line)}
.story-layers>div:first-child{border-left:0}
.story-layers span,.story-outcome-block>span{display:block;margin-bottom:9px;font-size:.68rem;font-weight:650;color:var(--blue);text-transform:uppercase;letter-spacing:.055em}
.story-layers p,.story-outcome-block p{font-size:.82rem;line-height:1.65;color:var(--ink-2)}
.story-outcome-block{padding:22px 26px 26px;background:#fff}
.story-outcome-block>span{color:var(--muted)}

/* Give outcomes room to breathe: six examples become three clear rows. */
.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;margin-left:auto;margin-right:auto}
.outcome-card{padding:30px;min-height:410px}
.result-meta{max-width:210px}
.result-meta span{margin-top:4px;line-height:1.45}

/* Six public reviews are intentionally two columns, not a dense 3x2 wall. */
.trust-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.trust-review-card{min-height:285px;padding:28px}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.review-index{font-size:.68rem;color:var(--muted)}
.review-person small{font-size:.65rem;color:var(--muted)}

@media(max-width:980px){
  .trust-ribbon-score{padding-left:22px}
  .trust-ribbon-open{padding-right:22px}
  .story-layers{grid-template-columns:1fr}
  .story-layers>div{border-left:0;border-top:1px solid var(--line)}
  .story-layers>div:first-child{border-top:0}
}

@media(max-width:760px){
  .trust-ribbon-inner{grid-template-columns:1fr auto;min-height:70px}
  .trust-ribbon-score{grid-column:1;padding:13px 16px;border-right:0;gap:9px}
  .trust-ribbon-score small{display:none}
  .trust-ticker-window{grid-column:1/-1;grid-row:2;padding:10px 0;border-top:1px solid var(--line);mask-image:none;-webkit-mask-image:none}
  .trust-ribbon-open{grid-column:2;grid-row:1;padding:0 16px;border-left:1px solid var(--line)}
  .trust-ticker-item{padding:0 18px}
  .mentoring-loop-rich article{min-height:0;padding:24px 22px}
  .mentoring-loop-rich small{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
        .case-divider{align-items:flex-start;flex-direction:column;gap:8px;margin-top:54px}
  .case-divider p{text-align:left}
  .story-profile{padding:19px 20px}
  .story-card-rich>h3{padding:22px 20px 18px;font-size:1.12rem}
  .story-layers>div,.story-outcome-block{padding:20px}
  .outcome-grid,.trust-review-grid{grid-template-columns:1fr}
  .outcome-card{min-height:0;padding:24px 20px}
  .trust-review-card{min-height:0}
}

@media (prefers-reduced-motion:reduce){
  .trust-ticker-track{animation:none}
  .trust-ticker-window{overflow-x:auto}
}

/* Results-page case studies: orient the reader before the long chronology. */
.csfull{border-top:0}
.case-detail-profile{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:0;padding:18px 22px;border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;background:var(--paper-2)}
.case-detail-profile>div{display:flex;align-items:baseline;gap:12px;min-width:0}
.case-detail-profile strong{font-size:.95rem;color:var(--navy)}
.case-detail-profile span,.case-detail-profile small{font-size:.7rem;line-height:1.45;color:var(--muted)}
.case-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-top:0;background:#fff}
.case-overview>div{padding:24px;border-left:1px solid var(--line)}
.case-overview>div:first-child{border-left:0}
.case-overview span{display:block;margin-bottom:8px;font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.case-overview p{font-size:.82rem;line-height:1.62;color:var(--ink-2)}
.case-chronology-label{padding:30px 0 10px;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}

@media(max-width:760px){
  .case-detail-profile{align-items:flex-start;flex-direction:column;gap:6px;padding:16px 18px}
  .case-detail-profile>div{align-items:flex-start;flex-direction:column;gap:3px}
  .case-overview{grid-template-columns:1fr}
  .case-overview>div{border-left:0;border-top:1px solid var(--line);padding:20px}
  .case-overview>div:first-child{border-top:0}
}
.story-dev-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.story-dev-list li{position:relative;padding-left:13px;font-size:.8rem;line-height:1.55;color:var(--ink-2)}
.story-dev-list li::before{content:"";position:absolute;left:0;top:.7em;width:4px;height:4px;border-radius:50%;background:var(--blue)}

/* Hover liveliness. Subtle lift on cards, arrows that move, underlines that grow. Reduced-motion users get none of it. */
.card,.step,.cell,.outcome-card,.story-card,.moment-grid article,.delivery-grid article,.experience-grid article,.tier-steps>div,.case-steps article,.team-card,.layer,.trust-review-grid>article,.lib .card{transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.card:hover,.step:hover,.cell:hover,.outcome-card:hover,.story-card:hover,.moment-grid article:hover,.delivery-grid article:hover,.experience-grid article:hover,.tier-steps>div:hover,.case-steps article:hover,.team-card:hover,.trust-review-grid>article:hover,.lib .card:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 14px 34px rgba(14,33,64,.08)}
.cell.out:hover,.case-steps article.out:hover,.tier-out:hover{border-color:var(--navy);box-shadow:0 14px 34px rgba(14,33,64,.22)}
[data-ex],.archive-story{cursor:pointer}
.btn{transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(14,33,64,.12)}
.btn:active{transform:translateY(0);box-shadow:none}
.tier-chips span,.inputs span,.fitbox li,.notfit li,.layer li,.skills span,.mentor-rule span,.lesson-chain .item,.process-mini span,.check-list li,.filters button,.tabs button{transition:border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}
.tier-chips span:hover,.inputs span:hover,.fitbox li:hover,.notfit li:hover,.skills span:hover,.mentor-rule span:hover,.process-mini span:hover,.check-list li:hover{border-color:var(--navy);color:var(--ink);transform:translateY(-1px)}
.layer.base li:hover{border-color:#fff;color:#fff}
.tier-options span{transition:transform .18s var(--ease)}
.tier-options span:hover{transform:translateY(-1px)}
.text-link,.matrix-panel .links a,footer .links a,.menu a{transition:color .18s var(--ease),transform .18s var(--ease)}
.text-link:hover{transform:translateX(2px)}
.menu a{position:relative}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.menu a:hover::after{transform:scaleX(1)}
.menu a[aria-current="page"]::after{transform:scaleX(1)}
.faq summary{transition:color .18s var(--ease),padding-left .22s var(--ease)}
.faq summary:hover{color:var(--navy);padding-left:10px}
.faq summary::after{transition:transform .22s var(--ease),border-color .18s var(--ease)}
.faq summary:hover::after{border-color:var(--navy);transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(180deg)}
.matrix-nav button{transition:background .18s var(--ease),color .18s var(--ease)}
.matrix-nav button:hover{background:#fff;color:var(--ink)}
.prog2 .node,.qline>div::before{transition:transform .22s var(--ease),background .22s var(--ease)}
.prog2 .st:hover .node{transform:scale(1.12)}
.qline>div:hover::before{transform:scale(1.25)}
.qline .q{transition:transform .22s var(--ease),border-color .22s var(--ease)}
.qline>div:hover .q{transform:translateY(-3px);border-color:var(--line-2)}
.team-card .ex{transition:color .18s var(--ease),transform .18s var(--ease)}
.team-card .ex:hover{transform:translateX(3px)}

/* Results: full public review list, compact */
.trust-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1080px;margin:0 auto}
.trust-review-row{display:flex;flex-direction:column;min-width:0;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.trust-review-row:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 14px 34px rgba(14,33,64,.08)}
.review-row-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.review-row-top time{font-size:var(--fs-2xs);color:var(--muted)}
.trust-review-row h3{margin-top:10px;font-size:.98rem;line-height:1.4}
.trust-review-row>p{margin-top:6px;font-size:var(--fs-xs);line-height:1.6;color:var(--ink-2)}
.trust-review-row .review-person{display:flex;flex-direction:row;gap:8px;align-items:baseline;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-2xs);color:var(--muted)}
.trust-review-row .review-person small{display:none}
.trust-review-row .review-person b{font-size:var(--fs-xs);color:var(--ink)}

/* Results: what students wrote, by date */
.voices-key{max-width:var(--wide);margin:0 auto var(--s-7)}
.voices-key b{font-size:var(--fs-2xs)}
#case-studies-intro{padding-bottom:0;border-bottom:0}
#case-studies-intro .section-intro{margin-bottom:0}
#case-studies-intro+.section{border-top:0}
.voices{max-width:var(--wide);margin:0 auto}
.voice-year{position:relative;padding-left:96px}
.voice-year+.voice-year{margin-top:var(--s-6)}
.voice-year h3{position:absolute;left:0;top:14px;font-size:1.6rem;font-weight:700;letter-spacing:-.04em;color:var(--navy)}
.voice-year h3 small{display:block;margin-top:2px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:0;color:var(--muted)}
.voice-year ul{border-top:1px solid var(--line)}
.voice-year li{display:grid;grid-template-columns:118px 1fr;gap:20px;padding:16px 8px;border-bottom:1px solid var(--line);transition:background .18s var(--ease)}
.voice-year li:hover{background:var(--paper-2)}
.voice-year time{padding-top:2px;font-size:var(--fs-xs);color:var(--muted)}
.voice-year p{font-size:var(--fs-sm);line-height:1.6;color:var(--ink)}
.voice-metric{display:inline-block;margin-right:10px;padding:2px 10px;border-radius:var(--r-pill);background:var(--navy);color:#fff;font-size:var(--fs-2xs);font-weight:600;vertical-align:middle}
.voice-year li>div>span{display:block;margin-top:6px;font-size:var(--fs-2xs);color:var(--muted)}
@media (max-width:860px){
  .trust-review-list{grid-template-columns:1fr}
  .voice-year{padding-left:0}
  .voice-year h3{position:static;margin-bottom:10px}
}
@media (max-width:600px){
  .voice-year li{grid-template-columns:1fr;gap:6px}
}

/* Results: case studies as problem / turning point / result, then the messages */
.csfull{border-top:0}
.csfull .case-head{border-radius:var(--r)}
.case-arc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.case-arc>div{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.case-arc>div>span{display:block;margin-bottom:8px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.case-arc p{font-size:var(--fs-sm);line-height:1.6;color:var(--ink-2)}
.case-arc .win{background:var(--navy);border-color:var(--navy)}
.case-arc .win>span{color:var(--on-navy-muted)}
.case-arc .win p{color:#fff;font-weight:500}
.case-tl-label{margin:var(--s-7) 0 14px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted);text-align:center}
.case-tl{position:relative;display:grid;gap:14px;padding-left:176px}
.case-tl::before{content:"";position:absolute;left:158px;top:8px;bottom:8px;width:1px;background:var(--line)}
.case-tl li{position:relative}
.case-tl li::before{content:"";position:absolute;left:-23px;top:22px;width:11px;height:11px;border-radius:50%;background:#fff;border:1.5px solid var(--line-2)}
.case-tl li.mentor::before{background:var(--navy);border-color:var(--navy)}
.case-tl li.milestone::before{background:var(--blue);border-color:var(--blue)}
.tl-when{position:absolute;left:-176px;top:16px;width:136px;text-align:right}
.tl-when time{display:block;font-size:var(--fs-xs);color:var(--muted)}
.tl-when .voice-metric{display:inline-block;margin:6px 0 0;padding:3px 9px;font-size:.66rem;line-height:1.3;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.case-tl .chat{margin:0}
.case-tl .msg .txt{font-size:var(--fs-sm)}
.case-tl li.milestone .chat{border-color:var(--blue-line);background:var(--blue-pale)}
.case-evidence{max-width:var(--text);margin:var(--s-6) auto 0;font-size:var(--fs-xs);color:var(--muted);text-align:center}
@media (max-width:860px){
  .case-arc{grid-template-columns:1fr}
  .case-tl{padding-left:0}
  .case-tl::before{display:none}
  .case-tl li::before{display:none}
  .tl-when{position:static;width:auto;margin-bottom:8px;text-align:left;display:flex;align-items:center;gap:10px}
  .tl-when .voice-metric{margin:0}
}

/* by the numbers */
.numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto}
.numbers>div{display:flex;flex-direction:column;padding:28px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.numbers>div:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 14px 34px rgba(14,33,64,.08)}
.numbers strong{font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--navy)}
.numbers span{margin-top:10px;font-size:1rem;font-weight:500;color:var(--ink)}
.numbers small{margin-top:8px;font-size:var(--fs-xs);line-height:1.5;color:var(--muted)}
@media (max-width:860px){.numbers{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.numbers{grid-template-columns:1fr}}

/* Mentoring page: comparison, channel hub, weekday chart, quotes */
.compare{max-width:960px;margin:0 auto;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.compare-head,.compare-row,.compare-group{display:grid;grid-template-columns:minmax(0,2.4fr) repeat(3,minmax(0,1fr));align-items:center}
.compare-head{border-bottom:1px solid var(--line)}
.compare-head span{padding:18px 12px;font-size:var(--fs-xs);font-weight:600;color:var(--muted);text-align:center;letter-spacing:.01em}
.compare-head span:first-child{text-align:left}
.compare-head .hi{background:var(--navy);color:#fff}
.compare-row{border-top:1px solid var(--line)}
.compare-row>span{padding:15px 24px;font-size:var(--fs-sm);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compare-row i{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:50px}
.compare-row i::before{content:"";width:18px;height:18px;border-radius:50%}
.compare-row i.yes::before{background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.3l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.compare-row i.no::before{width:18px;height:18px;border:1.5px solid var(--line);background:#fff;box-sizing:border-box}
.compare-row i:last-child{background:var(--blue-pale)}
.compare-group{border-top:1px solid var(--line);background:var(--paper-2)}
.compare-group span{grid-column:1/-1;padding:9px 24px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted)}
.compare-3 .compare-head,.compare-3 .compare-row{grid-template-columns:minmax(0,2.4fr) repeat(3,minmax(0,1fr))}
.compare-2 .compare-head,.compare-2 .compare-row{grid-template-columns:minmax(0,3.2fr) minmax(0,1fr) minmax(0,1.15fr)}
.compare-2{max-width:880px}
.compare-2 .compare-head span{padding:20px 12px;font-size:var(--fs-sm)}
.compare-2 .compare-row>span{padding:17px 28px}
@media (max-width:860px){
  .compare-head,.compare-row,.compare-group,.compare-3 .compare-head,.compare-3 .compare-row{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
  .compare-2 .compare-head,.compare-2 .compare-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
  .compare-head span{padding:12px 6px;font-size:.66rem}
  .compare-row>span{padding:12px 14px;font-size:var(--fs-xs);white-space:normal}
}
.hub{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1.35fr) 40px minmax(0,1fr);align-items:stretch;max-width:1080px;margin:0 auto}
.hub-col,.hub-core{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.hub-core{background:var(--navy);border-color:var(--navy);color:#fff}
.hub-label{display:block;margin-bottom:14px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.hub-core .hub-label{color:var(--on-navy-muted)}
.hub-items{display:flex;flex-wrap:wrap;gap:8px}
.hub-items span{padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-2);font-size:var(--fs-xs);color:var(--ink-2)}
.hub-col>small{margin-top:auto;padding-top:16px;font-size:var(--fs-2xs);color:var(--muted)}
.hub-arrow{display:flex;align-items:center;justify-content:center;color:var(--muted)}
.hub-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hub-stats>div{padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-sm);background:rgba(255,255,255,.06)}
.hub-stats strong{display:block;font-size:1.6rem;font-weight:700;letter-spacing:-.04em;line-height:1}
.hub-stats span{display:block;margin-top:6px;font-size:var(--fs-2xs);line-height:1.45;color:var(--on-navy)}
.hub-people{display:grid;gap:12px}
.hub-people>div{display:flex;align-items:center;gap:12px}
.hub-people .persona{width:38px;height:38px}
.hub-people .persona svg{width:26px;height:26px}
.hub-people b{display:block;font-size:var(--fs-sm)}
.hub-people small{display:block;font-size:var(--fs-2xs);line-height:1.4;color:var(--muted)}
.weekchart{max-width:900px;margin:0 auto;padding:var(--s-6);background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.weekchart-legend{display:flex;justify-content:center;gap:20px;margin-bottom:20px;font-size:var(--fs-xs);color:var(--ink-2)}
.weekchart-legend i{display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;vertical-align:-1px}
.weekchart-legend i.s,.weekchart-bars i.s{background:var(--blue)}
.weekchart-legend i.m,.weekchart-bars i.m{background:var(--navy)}
.weekchart-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;height:200px;padding-bottom:26px;border-bottom:1px solid var(--line);position:relative}
.weekchart-bars>div{display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}
.weekchart-bars .bars{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:100%}
.weekchart-bars .bars i{display:block;width:22px;height:calc(var(--v) * 1% * 5);border-radius:4px 4px 0 0;transition:height .6s var(--ease)}
.weekchart-bars>div>span{position:absolute;left:0;right:0;bottom:-24px;font-size:var(--fs-2xs);color:var(--muted);text-align:center}
.weekchart-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:var(--s-6)}
.weekchart-notes b{display:block;margin-bottom:4px;font-size:var(--fs-sm)}
.weekchart-notes span{font-size:var(--fs-xs);line-height:1.5;color:var(--ink-2)}
.mentor-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto}
.mentor-quotes blockquote{display:flex;flex-direction:column;margin:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.mentor-quotes p{font-size:var(--fs-sm);line-height:1.65;color:var(--ink)}
.mentor-quotes footer{margin-top:auto;padding-top:14px;font-size:var(--fs-2xs);color:var(--muted)}
@media (max-width:860px){
  .compare-head,.compare-row{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr))}
  .compare-head span{padding:10px 6px;font-size:.66rem}
  .compare-row>span{padding:12px 14px;font-size:var(--fs-xs)}
  .hub{grid-template-columns:1fr}
  .hub-arrow{height:32px;transform:rotate(90deg)}
  .weekchart-notes,.mentor-quotes{grid-template-columns:1fr}
  .weekchart-bars .bars i{width:14px}
}


/* Methodology page graphics */
.weightbars{display:grid;gap:12px;max-width:820px;margin:0 auto}
.weightbars>div{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:center;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.wb-rank{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:var(--fs-2xs);font-weight:600}
.wb-body b{display:block;font-size:var(--fs-sm)}
.wb-body small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--muted)}
.wb-body i{display:block;height:6px;width:calc(var(--w) * 1%);margin-top:10px;border-radius:3px;background:linear-gradient(90deg,var(--navy),var(--blue))}
.weightbars>div:nth-child(n+5) .wb-body i{background:var(--line-2)}

.quad{position:relative;max-width:760px;margin:0 auto;padding:0 0 34px 110px}
.quad-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quad-grid>div{padding:22px 22px 24px;border:1px solid var(--line);border-radius:var(--r);background:#fff;min-height:150px}
.quad-grid b{display:block;font-size:1rem}
.quad-grid p{margin-top:8px;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2)}
.quad-grid .good{background:var(--blue-pale);border-color:var(--blue-line)}
.quad-grid .warn{background:var(--danger-pale);border-color:var(--danger-line)}
.quad-grid .warn b{color:var(--danger)}
.quad-axis-x{position:absolute;left:110px;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;font-size:var(--fs-2xs);font-weight:600;color:var(--muted);text-align:center}
.quad-axis-y{position:absolute;left:0;top:0;bottom:34px;width:96px;display:grid;grid-template-rows:1fr 1fr;align-items:center;font-size:var(--fs-2xs);font-weight:600;color:var(--muted);text-align:right;padding-right:6px}

.convict{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px;margin:0 auto}
.convict>div{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.convict .hi{background:var(--navy);border-color:var(--navy);color:#fff}
.cv-label{display:block;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.convict .hi .cv-label{color:var(--on-navy-muted)}
.cv-bar{display:block;position:relative;height:8px;margin:14px 0 16px;border-radius:4px;background:var(--paper-3)}
.cv-bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--s) * 1%);border-radius:4px;background:var(--blue)}
.convict .hi .cv-bar{background:rgba(255,255,255,.14)}
.convict .hi .cv-bar::after{background:#fff}
.convict b{display:block;font-size:1.05rem}
.convict p{margin-top:8px;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2)}
.convict .hi p{color:var(--on-navy)}

.cadence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto}
.cadence>div{padding:24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:var(--r)}
.cd-when{display:block;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.cadence b{display:block;margin-top:10px;font-size:1.05rem}
.cadence p{margin-top:8px;font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2)}
@media (max-width:860px){
  .convict{grid-template-columns:1fr}
  .cadence{grid-template-columns:1fr 1fr}
  .quad{padding-left:0;padding-bottom:0}
  .quad-axis-x,.quad-axis-y{display:none}
  .quad-grid{grid-template-columns:1fr}
}
@media (max-width:600px){.cadence{grid-template-columns:1fr}}

/* Program page graphics */
.weekgrid{max-width:1080px;margin:0 auto;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.wg-head,.wg-row{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1.6fr))}
.wg-head{background:var(--paper-2);border-bottom:1px solid var(--line)}
.wg-head span{padding:14px 18px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted)}
.wg-row{border-top:1px solid var(--line)}
.wg-row:first-of-type{border-top:0}
.wg-row>span{padding:18px;font-size:var(--fs-xs);line-height:1.55;color:var(--ink-2);border-left:1px solid var(--line)}
.wg-row>span:first-child{border-left:0}
.wg-stage{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}
.wg-stage i{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:.66rem;font-style:normal;font-weight:600}
.wg-row.hi{background:var(--blue-pale)}
.layers3{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:stretch;max-width:1040px;margin:0 auto}
.layers3>div:not(.ly-arrow){padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.layers3>div.hi{background:var(--navy);border-color:var(--navy);color:#fff}
.ly-n{display:block;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
.layers3 .hi .ly-n{color:var(--on-navy-muted)}
.layers3 b{display:block;margin-top:8px;font-size:1.1rem}
.layers3 p{margin-top:4px;font-size:var(--fs-sm);color:var(--ink-2)}
.layers3 .hi p{color:var(--on-navy)}
.layers3 small{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-xs);line-height:1.5;color:var(--muted)}
.layers3 .hi small{border-top-color:rgba(255,255,255,.16);color:var(--on-navy)}
.ly-arrow{display:flex;align-items:center;justify-content:center;color:var(--muted)}
.gate{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:20px;align-items:center;max-width:1040px;margin:0 auto}
.gate-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;text-align:center}
.gate-stage i{font-size:var(--fs-2xs);font-style:normal;font-weight:600;color:var(--muted)}
.gate-stage b{margin-top:4px;font-size:1.1rem;color:var(--navy)}
.gate-stage.next{background:var(--navy);border-color:var(--navy)}
.gate-stage.next i{color:var(--on-navy-muted)}
.gate-stage.next b{color:#fff}
.gate-checks{display:grid;gap:10px}
.gate-checks>div{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.gc-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:.68rem;font-weight:600}
.gate-checks b{display:block;font-size:var(--fs-sm)}
.gate-checks p{margin-top:3px;font-size:var(--fs-xs);line-height:1.5;color:var(--ink-2)}
@media (max-width:860px){
  .wg-head{display:none}
  .wg-row{grid-template-columns:1fr}
  .wg-row>span{border-left:0;border-top:1px solid var(--line)}
  .wg-row>span:first-child{border-top:0}
  .wg-row>span:not(.wg-stage)::before{content:attr(data-when);display:block;margin-bottom:4px;font-size:var(--fs-2xs);font-weight:600;color:var(--blue)}
  .layers3{grid-template-columns:1fr}
  .ly-arrow{height:30px;transform:rotate(90deg)}
  .gate{grid-template-columns:1fr}
  .gate-stage{flex-direction:row;gap:8px;padding:14px}
}

/* homepage: where traders arrive */
.arrive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto}
.arrive>div{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.arrive-before{display:inline-block;align-self:flex-start;margin-bottom:14px;padding:5px 11px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-2);font-size:var(--fs-2xs);font-weight:600;color:var(--ink-2)}
.arrive p{font-size:var(--fs-sm);line-height:1.6;color:var(--ink)}
.arrive footer{margin-top:auto;padding-top:14px;font-size:var(--fs-2xs);color:var(--muted)}
@media (max-width:860px){.arrive{grid-template-columns:1fr}}

/* team cards: monogram + name on one row, role line below at full width */
.person-head{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center}
.person-head>div:not(.person-monogram){display:contents}
.person-head h3{grid-column:2}
.person-head .role{grid-column:1/-1;margin-top:12px;font-size:var(--fs-xs);line-height:1.55;color:var(--ink-2)}
