/* ==============================================================
   Inner Lab Coaching · V2 (full build)
   Hero: typographic + persona pills over the Wash scene
   Line: the orbit, one calm arc per chapter, ends in a dot
   Palette: sage / cream / forest + terracotta
   Type: Fraunces (display, variable) + Inter (body)
   ============================================================== */

:root{
  --cream:#f7f4ed;
  --cream-2:#efe9dc;
  --cream-3:#e7dfcf;
  --paper:#fffdf8;

  --ink:#272921;
  --ink-soft:#5a5d4f;

  --sage:#97a585;
  --sage-deep:#5c6a4f;
  --sage-light:#c6cfb6;
  --forest:#33402c;
  --forest-deep:#202818;

  --clay:#bd8559;
  --accent:#a85f33;
  --accent-deep:#8f4f2a;

  --line:rgba(42,44,38,.13);
  --line-light:rgba(247,244,237,.17);
  --shadow-soft:0 18px 44px rgba(32,40,24,.10);
  --shadow-lift:0 26px 60px rgba(32,40,24,.16);

  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.7,.25,1);
  --wrap:1180px;
  --radius-sheet:34px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
strong{font-weight:600}
::selection{background:rgba(151,165,133,.35)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.045;mix-blend-mode:multiply}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------------- type ---------------- */
h1{font-family:var(--serif);font-weight:330;font-size:clamp(3.2rem,8.4vw,6.8rem);
  line-height:1.02;letter-spacing:-.012em;color:var(--ink)}
h1 em{font-style:italic;font-weight:320;color:var(--sage-deep)}
h2{font-family:var(--serif);font-weight:340;font-size:clamp(2rem,4.1vw,3.3rem);
  line-height:1.08;letter-spacing:-.01em;max-width:18ch}
h3{font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.01em}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.section-lead{font-size:clamp(1.02rem,1.4vw,1.17rem);color:var(--ink-soft);max-width:50ch}

/* ---------------- buttons + CTA blocks ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:9px;font-family:var(--sans);
  font-size:15.5px;font-weight:500;letter-spacing:.2px;cursor:pointer;border:none;
  padding:16px 30px;border-radius:46px;background:var(--accent);color:#fff;
  transition:transform .3s var(--ease),box-shadow .3s,background .3s;min-height:44px}
.btn:hover{transform:translateY(-2px);background:var(--accent-deep);box-shadow:0 16px 32px rgba(112,62,28,.28)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;
  transition:gap .3s var(--ease);color:var(--forest);min-height:44px}
.btn-ghost:hover{gap:14px}
.btn-ghost.light{color:var(--cream)}
.cta-meta{margin-top:13px;font-size:13px;letter-spacing:.4px;color:var(--ink-soft);text-align:center}
.cta-stack{display:flex;flex-direction:column;align-items:center}
.cta-wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.cta-lead{font-family:var(--serif);font-style:italic;font-weight:340;font-size:clamp(1.15rem,1.8vw,1.4rem);
  color:var(--forest);margin-bottom:22px;max-width:44ch}
.on-dark .cta-lead{color:#eee2cf}
.on-dark .cta-meta{color:rgba(247,244,237,.66)}

/* ---------------- nav ---------------- */
nav.site{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;
  justify-content:space-between;padding:22px 40px;border-bottom:1px solid transparent;
  transition:padding .4s var(--ease),background .4s var(--ease),border-color .4s,backdrop-filter .4s}
nav.site.scrolled{padding:12px 40px;background:rgba(247,244,237,.87);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);color:var(--ink)}
.brand img{height:30px;width:auto}
.brand .logo-light{display:none}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:14.5px;opacity:.85;transition:opacity .25s}
.nav-links a:hover{opacity:1}
.nav-links .btn{padding:11px 22px;font-size:14px}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;z-index:75;color:inherit}
.nav-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:5px 0}
.mobile-menu{position:fixed;inset:0;z-index:72;background:var(--forest-deep);color:var(--cream);
  display:flex;flex-direction:column;justify-content:center;gap:8px;padding:40px 34px;
  opacity:0;pointer-events:none;visibility:hidden;
  transition:opacity .35s var(--ease),visibility 0s linear .35s}
.mobile-menu.open{opacity:1;pointer-events:auto;visibility:visible;
  transition:opacity .35s var(--ease),visibility 0s}
.mobile-menu a{font-family:var(--serif);font-size:30px;font-weight:340;padding:10px 0}
.mobile-menu .btn{font-family:var(--sans);font-size:16px;padding:16px 34px;margin-top:18px;align-self:flex-start}
.menu-close{position:absolute;top:22px;right:26px;background:none;border:0;color:var(--cream);
  font-size:15px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:10px}

/* ==============================================================
   HERO
   ============================================================== */
/* 92svh so the next chapter's rounded sheet peeks above the fold */
.hero{position:relative;background:var(--cream);min-height:92svh;display:flex;
  flex-direction:column;justify-content:center;overflow:hidden}
.hero .wrap{position:relative;z-index:2;padding-top:140px;padding-bottom:110px}
.hero .eyebrow{color:var(--sage-deep);margin-bottom:30px;display:flex;align-items:flex-start;gap:14px}
.hero .eyebrow::before{content:"";width:34px;height:1px;background:var(--sage-deep);opacity:.6;flex-shrink:0;margin-top:9px}
.hero-sub{margin-top:34px;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.75;
  color:var(--ink-soft);max-width:46ch;transition:opacity .35s var(--ease)}
.hero-sub.swapping{opacity:.15}
.scroll-cue{position:absolute;left:40px;bottom:26px;z-index:3;display:flex;
  align-items:center;gap:12px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ink-soft)}
.scroll-cue .cue-line{width:1px;height:44px;background:linear-gradient(180deg,var(--sage-deep),transparent);
  animation:cue 2.6s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(.2);transform-origin:top}45%{transform:scaleY(1)}100%{transform:scaleY(.2);transform-origin:bottom}}

/* persona pills */
.pillrow{margin-top:34px}
.pill-label{font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:12px}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;min-height:44px;
  border-radius:44px;border:1px solid rgba(42,44,38,.30);background:transparent;
  color:var(--ink);font-family:var(--sans);font-size:14px;cursor:pointer;
  transition:background .3s,border-color .3s,color .3s,transform .3s var(--ease)}
.pill:hover{border-color:var(--ink);transform:translateY(-1px)}
.pill[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream);font-weight:500}
.pill[aria-pressed="true"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--clay)}
.hero-actions{margin-top:36px;display:flex;align-items:flex-start;gap:34px;flex-wrap:wrap}
.hero-actions .btn-ghost{min-height:52px} /* baseline-aligns with the button text */

/* the scene: Wash, locked */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.bg-el-wash{background:
  radial-gradient(1000px 720px at 78% 16%, rgba(151,165,133,.30), transparent 62%),
  radial-gradient(1150px 800px at 10% 92%, rgba(189,133,89,.17), transparent 62%),
  radial-gradient(1300px 900px at 48% 46%, rgba(233,228,209,.9), transparent 75%),
  #f4f0e6}

/* ==============================================================
   Sheets, chapter rings, the line, glyphs
   ============================================================== */
.sheet{position:relative;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;
  margin-top:calc(var(--radius-sheet) * -1);z-index:2}
.sheet.on-cream{background:var(--cream)}
.sheet.on-cream2{background:var(--cream-2)}
.sheet.on-dark{background:var(--forest-deep);color:var(--cream)}

.ch{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.ch-ring{width:46px;height:46px;position:relative;display:grid;place-items:center;
  font-family:var(--serif);font-size:16px;color:var(--sage-deep)}
.ch-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--cream)}
.on-dark .ch-ring::before,.on-cream2 .ch-ring::before{background:transparent}
.ch-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ch-ring circle{fill:none;stroke:currentColor;stroke-width:1.3;
  stroke-dasharray:100;stroke-dashoffset:0}
.in .ch-ring circle{stroke-dashoffset:0}
.ch-ring i{position:relative;font-style:normal}
.on-dark .ch-ring{color:var(--sage-light)}
.ch-label{font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}
.on-dark .ch-label{color:rgba(247,244,237,.6)}

/* abstract glyph icons: draw themselves on reveal */
.glyph{display:block;width:40px;height:40px;color:var(--sage-deep);flex-shrink:0}
.glyph svg{width:100%;height:100%;display:block}
.glyph [pathLength]{fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:100;stroke-dashoffset:0}
.glyph .fdot{fill:currentColor;stroke:none;opacity:1}
.in .glyph [pathLength]{stroke-dashoffset:0}
.in .glyph .fdot{opacity:1}
.on-dark .glyph{color:var(--sage-light)}

/* ==============================================================
   01 · Is this you
   ============================================================== */
.recognition{padding:calc(var(--radius-sheet) + 66px) 0 100px;overflow:hidden}
.recog-head{margin-bottom:54px}
.recog-head .section-lead{margin-top:24px;max-width:52ch}
/* the ledger: ten expandable rows, what people bring */
.ledger{position:relative;z-index:2;max-width:1020px}
.ledger-item{border-bottom:1px solid var(--line);transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.ledger-item:first-child{border-top:1px solid var(--line)}
.ledger-item.open{background:rgba(151,165,133,.07);box-shadow:inset 2px 0 0 var(--clay)}
.ledger-q{width:100%;display:flex;align-items:center;gap:22px;padding:24px 8px 24px 12px;
  background:none;border:0;cursor:pointer;text-align:left;min-height:44px}
.lnum{font-family:var(--serif);font-size:16px;color:var(--sage-deep);min-width:34px;transition:color .3s}
.llabel{flex:1;font-family:var(--serif);font-weight:360;font-size:clamp(1.15rem,1.8vw,1.45rem);
  letter-spacing:-.005em;line-height:1.3;color:var(--ink);
  transition:transform .3s var(--ease),color .3s}
.lic{position:relative;width:18px;height:18px;flex-shrink:0}
.lic::before,.lic::after{content:"";position:absolute;background:var(--clay)}
.lic::before{left:0;right:0;top:8px;height:2px}
.lic::after{top:0;bottom:0;left:8px;width:2px;transform:scaleY(0);transition:transform .24s var(--ease)}
.ledger-q:hover .lnum{color:var(--accent)}
.ledger-q:hover .llabel{transform:translateX(6px);color:var(--forest)}
.ledger-q:hover .lic::after{transform:scaleY(1)}
.ledger-q[aria-expanded="true"] .lic::after{transform:scaleY(0)}
.ledger-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.ledger-a-inner{padding:0 8px 26px 68px;font-size:15.5px;line-height:1.75;color:var(--ink-soft);max-width:84ch}
.affirm{position:relative;z-index:2;margin-top:52px;max-width:56ch;
  font-family:var(--serif);font-size:clamp(1.2rem,1.9vw,1.5rem);font-weight:340;
  font-style:italic;line-height:1.5;color:var(--forest)}

/* ==============================================================
   02 · The pattern (dark act)
   ============================================================== */
.pattern{padding:calc(var(--radius-sheet) + 70px) 0 110px;overflow:hidden}
.pattern-grid{position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5vw,72px);align-items:start}
.spine{margin-top:30px;padding-left:24px;border-left:2px solid var(--clay);
  font-family:var(--serif);font-style:italic;font-weight:330;
  font-size:clamp(1.3rem,2.3vw,1.75rem);line-height:1.45;color:#eee2cf;max-width:44ch}
.pattern-intro{margin-top:28px;font-size:clamp(1.02rem,1.35vw,1.16rem);line-height:1.75;
  color:rgba(247,244,237,.84);max-width:54ch}
.stances{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.stance{background:#262e1d;border:1px solid rgba(247,244,237,.14);
  border-radius:22px;padding:30px 30px 28px;
  transition:transform .5s var(--ease),background .5s,border-color .5s,box-shadow .5s}
.stance:hover{transform:translateY(-6px);background:#2b3421;border-color:rgba(198,207,182,.4);
  box-shadow:0 26px 50px rgba(0,0,0,.3)}
.stance .glyph{width:34px;height:34px;margin-bottom:16px;color:var(--sage-light)}
.stance .kicker{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:400;
  letter-spacing:-.01em;text-transform:none;color:#f2efe6;margin-bottom:10px}
.stance p{font-size:15px;line-height:1.7;color:rgba(247,244,237,.82)}
.pattern-bridge{margin-top:40px;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.75;
  color:rgba(247,244,237,.88);max-width:54ch}
.pattern-bridge strong{color:var(--cream)}
.pattern-bridge em{font-family:var(--serif);font-size:1.12em;color:#eee2cf}
.pattern-cta{margin-top:30px}
/* framed like a print on a dark wall: cream mat + deep shadow.
   REVERT: to go back to the borderless version, replace this block with:
   .pattern-figure{position:relative;border-radius:22px;overflow:hidden;
     border:1px solid rgba(247,244,237,.12);box-shadow:0 30px 70px rgba(0,0,0,.35);
     transform:translateY(clamp(10px,4vh,46px))}
   .pattern-figure img{width:100%;height:100%;object-fit:cover}
   .pattern-figure::after{content:"";position:absolute;inset:0;
     background:linear-gradient(180deg,rgba(32,40,24,.16),transparent 30%,transparent 78%,rgba(16,20,11,.3))}
*/
.pattern-figure{position:relative;border-radius:20px;overflow:hidden;
  border:1.5px solid rgba(198,207,182,.35);
  box-shadow:0 24px 60px rgba(0,0,0,.55), 0 44px 110px rgba(0,0,0,.35);
  transform:translateY(clamp(10px,4vh,46px))}
.pattern-figure img{width:100%;height:100%;object-fit:cover}

/* ==============================================================
   03 · What becomes possible
   ============================================================== */
.outcomes{padding:calc(var(--radius-sheet) + 66px) 0 100px;overflow:hidden}
/* the open ledger: ten outcomes, everything visible, clay numerals answering 01's sage */
.walk{position:relative;z-index:2;max-width:1020px;margin-top:10px}
.walk-row{display:flex;align-items:baseline;gap:22px;padding:24px 8px 24px 12px;
  border-top:1px solid var(--line)}
.walk-row:last-child{border-bottom:1px solid var(--line)}
.wnum{font-family:var(--serif);font-size:14.5px;color:var(--clay);min-width:34px;transition:color .3s}
.walk-row p{font-family:var(--serif);font-weight:340;font-size:clamp(1.15rem,1.7vw,1.4rem);
  line-height:1.45;letter-spacing:-.005em;color:var(--ink);padding-bottom:3px;
  background-image:linear-gradient(var(--clay),var(--clay));background-repeat:no-repeat;
  background-position:0 100%;background-size:0 1.5px;
  transition:color .4s,background-size .55s var(--ease)}
.walk-row:hover .wnum{color:var(--accent)}
.walk-row:hover p{color:var(--forest);background-size:100% 1.5px}

/* ==============================================================
   Photo band
   ============================================================== */
.band{position:relative;height:clamp(340px,54vh,540px);overflow:hidden;z-index:2;
  border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;margin-top:calc(var(--radius-sheet) * -1)}
.band img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.band::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,27,16,.18),rgba(22,27,16,.52))}
.band .wrap{position:absolute;inset:0;display:flex;flex-direction:column;
  justify-content:center;z-index:2;left:0;right:0}
.band blockquote{font-family:var(--serif);font-weight:330;font-style:italic;
  font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.25;color:var(--cream);max-width:22ch}
.band .b2{display:block;margin-top:16px;font-family:var(--sans);font-style:normal;
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,244,237,.78)}

/* ==============================================================
   04 · How it works
   ============================================================== */
/* ported 1:1 from the approved first build, per Michel */
.process{padding:calc(var(--radius-sheet) + 66px) 0 100px;overflow:hidden}
.definition{margin-top:26px;max-width:58ch;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.8}
.steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:58px}
.step{background:var(--paper);border:1px solid var(--line);border-radius:22px;
  padding:34px 30px 30px;position:relative;
  transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.step:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(40,49,33,.10);border-color:rgba(151,165,133,.5)}
.step .step-no{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:20px;color:#fff;background:var(--sage-deep);margin-bottom:20px}
.step:nth-child(2) .step-no{background:var(--clay)}
.step:nth-child(3) .step-no{background:var(--forest)}
.step h3{font-size:1.42rem;margin:0 0 12px;color:var(--ink)}
.step p{font-size:15.5px;color:var(--ink-soft);line-height:1.62}
.step .tail{margin-top:16px;font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:var(--sage-deep)}
/* connector dashes only while the three steps sit side by side (grid stacks at 1020px) */
@media(min-width:1021px){
  .step::after{content:"";position:absolute;top:56px;right:-14px;width:22px;height:1px;background:var(--line);z-index:2}
  .step:last-child::after{display:none}
}
.work-cta{margin-top:54px;display:flex;justify-content:flex-start}

/* ==============================================================
   06 · In their words
   ============================================================== */
.testi{padding:calc(var(--radius-sheet) + 66px) 0 90px;overflow:hidden}
.testi-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}
.testi-nav{display:flex;gap:10px}
.tarrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(42,44,38,.3);
  background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:background .3s,border-color .3s,transform .3s var(--ease)}
.tarrow:hover{background:var(--paper);border-color:var(--ink);transform:translateY(-2px)}
.tarrow svg{width:18px;height:18px}
.testi-track{position:relative;z-index:2;display:flex;gap:18px;overflow-x:auto;
  scroll-snap-type:x mandatory;padding:4px 4px 26px;scrollbar-width:none}
.testi-track::-webkit-scrollbar{display:none}
.tcard{scroll-snap-align:start;flex:0 0 min(420px,86vw);background:var(--paper);
  border:1px solid var(--line);border-radius:18px;padding:30px 30px 26px;
  display:flex;flex-direction:column;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.tcard .qmark{font-family:var(--serif);font-size:44px;line-height:1;color:var(--clay);margin-bottom:10px}
.tcard .q{font-size:15.5px;line-height:1.7;color:var(--ink)}
.tcard .who{margin-top:auto;padding-top:18px;font-size:12.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.testi .cta-wrap{margin-top:40px}

/* ==============================================================
   07 · About
   ============================================================== */
.about{padding:calc(var(--radius-sheet) + 70px) 0 110px;overflow:hidden}
.about-grid{position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,80px);align-items:center}
.about-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lift)}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-body .benevolence{margin-top:26px;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.8}
.about-body .cred{margin-top:20px;font-size:15.5px;line-height:1.75;color:var(--ink-soft);max-width:56ch}
.about-body .btn-ghost{margin-top:26px}

/* ==============================================================
   Standards (quiet trust strip)
   ============================================================== */
/* quiet, airy trust strip: no boxes, thin dividers only */
.standards{padding:calc(var(--radius-sheet) + 60px) 0 90px}
.std-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;
  gap:44px 72px;margin-top:52px;max-width:920px}
.std-item{display:flex;gap:20px;align-items:flex-start}
.std-item .glyph{width:30px;height:30px;margin-top:3px}
.std-item p{font-size:15px;line-height:1.65;color:var(--ink-soft)}
.std-item p strong{color:var(--ink);display:block;margin-bottom:5px;font-size:15.5px}
.evidence{position:relative;z-index:2;margin-top:58px;padding-top:32px;border-top:1px solid var(--line);
  display:flex;align-items:baseline;justify-content:space-between;gap:26px;flex-wrap:wrap;max-width:920px}
.evidence p{color:var(--ink-soft);max-width:52ch;font-family:var(--serif);
  font-style:italic;font-weight:340;font-size:17px;line-height:1.6}
.std-link{font-size:14px;font-weight:500;color:var(--forest);border-bottom:1px solid var(--sage);
  padding-bottom:2px;white-space:nowrap}

/* ==============================================================
   FAQ (condensed)
   ============================================================== */
.faq{padding:calc(var(--radius-sheet) + 66px) 0 100px}
.faq-list{margin-top:36px;max-width:820px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px 2px;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--sans);font-size:16.5px;font-weight:500;color:var(--ink);min-height:44px}
.faq-q .ic{position:relative;width:14px;height:14px;flex-shrink:0}
.faq-q .ic::before,.faq-q .ic::after{content:"";position:absolute;background:var(--sage-deep);
  transition:transform .35s var(--ease)}
.faq-q .ic::before{left:0;right:0;top:6px;height:1.6px}
.faq-q .ic::after{top:0;bottom:0;left:6px;width:1.6px}
.faq-q[aria-expanded="true"] .ic::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a-inner{padding:0 2px 24px;font-size:15.5px;line-height:1.75;color:var(--ink-soft);max-width:62ch}
.faq-more{margin-top:30px}

/* ==============================================================
   Finale (dark bookend, the line ends here)
   ============================================================== */
.finale{padding:calc(var(--radius-sheet) + 100px) 0 120px;text-align:center;overflow:hidden}
.finale h2{font-size:clamp(2.6rem,6vw,4.4rem);max-width:none;margin:0 auto}
/* the site's closing mark: the thread ends in a single terracotta dot */
.enddot-final{margin-top:44px;display:flex;justify-content:center}
.finale .enddot{display:inline-block;width:11px;height:11px;border-radius:50%;
  background:var(--accent);opacity:0;transform:scale(.2);
  transition:opacity .6s var(--ease) .3s,transform .6s var(--ease) .3s}
.finale .enddot.on{opacity:1;transform:scale(1)}
.finale .section-lead{margin:22px auto 0;color:rgba(247,244,237,.8)}
.finale .cta-wrap{margin-top:44px}
.contact-line{margin-top:34px;font-size:14.5px;color:rgba(247,244,237,.75)}
.contact-line a{color:var(--cream);border-bottom:1px solid rgba(198,207,182,.6);padding-bottom:1px}

/* ==============================================================
   05 · The program (dark card on cream) + inside the sessions
   ============================================================== */
.program{padding:calc(var(--radius-sheet) + 66px) 0 100px;overflow:hidden}
.program-card{position:relative;z-index:2;max-width:680px;margin:14px auto 0;
  background:var(--forest-deep);color:var(--cream);border-radius:26px;
  padding:clamp(34px,5vw,52px);box-shadow:0 34px 80px rgba(32,40,24,.22)}
.program-card h3{font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:340;letter-spacing:-.01em;color:#f2efe6}
.program-card .p-sub{margin-top:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sage-light)}
.program-card .p-intro{margin-top:22px;font-size:15.5px;line-height:1.7;color:rgba(247,244,237,.84)}
.p-list{margin-top:28px;display:flex;flex-direction:column;gap:15px}
.p-item{display:flex;gap:15px;align-items:flex-start}
.p-item .tick-ic{flex-shrink:0;width:21px;height:21px;margin-top:2px}
.p-item .tick-ic circle{fill:none;stroke:var(--sage-light);stroke-opacity:.4;stroke-width:1.4}
.p-item .tick-ic path{fill:none;stroke:var(--sage-light);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.p-item p{font-size:15px;line-height:1.6;color:rgba(247,244,237,.88)}
.p-invest{margin-top:32px;padding-top:28px;border-top:1px solid rgba(247,244,237,.16);
  font-size:15px;line-height:1.75;color:rgba(247,244,237,.82)}
.p-invest strong{color:var(--cream)}
.program-card .cta-wrap{margin-top:32px}
.program-card .cta-meta{color:rgba(247,244,237,.66)}

.sessions{position:relative;z-index:2;max-width:680px;margin:74px auto 0}
.sessions h3{font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:340;letter-spacing:-.01em}
.sessions .s-intro{margin-top:12px;font-size:15.5px;color:var(--ink-soft)}
.sessions .faq-list{margin-top:14px;max-width:none}

/* ---------------- footer ---------------- */
footer.site-footer{background:var(--cream);border-top:1px solid var(--line);padding:64px 0 40px}
.f-cols{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);gap:44px}
.f-brand img{height:26px}
.f-note{margin-top:18px;font-size:13.5px;line-height:1.7;color:var(--ink-soft);max-width:46ch}
.f-col .f-h{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:14px}
.f-col a{display:block;font-size:14.5px;padding:5px 0;color:var(--ink);opacity:.85}
.f-col a:hover{opacity:1}
.f-bottom{display:flex;align-items:center;justify-content:center;text-align:center;gap:16px;flex-wrap:wrap;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  font-size:13px;color:var(--ink-soft)}

/* ---------------- subpages (About, FAQ) ---------------- */
/* min-height + centered content keep About and FAQ headers the same height */
.page-head{position:relative;padding:180px 0 120px;overflow:hidden;text-align:center;
  display:flex;flex-direction:column;justify-content:center;min-height:560px;background:
  radial-gradient(900px 620px at 82% 0%, rgba(151,165,133,.26), transparent 62%),
  radial-gradient(1000px 700px at 4% 120%, rgba(189,133,89,.14), transparent 60%),
  #f4f0e6}
.page-head .wrap{position:relative}
.head-glyph{display:none}
.page-head .section-lead{margin:24px auto 0;font-family:var(--serif);font-style:italic;
  font-weight:340;font-size:clamp(1.15rem,1.7vw,1.4rem);color:var(--accent);line-height:1.5}
.page-head .section-lead a{color:var(--accent-deep)}
.page-head h1{font-size:clamp(2.4rem,5vw,3.9rem);margin:0 auto;max-width:22ch}
.page-head .ch-label{display:block;margin-bottom:18px}
/* the body slides over the header like every other chapter */
.page-main{position:relative;z-index:2;background:var(--cream);
  border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;
  margin-top:calc(var(--radius-sheet) * -1);padding:84px 0 90px}
.cred-banner,.page-main .faq-list{margin-left:auto;margin-right:auto}
.prose-open{font-family:var(--serif);font-weight:350;font-size:clamp(1.2rem,1.6vw,1.4rem);
  line-height:1.6;letter-spacing:-.005em;color:var(--forest);
  max-width:880px;margin:0 auto 52px}
.prose-open strong{font-weight:500;color:var(--ink)}

/* full-width editorial rows: compact label lockup left, story right */
.story{margin:52px auto 0;max-width:660px}
.story-row{display:block;padding:0 0 42px}
.story-row:last-of-type{padding-bottom:0}
/* row labels now match the top story kickers: small green kicker + short line, no icon, above the text */
.rowlabel{display:flex;flex-direction:row;align-items:center;gap:14px;margin-bottom:18px}
.rowlabel::after{content:"";flex:1;max-width:60px;height:1px;background:var(--sage);opacity:.5}
.rowlabel .glyph{display:none}
.rowlabel h2{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:.05em;
  color:var(--sage-deep);line-height:1.4;max-width:none}
.rowbody p{font-size:17px;line-height:1.8;margin-bottom:22px;max-width:none}
.rowbody p:last-child{margin-bottom:0}
/* the story beside the photo, homepage proportions */
.about-body .prose-kicker:first-child{margin-top:0}
.about-body > p{font-size:17px;line-height:1.75;margin-bottom:22px}
.about-body > p:last-child{margin-bottom:0}
.prose-kicker{display:flex;align-items:center;gap:14px;font-size:11.5px;font-weight:500;
  letter-spacing:.05em;color:var(--sage-deep);margin:46px 0 18px}
.prose-kicker::after{content:"";flex:1;max-width:60px;height:1px;background:var(--sage);opacity:.5}
/* light credentials card: the earlier row layout, icons drawing in,
   items arriving one by one, a warm lift on hover */
.cred-banner{margin-top:64px;background:var(--paper);border:1px solid var(--line);
  border-radius:24px;padding:44px 46px;display:grid;grid-template-columns:1fr 1fr;
  gap:34px 52px;max-width:880px;box-shadow:0 18px 50px rgba(40,49,33,.07)}
.cred-item{display:flex;gap:18px;align-items:flex-start;
  opacity:0;transform:translateY(12px);
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
.cred-banner.in .cred-item{opacity:1;transform:none}
.cred-banner.in .cred-item:nth-child(2){transition-delay:.15s}
.cred-banner.in .cred-item:nth-child(3){transition-delay:.3s}
.cred-banner.in .cred-item:nth-child(4){transition-delay:.45s}
.cred-item .glyph{width:30px;height:30px;margin-top:2px;color:var(--sage-deep);transition:color .4s}
.cred-item:hover .glyph{color:var(--clay)}
.cred-item p{font-size:14px;line-height:1.6;color:var(--ink-soft)}
.cred-item p strong{color:var(--ink);display:block;margin-bottom:4px;font-size:15px}
.cred-item a{border-bottom:1px solid var(--sage);color:var(--ink-soft)}
.page-cta{padding:80px 0 100px;text-align:center}
.page-cta .contact-line{color:var(--ink-soft)}
.page-cta .contact-line a{color:var(--forest);border-bottom:1px solid var(--sage)}

/* ---------------- sticky booking ---------------- */
.sticky-cta{position:fixed;z-index:60;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;
  background:rgba(247,244,237,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid var(--line);
  border-radius:60px;padding:8px 10px 8px 22px;box-shadow:var(--shadow-soft);
  opacity:0;transform:translateY(16px);pointer-events:none;visibility:hidden;
  transition:opacity .45s var(--ease),transform .45s var(--ease),visibility 0s linear .45s}
.sticky-cta.show:not(.suppress){opacity:1;transform:none;pointer-events:auto;visibility:visible;
  transition:opacity .45s var(--ease),transform .45s var(--ease),visibility 0s}
.sticky-cta .s-meta{font-size:12.5px;color:var(--ink-soft);letter-spacing:.3px}
.sticky-cta .btn{padding:11px 22px;font-size:14px}

/* ---------------- reveals ---------------- */
.reveal{opacity:0;transform:translateY(16px);
  transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}
.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

[data-fade]{will-change:opacity}

/* ---------------- reduced motion ---------------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .scroll-cue .cue-line{animation:none}
}

/* ==============================================================
   Responsive
   ============================================================== */
@media (max-width:1020px){
  .pattern-grid{grid-template-columns:1fr}
  .pattern-figure{max-width:520px;transform:none;order:2}
  .stances{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .about-photo{max-width:440px}
  .std-grid{grid-template-columns:1fr 1fr;gap:30px}
  .f-cols{grid-template-columns:1fr 1fr;gap:32px}
  .f-brand{grid-column:1 / -1}
}
@media (max-width:880px){
  nav.site{padding:16px 22px}
  nav.site.scrolled{padding:11px 22px}
  .nav-links{display:none}
  .nav-toggle{display:block}

  .hero .wrap{padding-top:120px;padding-bottom:150px}
  .scroll-cue{left:26px;bottom:22px}
  .hero-actions{gap:22px}
  .head-glyph{display:none}
  .story-row{padding:0 0 34px}
  .cred-banner{grid-template-columns:1fr;padding:26px 24px}
  .std-grid{grid-template-columns:1fr;gap:28px}

  .recognition,.outcomes,.process,.testi,.standards,.faq{padding-top:calc(var(--radius-sheet) + 46px);padding-bottom:70px}
  .pattern,.about{padding-top:calc(var(--radius-sheet) + 50px);padding-bottom:80px}
  .ledger-q{gap:16px;padding:20px 6px 20px 10px}
  .lnum{min-width:26px;font-size:14px}
  .ledger-a-inner{padding:0 6px 22px 10px}
  .walk-row{gap:16px;padding:20px 6px 20px 10px}
  .wnum{min-width:26px}
  .band{height:clamp(300px,46vh,420px)}
  .testi-head{flex-direction:column;align-items:flex-start;gap:20px}
  .steps{grid-template-columns:1fr;gap:16px}
  .program{padding-top:calc(var(--radius-sheet) + 46px);padding-bottom:70px}
  .sessions{margin-top:56px}
  .finale{padding-top:calc(var(--radius-sheet) + 70px);padding-bottom:90px}

  .sticky-cta{left:14px;right:14px;bottom:14px;border-radius:44px;justify-content:center;padding:8px}
  .sticky-cta .s-meta{display:none}
  .sticky-cta .btn{flex:1}
}
@media (max-width:420px){
  h1{font-size:2.9rem}
}
/* short laptop screens: keep the booking button above the fold */
@media (min-width:881px) and (max-height:850px){
  .hero .wrap{padding-top:104px;padding-bottom:64px}
  .hero h1{font-size:clamp(2.7rem,5.8vw,4.4rem)}
  .hero .eyebrow{margin-bottom:22px}
  .hero-sub{margin-top:22px}
  .hero-actions{margin-top:26px}
  .scroll-cue{display:none}
}


/* ---------------- legal pages (Terms, Privacy) ---------------- */
.legal{max-width:740px;margin:0 auto;color:var(--ink-soft)}
.legal .lead{font-family:var(--serif);font-weight:360;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7;color:var(--forest);margin:0 0 10px}
.legal h2{font-family:var(--serif);font-weight:350;font-size:1.4rem;color:var(--ink);letter-spacing:-.01em;line-height:1.28;max-width:none;margin:42px 0 12px}
.legal p{font-size:15.5px;line-height:1.78;margin-bottom:16px}
.legal ul{margin:0 0 18px;padding-left:20px}
.legal li{font-size:15.5px;line-height:1.72;margin-bottom:9px}
.legal li:last-child{margin-bottom:0}
.legal a{color:var(--forest);border-bottom:1px solid var(--sage)}
.legal a:hover{border-bottom-color:var(--forest)}
.legal strong{color:var(--ink);font-weight:600}
.legal .updated{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--sage-deep)}
.f-legal{display:inline-flex;gap:16px}
.f-legal a{color:var(--ink-soft);transition:color .2s}
.f-legal a:hover{color:var(--ink)}


/* CTA reassurance note (program + finale) */
.cta-note{margin-top:9px;font-size:12.5px;line-height:1.55;color:var(--ink-soft);text-align:center;max-width:340px;margin-left:auto;margin-right:auto}
.on-dark .cta-note,.program-card .cta-note{color:rgba(247,244,237,.6)}


/* ==============================================================
   Realign Guide (focused free-guide landing)
   Minimal header (nav.site carries only the logo), split hero,
   editorial printed-guide visual, single primary CTA.
   ============================================================== */
/* match the homepage nav's height so the logo sits in the exact same spot across pages */
.rg-nav .brand{min-height:44px;display:inline-flex;align-items:center}
.rg-hero{position:relative;overflow:hidden;
  padding:clamp(128px,17vh,178px) 0 clamp(84px,10vh,120px);
  background:
    radial-gradient(900px 620px at 84% 4%, rgba(151,165,133,.26), transparent 62%),
    radial-gradient(1000px 720px at 2% 108%, rgba(189,133,89,.14), transparent 60%),
    #f4f0e6}
.rg-hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:clamp(36px,5vw,72px);align-items:center;position:relative;z-index:2}
.rg-hero-copy .ch-label{display:block;margin-bottom:20px}
.rg-hero h1{font-size:clamp(2.3rem,4.3vw,3.5rem);max-width:15ch;line-height:1.04}
.rg-lede{margin-top:22px;font-family:var(--serif);font-weight:400;font-style:italic;
  font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.4;color:var(--forest);max-width:26ch}
.rg-sub{margin-top:18px;font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.7;
  color:var(--ink-soft);max-width:44ch}
.rg-actions{margin-top:32px;display:flex;flex-direction:column;align-items:center;width:fit-content;gap:14px}
.rg-note{font-size:13px;letter-spacing:.3px;color:var(--sage-deep)}
.rg-read{font-size:13.5px;color:var(--ink-soft);border-bottom:1px solid var(--line);
  padding-bottom:1px;transition:color .3s,border-color .3s}
.rg-read:hover{color:var(--forest);border-bottom-color:var(--sage)}
.rg-hero-visual{position:relative;z-index:2;justify-self:center;max-width:520px;width:100%}
.rg-hero-visual img{width:100%;height:auto;display:block}

/* content sheet slides over the hero, the site seam */
.rg-main{position:relative;z-index:2;background:var(--cream);
  border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;
  margin-top:calc(var(--radius-sheet) * -1);padding:clamp(46px,7vh,84px) 0 90px}
.rg-kicker{text-align:center;font-family:var(--sans);font-size:11.5px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);line-height:1.4;
  max-width:none;margin:8px auto 0}
.rg-points{max-width:940px;margin:28px auto 0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:36px 44px}
.rg-point{display:flex;flex-direction:column}
.rg-point .glyph{width:32px;height:32px;margin-bottom:14px}
.rg-point strong{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:7px}
.rg-point p{font-size:14.5px;line-height:1.65;color:var(--ink-soft);max-width:34ch}
.rg-from{max-width:640px;margin:64px auto 0;text-align:center}
.rg-from p{font-size:16px;line-height:1.75;color:var(--ink-soft)}
.rg-cta{max-width:640px;margin:58px auto 0;text-align:center;
  padding-top:52px;border-top:1px solid var(--line)}
.rg-cta-lead{font-family:var(--serif);font-style:italic;font-weight:340;
  font-size:clamp(1.15rem,1.8vw,1.4rem);color:var(--forest);max-width:34ch;margin:0 auto 22px}
/* the book-a-call CTA uses the site's terracotta .btn, per Michel */
.rg-meta{margin-top:13px;font-size:13px;letter-spacing:.4px;color:var(--ink-soft)}
.rg-contact{margin-top:22px;font-size:14px;color:var(--ink-soft)}
.rg-contact a{color:var(--forest);border-bottom:1px solid var(--sage);padding-bottom:1px}

/* minimal footer */
.rg-foot{background:var(--cream);border-top:1px solid var(--line);padding:58px 0 50px}
.rg-foot .wrap{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center}
.rg-foot-logo{height:26px;width:auto;opacity:.92}
.rg-foot-links{display:flex;gap:32px;flex-wrap:wrap;justify-content:center}
.rg-foot-links a{font-size:13.5px;letter-spacing:.02em;color:var(--ink-soft);transition:color .2s}
.rg-foot-links a:hover{color:var(--ink)}
.rg-foot-copy{font-size:12px;letter-spacing:.04em;color:var(--sage-deep)}

@media (max-width:860px){
  .rg-hero-grid{grid-template-columns:1fr;gap:38px;text-align:center}
  .rg-hero h1{max-width:none;margin:0 auto}
  .rg-lede,.rg-sub{margin-left:auto;margin-right:auto}
  .rg-actions{margin-left:auto;margin-right:auto}
  .rg-hero-visual{max-width:360px;order:2}
  .rg-points{grid-template-columns:1fr;gap:30px;text-align:center}
  .rg-point{align-items:center}
  .rg-point p{max-width:40ch}
}
