@font-face{font-family:"Playfair Display";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/PlayfairDisplay-Regular.ttf") format("truetype")}
@font-face{font-family:"Playfair Display";font-weight:400;font-style:italic;font-display:swap;src:url("/fonts/PlayfairDisplay-Italic.ttf") format("truetype")}
@font-face{font-family:"Playfair Display";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/PlayfairDisplay-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-weight:700;font-style:normal;font-display:swap;src:url("/fonts/PlayfairDisplay-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-weight:700;font-style:italic;font-display:swap;src:url("/fonts/PlayfairDisplay-700i-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-weight:700;font-style:italic;font-display:swap;src:url("/fonts/PlayfairDisplay-700i-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url("/fonts/Poppins-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url("/fonts/Poppins-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url("/fonts/Poppins-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url("/fonts/Poppins-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url("/fonts/Poppins-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url("/fonts/Poppins-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-weight:700;font-display:swap;src:url("/fonts/Poppins-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:700;font-display:swap;src:url("/fonts/Poppins-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ════════════════════════════════════════════════════════════════════════════
   STILL CHOSEN — REBUILD DRAFT · 31 October 2026
   ────────────────────────────────────────────────────────────────────────────
   Structure from her new landing page. Palette and type from the live site:
   deep purple, sage, aubergine, tan. The template's gold is retired — gold
   came off this brand on 13 September and does not come back by the side door.
   Where the template used gold for an accent, this uses deep purple on light
   grounds and light sage on dark ones, which is the rule the rest of the site
   already follows.
   ════════════════════════════════════════════════════════════════════════════ */
:root{
  /* the palette, as it is on the live site */
  --midnight:#140618;       /* darkest ground */
  --aubergine:#2B0D31;      /* dark band */
  --plum:#4A1A50;           /* THE accent on light grounds */
  --plum-soft:#5C2464;
  --ink:#2B1C36;            /* body text */
  --ink-soft:#54465F;
  --muted:#7A6E82;
  --sage:#7D9A6D;           /* sage that can carry text on light */
  --sage-mid:#9FB58B;
  --sage-light:#CFE3C6;     /* the accent on dark grounds */
  --forest:#29361C;
  --sage-ink:#4F6B40;     /* sage that can carry emphasis on the tan band */
  --tan:#E9DFCB;            /* the warm band */
  --ivory:#F7F2E8;
  --cream:#FFFCF7;
  --border:#DCD2BF;
  --border-soft:#E8E0D2;
  --alert:#7A1616;
  --wine:#400016;           /* her preorder burgundy */
  --serif:"Playfair Display","Hoefler Text",Cambria,Georgia,serif;
  --sans:"Poppins",Calibri,"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--ivory);color:var(--ink);
  line-height:1.68;font-size:16.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.16;letter-spacing:-.012em}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,24px)}
section{padding:clamp(56px,7vw,88px) 0;position:relative}
.center{text-align:center}
h2{font-size:clamp(27px,4vw,40px);margin-bottom:18px}
.lead{font-size:clamp(16.5px,1.9vw,19px);color:var(--ink-soft);max-width:680px;margin:0 auto 34px}

/* the eyebrow pill, as on the live site: white ground, sage edge, plum letters */
.eyebrow{display:inline-block;font-family:var(--sans);font-size:10.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;color:var(--plum);border:1px solid rgba(125,154,109,.5);
  border-radius:999px;padding:7px 18px;margin-bottom:20px;background:#FFFFFF}
.eyebrow.on-d{background:rgba(247,242,232,.07);border-color:rgba(207,227,198,.45);color:var(--sage-light)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.01em;
  text-decoration:none;padding:15px 32px;border-radius:999px;cursor:pointer;border:1px solid transparent;
  transition:transform .22s cubic-bezier(.2,.75,.25,1),background-color .2s ease,
    border-color .2s ease,color .2s ease,box-shadow .22s ease}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--plum);outline-offset:3px}
.btn-primary{background:var(--plum);color:var(--ivory);box-shadow:0 10px 24px -12px rgba(74,26,80,.6)}
.btn-primary:hover{background:var(--plum-soft);box-shadow:0 16px 30px -14px rgba(74,26,80,.7)}
.btn-sage{background:var(--sage-light);color:var(--midnight);
  box-shadow:0 10px 24px -14px rgba(125,154,109,.8)}
.btn-sage:hover{background:var(--sage-mid)}
.btn-wine{background:var(--wine);color:var(--ivory);box-shadow:0 10px 24px -12px rgba(64,0,22,.6)}
.btn-wine:hover{background:#5C0020}
.btn-ghost{background:none;color:var(--plum);border-color:var(--plum)}
.btn-ghost:hover{background:var(--plum);color:var(--ivory)}
.btn-ghost-d{background:none;color:var(--ivory);border-color:rgba(247,242,232,.45)}
.btn-ghost-d:hover{border-color:var(--sage-light);color:var(--sage-light)}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(247,242,232,.93);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft)}
.nav-inner{max-width:1120px;margin:0 auto;padding:13px clamp(20px,5vw,24px);
  display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--serif);font-size:21px;letter-spacing:.04em;color:var(--midnight);
  text-decoration:none;white-space:nowrap}
/* "Chosen" went sage on 4 Nov. --sage-ink rather than --sage: at 21px on the
   nav's ivory, --sage measures 2.8:1 and is too pale to read; --sage-ink is the
   same green, two steps down, at 5.4:1. Playfair ships italic at 400 and 700
   only, so 700 is the one real step up — 500 or 600 would be faux-bold. */
.logo i{font-style:italic;font-weight:700;color:var(--sage-ink)}
.nav-links{display:flex;gap:24px;font-size:13.5px;color:var(--ink-soft)}
.nav-links a{text-decoration:none}
.nav-links a:hover{color:var(--plum)}
.nav-cta{font-size:13px;padding:11px 22px;white-space:nowrap}
@media(max-width:980px){.nav-links{display:none}}

/* HERO */
.hero{background:
  radial-gradient(1000px 520px at 86% -10%, rgba(125,154,109,.20), transparent 62%),
  radial-gradient(820px 520px at 0% 110%, rgba(74,26,80,.16), transparent 62%),
  var(--ivory);padding:clamp(40px,5vw,64px) 0 clamp(36px,4.5vw,56px)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,56px);align-items:center}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.1;margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--sage)}
.hero p.sub{font-size:clamp(17px,2.1vw,20px);color:var(--ink-soft);margin-bottom:30px;max-width:40ch}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.hero-note{font-size:14px;color:var(--muted);font-family:var(--serif);font-style:italic}
/* THE VOW · 4 November 2026
   Took the place of the November-intake scarcity line, which still runs on the
   offers section below. This is the sharpest sentence on the site, so it is set
   as a statement rather than a footnote: sage rule, serif, and the promise
   itself carrying the weight. */
.hero-vow{font-family:var(--serif);font-size:clamp(16px,2vw,18.5px);line-height:1.5;
  color:var(--ink);border-left:3px solid var(--sage);padding-left:16px;max-width:40ch}
.hero-vow b{color:var(--plum);font-weight:700}
.hero-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;
  padding:clamp(24px,3vw,34px);box-shadow:0 22px 50px -28px rgba(20,6,24,.45)}
.hero-card h3{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;
  margin-bottom:14px;color:var(--plum);text-transform:uppercase}
.hero-card ul{list-style:none}
.hero-card li{padding:12px 0 12px 28px;position:relative;border-bottom:1px solid var(--border-soft);
  font-size:15.5px;color:var(--ink-soft)}
.hero-card li:last-child{border-bottom:none}
.hero-card li::before{content:"";position:absolute;left:2px;top:1.25em;width:7px;height:7px;
  border-radius:50%;background:var(--sage)}
.hero-card b{color:var(--ink)}
.disclaimer{font-size:12.5px;color:var(--muted);margin-top:16px;line-height:1.55}

/* STRIP */
.strip{background:var(--aubergine);color:var(--ivory);padding:18px 0}
.strip .wrap{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;align-items:center;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.strip b{color:var(--sage-light);font-weight:700}
.strip .sep{color:rgba(247,242,232,.35)}

/* BARRIERS */
.barriers{background:var(--tan);border-top:1px solid rgba(74,26,80,.18);
  border-bottom:1px solid rgba(74,26,80,.18);padding:clamp(48px,6vw,64px) 0}
.barriers h2{font-size:clamp(23px,3.4vw,34px);max-width:840px;margin-inline:auto}
.barriers h2 b{color:var(--sage-ink);font-weight:400;font-style:italic}

/* PAIN */
.pain{background:var(--cream)}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.pain-card{background:var(--ivory);border:1px solid var(--border);border-radius:12px;
  padding:clamp(24px,2.6vw,32px);transition:transform .25s ease,box-shadow .25s ease}
.pain-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px -24px rgba(20,6,24,.4)}
.pain-num{font-size:10.5px;letter-spacing:.2em;color:var(--plum);text-transform:uppercase;
  font-weight:600;margin-bottom:12px}
.pain-card h3{font-size:20px;margin-bottom:11px;line-height:1.28}
.pain-card p{font-size:15.5px;color:var(--ink-soft)}
@media(prefers-reduced-motion:reduce){.pain-card{transition:none}.pain-card:hover{transform:none}}

/* METHOD */
.method{background:var(--sage-light)}
/* on the sage ground the cards' sage top rule disappears, so it takes the accent */
.method .method-card{border-top-color:var(--plum)}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.method-card{background:var(--cream);border-top:3px solid var(--sage);border-radius:10px;
  padding:28px 24px;box-shadow:0 10px 26px -20px rgba(20,6,24,.5)}
.method-card h3{font-size:19px;margin-bottom:9px}
.method-card h3 span{color:var(--plum)}
.method-card p{font-size:15px;color:var(--ink-soft)}
.method-foot{margin:36px auto 0;text-align:center;font-family:var(--serif);font-style:italic;
  color:var(--ink-soft);font-size:clamp(16px,2vw,19px);max-width:62ch}

/* ── SEAM · 31 Oct 2026 ─────────────────────────────────────────────────────
   Four movements instead of three, so the grid goes to four and each card
   carries its letter. The letter is decorative — the heading already says the
   word — so it is hidden from screen readers rather than read out twice. */
.method-grid.seam{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.method-grid.seam .method-card{padding-top:26px}
.method-letter{display:block;font-family:var(--serif);font-size:48px;line-height:1;
  color:var(--sage);margin-bottom:10px}
.method-grid.seam h3{font-size:20px;letter-spacing:.01em;margin-bottom:5px}
.seam-tag{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.5;
  color:var(--plum);margin-bottom:12px;min-height:3em}
.method-foot b{font-style:normal;font-weight:700;color:var(--ink)}
@media(max-width:1080px){.method-grid.seam{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.method-grid.seam{grid-template-columns:1fr}}


/* LEAD MAGNET */
.leadmag{background:var(--cream)}
.leadmag-card{display:grid;grid-template-columns:1.05fr .95fr;margin-top:44px;
  background:var(--ivory);border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:0 22px 50px -30px rgba(20,6,24,.45);text-align:left}
.leadmag-copy{padding:clamp(28px,4vw,52px) clamp(24px,3.4vw,44px)}
.leadmag-copy h3{font-size:clamp(22px,2.6vw,29px);line-height:1.24;margin-bottom:15px}
.guide-tag{display:inline-block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--forest);border:1px solid var(--sage-mid);border-radius:999px;
  padding:6px 15px;margin-bottom:17px;background:#EEF4E9}
.leadmag-copy ul{list-style:none;margin:20px 0 24px}
.leadmag-copy li{padding:10px 0 10px 28px;position:relative;font-size:15.5px;color:var(--ink-soft)}
.leadmag-copy li::before{content:"";position:absolute;left:2px;top:1.05em;width:7px;height:7px;
  border-radius:50%;background:var(--sage)}
.micro{font-size:13.5px;color:var(--muted);font-family:var(--serif);font-style:italic}
.leadmag-form{background:var(--cream);padding:clamp(28px,4vw,52px) clamp(24px,3.4vw,44px);
  border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}
.leadmag-form h4{font-size:19px;margin-bottom:6px}
.form-sub{font-size:14px;color:var(--muted);margin-bottom:22px}
.field{margin-bottom:16px}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;
  color:var(--ink);margin-bottom:7px;text-transform:uppercase}
.field input,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--border);
  border-radius:8px;font-family:var(--sans);font-size:15.5px;color:var(--ink);
  background:var(--ivory);outline:none;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus{border-color:var(--plum);background:var(--cream);
  box-shadow:0 0 0 3px rgba(74,26,80,.16)}
.field textarea{min-height:88px;resize:vertical}
.leadmag-form .btn{width:100%;margin-top:4px}
.leadmag-privacy{font-size:12.5px;color:var(--muted);margin-top:16px;line-height:1.55;text-align:center}
.leadmag-success{display:none;text-align:center;padding:26px 8px}
.leadmag-success .check{width:54px;height:54px;border-radius:50%;background:#EEF4E9;
  color:var(--forest);display:grid;place-items:center;font-size:25px;margin:0 auto 16px}
.leadmag-success h4{font-size:20px;margin-bottom:9px}
.leadmag-success p{font-size:15px;color:var(--ink-soft);max-width:360px;margin:0 auto}
.form-error{display:none;font-size:13px;color:var(--alert);margin:-6px 0 12px}

/* OFFERS */
.offers{background:linear-gradient(170deg,var(--aubergine) 0%,var(--midnight) 70%);color:var(--ivory)}
.offers h2{color:var(--ivory)}
.offers .lead{color:rgba(247,242,232,.8)}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;align-items:stretch}
.offer{background:rgba(247,242,232,.06);border:1px solid rgba(207,227,198,.28);border-radius:16px;
  padding:clamp(26px,3vw,34px) clamp(22px,2.6vw,28px);display:flex;flex-direction:column;position:relative}
.offer.featured{background:var(--ivory);color:var(--ink);border:2px solid var(--sage-mid);
  box-shadow:0 26px 60px -28px rgba(0,0,0,.75)}
.offer-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--sage-light);color:var(--midnight);font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:7px 17px;border-radius:999px;white-space:nowrap}
.offer-tier{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--sage-light);margin-bottom:10px}
.offer.featured .offer-tier{color:var(--plum)}
.offer h3{font-size:23px;margin-bottom:7px}
.offer-dur{font-size:14.5px;opacity:.85;margin-bottom:18px}
.offer ul{list-style:none;margin-bottom:22px;flex-grow:1}
.offer li{padding:9px 0 9px 26px;position:relative;font-size:15px;
  border-bottom:1px solid rgba(207,227,198,.2)}
.offer.featured li{border-bottom-color:var(--border-soft)}
.offer li::before{content:"\203A";position:absolute;left:4px;top:7px;color:var(--sage-light);font-size:17px}
.offer.featured li::before{color:var(--plum)}
.offer-price{margin-bottom:5px}
.price-anchor{font-size:18px;color:rgba(247,242,232,.5);text-decoration:line-through;margin-right:9px}
.offer.featured .price-anchor{color:var(--muted)}
.price-now{font-family:var(--serif);font-size:38px;font-weight:700;color:var(--sage-light)}
.offer.featured .price-now{color:var(--plum)}
.offer-save{font-size:13px;color:var(--sage-light);margin-bottom:18px;letter-spacing:.02em}
.offer.featured .offer-save{color:var(--forest)}
.offer .btn{width:100%;padding-left:18px;padding-right:18px}  /* full-width already,
   so the 32px side padding only squeezed the label onto a second line */
.offer-note{margin-top:14px;font-size:12.5px;opacity:.72;text-align:center;
  font-family:var(--serif);font-style:italic}

/* The second door under each advisory button. The call is the default path,
   but somebody who has already decided should not have to sit through it — so
   the direct route to checkout is offered quietly rather than competing with
   the button above it. Two colourways, because the featured card is light. */
.offer-direct{margin-top:10px;font-size:12px;text-align:center;opacity:.8}
.offer-direct a{color:var(--sage-light);text-decoration:none;
  border-bottom:1px solid rgba(207,227,198,.38);padding-bottom:1px}
.offer-direct a:hover{border-bottom-color:var(--sage-light)}
.offer.featured .offer-direct a{color:var(--plum);border-bottom-color:rgba(74,26,80,.3)}
.offer.featured .offer-direct a:hover{border-bottom-color:var(--plum)}

/* ── THE RAPID RESET · 31 Oct 2026 ──────────────────────────────────────────
   A light card sitting on the dark offers band, which is the treatment the
   featured programme already uses — so the two read as the same family rather
   than two different ideas of what a highlighted card looks like. Her template
   outlined it in gold; gold is off this brand, so the outline is sage and the
   figure is plum, exactly as on every other light ground here. */
.rapid-reset{margin-top:44px;background:var(--ivory);color:var(--ink);
  border:2px solid var(--sage-mid);border-radius:18px;
  padding:clamp(28px,3.2vw,36px) clamp(24px,3vw,34px);
  display:grid;grid-template-columns:1.25fr .95fr;gap:clamp(24px,3vw,36px);
  box-shadow:0 26px 60px -28px rgba(0,0,0,.75)}
.rr-tag{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--plum);margin-bottom:10px}
.rapid-reset h3{font-size:clamp(24px,2.6vw,28px);color:var(--plum);margin-bottom:12px}
.rapid-reset p{font-size:15.5px;color:var(--ink-soft);margin-bottom:14px}
.rapid-reset p b{color:var(--ink);font-weight:600}
.rr-price{margin:6px 0 18px}
.rr-price .price-now{color:var(--plum)}
.rr-price .rr-note{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.rapid-reset .btn{width:100%}
.rapid-reset .offer-note{color:var(--muted);opacity:1}
.rr-inc-title{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--plum);margin-bottom:6px}
.rr-includes ul{list-style:none}
.rr-includes li{padding:11px 0 11px 28px;position:relative;font-size:15px;color:var(--ink-soft);
  border-bottom:1px dashed var(--border)}
.rr-includes li:last-child{border-bottom:none}
.rr-includes li::before{content:"\2192";position:absolute;left:0;top:11px;color:var(--sage)}
.rr-includes li b{color:var(--ink);font-weight:600}
@media(max-width:900px){.rapid-reset{grid-template-columns:1fr}}
.offers-cta{margin-top:46px;text-align:center}
.seats{display:inline-flex;align-items:center;gap:10px;background:rgba(247,242,232,.08);
  border:1px solid rgba(207,227,198,.3);border-radius:999px;padding:12px 24px;font-size:14px}
.seats .dot{width:9px;height:9px;border-radius:50%;background:var(--sage-light);
  animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.seats .dot{animation:none;opacity:1}}

/* COURSE */
.course{background:var(--cream)}
.course-card{display:grid;grid-template-columns:1.1fr .9fr;margin-top:44px;background:var(--ivory);
  border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:0 22px 50px -30px rgba(20,6,24,.45);text-align:left}
.course-copy{padding:clamp(28px,4vw,52px) clamp(24px,3.4vw,44px)}
.course-copy h3{font-size:clamp(21px,2.5vw,28px);line-height:1.26;margin-bottom:14px}
.course-copy p{margin-bottom:13px;color:var(--ink-soft);font-size:15.5px}
.course-copy p b{color:var(--ink)}
.preorder-badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;background:var(--sage);color:var(--cream);border-radius:999px;
  padding:7px 17px;margin-bottom:17px}
.course-copy ul{list-style:none;margin:18px 0 4px}
.course-copy li{padding:9px 0 9px 26px;position:relative;font-size:15.5px;
  border-bottom:1px solid var(--border-soft);color:var(--ink-soft)}
.course-copy li:last-child{border-bottom:none}
.course-copy li::before{content:"";position:absolute;left:2px;top:1.05em;width:7px;height:7px;
  border-radius:50%;background:var(--sage)}
.course-side{background:var(--cream);padding:clamp(28px,4vw,52px) clamp(24px,3.4vw,44px);
  border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;
  text-align:center}
.course-side h4{font-size:21px;margin-bottom:7px}
.start-date{font-size:14px;color:var(--ink-soft);margin-bottom:22px}
.start-date b{color:var(--plum)}
.course-side .price-anchor{color:var(--muted)}
.course-side .price-now{color:var(--plum)}
.course-side .offer-save{color:var(--forest)}
.course-side .btn{width:100%}

/* REVIEW */
.review-wrap{margin:42px auto 0;background:var(--ivory);border:1px solid var(--border);
  border-radius:14px;padding:clamp(24px,3vw,36px);text-align:left;max-width:760px}
.review-wrap h3{font-size:20px;margin-bottom:9px}
.rv-sub{font-size:14.5px;color:var(--ink-soft);margin-bottom:20px}
.review-stars{display:flex;gap:14px;flex-wrap:wrap}
.review-stars label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  font-size:15.5px;color:var(--ink-soft)}
.review-stars input{accent-color:var(--plum);width:17px;height:17px;cursor:pointer}
.review-stars .star{color:var(--sage);font-size:18px}

/* WHO */
.who{background:var(--ivory)}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:38px;align-items:start}
.who-col{background:var(--cream);border-radius:14px;padding:clamp(24px,3vw,34px);
  border:1px solid var(--border)}
.who-col.yes{border-top:3px solid var(--sage)}
.who-col.no{border-top:3px solid var(--plum)}
.who-col h3{font-size:20px;margin-bottom:15px;color:var(--ink)}
.who-col ul{list-style:none}
.who-col li{padding:10px 0 10px 28px;position:relative;font-size:15.5px;color:var(--ink-soft);
  border-bottom:1px solid var(--border-soft)}
.who-col li:last-child{border-bottom:none}
.who-col.yes li::before{content:"\2713";position:absolute;left:2px;color:var(--forest);font-weight:700}
.who-col.no li::before{content:"\2715";position:absolute;left:2px;color:var(--plum);font-weight:700}

/* FOUNDER */
.founder{background:var(--tan);border-top:1px solid rgba(74,26,80,.18);
  border-bottom:1px solid rgba(74,26,80,.18)}
/* the story is long now, so the portrait sits at the top of the column
   rather than floating in the middle of it */
.founder-grid{display:grid;grid-template-columns:280px 1fr;gap:clamp(28px,5vw,48px);
  align-items:start;margin-top:18px}
.founder-photo{width:280px;height:280px;border-radius:50%;object-fit:cover;object-position:50% 6%;
  border:2px solid var(--plum);box-shadow:0 20px 44px -24px rgba(20,6,24,.6)}
.founder-name{font-family:var(--serif);font-size:23px;color:var(--ink);margin-bottom:2px}
.founder-role{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--plum);font-weight:600;margin-bottom:18px}
.founder-body p{font-size:16px;color:var(--ink-soft);margin-bottom:15px}
.founder-body p b{color:var(--ink)}

/* FAQ */
.faq{background:var(--cream)}
.faq-list{max-width:800px;margin:38px auto 0}
.faq details{border-bottom:1px solid var(--border);padding:3px 0}
.faq summary{cursor:pointer;list-style:none;padding:19px 6px;font-family:var(--sans);
  font-weight:600;font-size:16.5px;display:flex;justify-content:space-between;
  align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary::after{content:"+";font-family:var(--serif);font-size:25px;color:var(--plum);
  transition:transform .22s ease;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:3px solid var(--plum);outline-offset:2px;border-radius:4px}
.faq details p{padding:0 6px 20px;color:var(--ink-soft);font-size:15.5px}
@media(prefers-reduced-motion:reduce){.faq summary::after{transition:none}}

/* FINAL */
.final{background:linear-gradient(170deg,var(--plum) 0%,var(--aubergine) 55%,var(--midnight) 100%);
  color:var(--ivory);text-align:center}
.final h2{color:var(--ivory)}
.final p{color:rgba(247,242,232,.82);font-size:17.5px;max-width:640px;margin:0 auto 30px}
.final .fineprint{font-size:12.5px;opacity:.7;margin-top:24px}

footer{background:var(--midnight);color:rgba(247,242,232,.6);padding:34px 0;font-size:13.5px}
footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}
footer a{color:var(--sage-light);text-decoration:none}
footer a:hover{text-decoration:underline}

@media(max-width:980px){
  .hero-grid,.who-grid,.pain-grid,.method-grid,.offer-grid{grid-template-columns:1fr}
  .leadmag-card,.course-card{grid-template-columns:1fr}
  .leadmag-form,.course-side{border-left:none;border-top:1px solid var(--border)}
  .founder-grid{grid-template-columns:1fr;justify-items:center;text-align:center}
  .founder-body{text-align:left}
}
@media(max-width:560px){
  .hero-ctas .btn{width:100%}
  .founder-photo{width:220px;height:220px}
}

/* ════════════════════════════════════════════════════════════════════════════
   THE SHARED SHELL · 31 October 2026
   ────────────────────────────────────────────────────────────────────────────
   Nav and footer are identical on every page, so they live here rather than
   being copied into each file. The nav used to hide its links under 980px with
   nothing in their place — on a site where most readers are on a phone that is
   not a small gap, so it now opens a panel instead. <details> rather than a
   script: it keeps working if the JavaScript fails, and the browser handles
   the open state, the keyboard and the focus ring for free.
   ════════════════════════════════════════════════════════════════════════════ */
.nav-toggle{display:none}
.nav-toggle summary{list-style:none;cursor:pointer;width:44px;height:44px;
  display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;
  background:var(--cream)}
.nav-toggle summary::-webkit-details-marker{display:none}
.nav-toggle summary span{display:block;width:19px;height:2px;background:var(--ink);
  position:relative}
.nav-toggle summary span::before,.nav-toggle summary span::after{content:"";
  position:absolute;left:0;width:19px;height:2px;background:var(--ink)}
.nav-toggle summary span::before{top:-6px}
.nav-toggle summary span::after{top:6px}
.nav-toggle[open] summary span{background:transparent}
.nav-toggle[open] summary span::before{top:0;transform:rotate(45deg)}
.nav-toggle[open] summary span::after{top:0;transform:rotate(-45deg)}
.nav-panel{position:absolute;left:0;right:0;top:100%;background:var(--cream);
  border-bottom:1px solid var(--border);box-shadow:0 20px 40px -26px rgba(20,6,24,.5);
  padding:8px clamp(20px,5vw,24px) 18px;display:flex;flex-direction:column}
.nav-panel a{padding:13px 2px;font-size:15.5px;text-decoration:none;color:var(--ink);
  border-bottom:1px solid var(--border-soft)}
.nav-panel a:last-of-type{border-bottom:none}
/* the panel's link colour was winning over the button's own white */
.nav-panel a.btn-primary{color:var(--ivory);border-bottom:none}
.nav-panel .btn{margin-top:12px;text-align:center}
@media(max-width:980px){
  .nav-toggle{display:block}
  .nav-inner{position:relative}
  .nav-cta{display:none}
}

/* ── the footer, three columns ───────────────────────────────────────────── */
footer .wrap{display:block}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(24px,4vw,46px);
  align-items:start}
.f-about{font-size:13.5px;line-height:1.65;max-width:46ch}
.f-logo{font-family:var(--serif);font-size:22px;color:var(--ivory);
  text-decoration:none;display:inline-block;margin-bottom:10px}
.f-logo i{font-style:italic;color:var(--sage-light)}
.f-mail{margin-top:12px}
.f-else{margin-top:12px;font-size:13px;line-height:2}
.f-col{display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.f-head{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;
  color:rgba(247,242,232,.45);margin-bottom:3px}
.f-bot{margin-top:30px;padding-top:18px;border-top:1px solid rgba(207,227,198,.16);
  font-size:12.5px;line-height:1.8}
.f-bot p{margin:6px 0 0;color:rgba(247,242,232,.45);max-width:70ch}
@media(max-width:760px){.f-grid{grid-template-columns:1fr}}

/* ════════════════════════════════════════════════════════════════════════════
   WORK WITH ME · 31 October 2026
   ────────────────────────────────────────────────────────────────────────────
   A short page hero for every page that is not the landing page, and the
   comparison table that answers the one question the three programmes always
   raise: which of these is mine? The table scrolls inside its own container
   rather than widening the page, which is the only way three columns of prose
   survive a phone.
   ════════════════════════════════════════════════════════════════════════════ */
.phero{background:
  radial-gradient(900px 440px at 88% -20%, rgba(125,154,109,.20), transparent 62%),
  radial-gradient(760px 460px at 2% 115%, rgba(74,26,80,.14), transparent 62%),
  var(--ivory);padding:clamp(44px,6vw,74px) 0 clamp(36px,5vw,58px);text-align:center}
.phero h1{font-size:clamp(30px,4.6vw,48px);line-height:1.12;margin-bottom:16px}
.phero h1 em{font-style:italic;color:var(--sage)}
.phero .lead{margin-inline:auto}
.phero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:26px}

.compare{background:var(--tan);border-top:1px solid rgba(74,26,80,.18);
  border-bottom:1px solid rgba(74,26,80,.18)}
.ctable-scroll{overflow-x:auto;margin-top:38px;-webkit-overflow-scrolling:touch}
/* min-width raised 680 → 880 on 4 Nov, when the Rapid Reset made it five
   columns. Below this the long Comprehensive cells wrap to four and five
   lines; the scroll container takes the overflow. */
.ctable{width:100%;min-width:880px;border-collapse:collapse;text-align:left;
  background:var(--cream);border-radius:12px;overflow:hidden}
.ctable th,.ctable td{padding:15px 18px;border-bottom:1px solid var(--border-soft);
  font-size:14.5px;vertical-align:top}
.ctable thead th{background:var(--ivory);font-family:var(--serif);font-size:17px;
  font-weight:700;color:var(--plum);border-bottom:2px solid var(--sage-mid)}
.ctable thead th:first-child{font-family:var(--sans);font-size:10.5px;font-weight:600;
  letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.ctable tbody th{font-weight:600;color:var(--ink);width:170px}
.ctable td{color:var(--ink-soft)}
.ctable tbody tr:last-child th,.ctable tbody tr:last-child td{border-bottom:none}
.ctable .pick{color:var(--plum);font-weight:600}
.ctable-note{margin-top:14px;font-size:13px;color:var(--ink-soft);text-align:center}

.steps{background:var(--cream)}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;
  text-align:left}
.step{background:var(--ivory);border:1px solid var(--border);border-radius:12px;
  padding:26px 22px}
.step-n{font-family:var(--serif);font-size:34px;line-height:1;color:var(--sage);
  margin-bottom:8px}
.step h3{font-size:18px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--ink-soft)}
@media(max-width:980px){.step-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.step-grid{grid-template-columns:1fr}}

.guidestrip{background:var(--sage-light);text-align:center}
.guidestrip h2{font-size:clamp(22px,3vw,30px);margin-bottom:10px}
.guidestrip p{color:var(--ink-soft);max-width:56ch;margin:0 auto 22px}

/* ════════════════════════════════════════════════════════════════════════════
   PROSE PAGES · 31 October 2026
   ────────────────────────────────────────────────────────────────────────────
   One set of rules for every page that is mostly writing — the story, the
   legal pages, safety, the letters. The measure is held near 68 characters,
   because these are read rather than scanned.
   ════════════════════════════════════════════════════════════════════════════ */
.doc{background:var(--cream);padding:clamp(44px,6vw,72px) 0}
.doc .wrap{max-width:760px}
.doc h2{font-size:clamp(23px,3vw,30px);margin:42px 0 14px;text-wrap:balance}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:19px;margin:28px 0 9px}
.doc p{margin-bottom:17px;font-size:16.5px;line-height:1.75;color:var(--ink-soft)}
.doc p.first{font-size:18.5px;color:var(--ink)}
.doc strong,.doc b{color:var(--ink);font-weight:600}
.doc ul,.doc ol{margin:0 0 18px 0;padding-left:0;list-style:none}
.doc ol{counter-reset:d}
.doc li{position:relative;padding:7px 0 7px 26px;font-size:16px;line-height:1.7;
  color:var(--ink-soft)}
.doc ul>li::before{content:"";position:absolute;left:4px;top:17px;width:7px;height:7px;
  border-radius:50%;background:var(--sage)}
.doc ol>li{counter-increment:d}
.doc ol>li::before{content:counter(d) ".";position:absolute;left:0;top:7px;
  color:var(--plum);font-weight:600;font-size:14px}
.doc a{color:var(--plum);text-decoration:underline;text-underline-offset:2px}
.doc hr{border:0;border-top:1px solid var(--border);margin:38px 0}
.doc .aside{background:var(--ivory);border-left:3px solid var(--sage);
  border-radius:0 10px 10px 0;padding:20px 24px;margin:26px 0}
.doc .aside p:last-child{margin-bottom:0}
.doc .updated{font-size:13px;color:var(--muted);margin-bottom:30px}
.doc table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15px}
.doc th,.doc td{padding:11px 13px;border-bottom:1px solid var(--border-soft);
  text-align:left;vertical-align:top}
.doc th{font-weight:600;color:var(--ink)}
.doc-scroll{overflow-x:auto;margin-bottom:20px}

/* the story page's portrait, beside the opening rather than above it */
.story-top{display:grid;grid-template-columns:230px 1fr;gap:clamp(24px,4vw,40px);
  align-items:start;margin-bottom:34px}
.story-top img{width:230px;height:290px;object-fit:cover;object-position:50% 12%;
  border-radius:12px;border:1px solid var(--border)}
.story-top .pull{font-family:var(--serif);font-style:italic;
  font-size:clamp(19px,2.4vw,24px);line-height:1.4;color:var(--ink);margin:0}
.story-top .pull-by{margin-top:14px;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);font-family:var(--sans);font-style:normal}
@media(max-width:700px){
  .story-top{grid-template-columns:1fr;justify-items:center;text-align:center}
  .story-top .pull{text-align:center}
}

/* ── THE QUICK EXIT · safety page ────────────────────────────────────────────
   Above everything, including the nav, because the person who needs it is not
   scrolling to look for it. It cannot clear history and the text next to it
   says so — a control that implies more safety than it gives is worse than no
   control at all. */
.exitbar{background:var(--wine);color:#F7E9E9;padding:12px 0}
.exitbar .in{max-width:1120px;margin:0 auto;display:flex;gap:16px;align-items:center;
  flex-wrap:wrap;padding-inline:clamp(20px,5vw,24px)}
.exitbar .leave{flex:none;background:#F7F2E8;color:var(--wine);border:0;border-radius:6px;
  padding:12px 20px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.exitbar .leave:hover{background:#fff}
.exitbar .leave:focus-visible{outline:3px solid #F7F2E8;outline-offset:3px}
.exitbar p{margin:0;font-size:13px;line-height:1.55;max-width:74ch}
.exitbar b{color:#fff}

/* a resource box inside a prose page — used on Safety for the checklist */
.doc .guidebox{background:var(--ivory);border:1px solid var(--sage-mid);border-radius:12px;
  padding:24px 26px;margin:30px 0}
.doc .guidebox h3{margin-top:0}
.doc .guidebox .gb-fine{font-size:13px;color:var(--muted);margin-bottom:14px}
.doc .guidebox .gb-btn{display:inline-block;background:var(--plum);color:var(--ivory);
  border-radius:999px;padding:11px 22px;font-size:14px;font-weight:600;text-decoration:none}
.doc .guidebox .gb-btn:hover{background:var(--plum-soft)}

/* ── THE REVIEW FORM · 31 October 2026 ───────────────────────────────────────
   The credit choice is the point of this page: the person decides how much of
   their name is ever shown, including none of it, so those options are set out
   as real choices rather than a checkbox at the bottom. */
.rv{background:var(--cream);padding:clamp(40px,5vw,64px) 0}
.rv-in{max-width:720px}
.rv-note{background:var(--ivory);border-left:3px solid var(--sage);border-radius:0 10px 10px 0;
  padding:20px 24px;margin-bottom:30px}
.rv-note p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin-bottom:10px}
.rv-note p:last-child{margin-bottom:0}
.rv-note b{color:var(--ink)}
.rv-field{margin-bottom:26px}
.rv-field>label{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--plum);margin-bottom:5px}
.rv-help{font-size:13.5px;color:var(--muted);margin-bottom:9px;line-height:1.55}
.rv textarea,.rv input[type=text],.rv input[type=email]{width:100%;padding:13px 14px;
  border:1px solid var(--border);border-radius:7px;background:var(--cream);color:var(--ink);
  font:inherit;font-size:15.5px}
.rv textarea{min-height:150px;resize:vertical;line-height:1.6}
.rv textarea:focus,.rv input:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(159,181,139,.4)}
.rv-choices{display:flex;flex-direction:column;gap:9px}
.rv-choice{display:flex;gap:12px;align-items:flex-start;background:var(--ivory);
  border:1px solid var(--border);border-radius:9px;padding:14px 16px;cursor:pointer}
.rv-choice:hover{border-color:var(--sage-mid)}
.rv-choice input{margin-top:3px;accent-color:var(--plum);flex:none}
.rv-choice>span{display:flex;flex-direction:column;gap:2px;font-size:15px;color:var(--ink)}
.rv-choice .sub{font-size:13px;color:var(--muted);line-height:1.5}
.rv-choice:has(input:checked){border-color:var(--plum);background:var(--cream)}
.rv-send{margin-top:28px}
.rv-send .btn{width:100%}
.rv-fine{margin-top:12px;font-size:13px;color:var(--muted);text-align:center;line-height:1.55}
.rv-err{display:none;margin-top:14px;color:var(--alert);font-size:14px;font-weight:600}
.rv-done{display:none;background:var(--sage-light);border-radius:12px;padding:28px 30px}
.rv-done p{font-size:16px;line-height:1.7;color:var(--ink);margin-bottom:12px}
.rv-done p:last-child{margin-bottom:0}

/* ── A COMPACT SIGN-UP · podcast alerts and the letter ───────────────────────
   Netlify registers a form by parsing the HTML it is handed at deploy, so
   these have to exist in the markup of a page that ships. "episode-alerts"
   and "newsletter" are both registered that way and must stay that way. */
.capture{display:flex;gap:10px;flex-wrap:wrap;max-width:520px;margin:22px auto 0}
.capture input[type=email],.capture input[type=text]{flex:1 1 210px;min-width:0;
  padding:13px 14px;border:1px solid var(--border);border-radius:7px;background:var(--cream);
  color:var(--ink);font:inherit;font-size:15.5px}
.capture input:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(159,181,139,.4)}
.capture .btn{flex:0 0 auto}
.capture-fine{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.55;
  max-width:52ch;margin-inline:auto}
.capture-error{display:none;margin-top:10px;color:var(--alert);font-size:14px;font-weight:600}
.capture-done{display:none;margin-top:18px;background:var(--sage-light);border-radius:10px;
  padding:18px 22px;font-size:15.5px;color:var(--ink);max-width:520px;margin-inline:auto}

/* ── THE SEASON · episode list ───────────────────────────────────────────── */
.ep-hero{background:var(--ivory);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border)}
.ep-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;
  padding:clamp(26px,3.4vw,38px);text-align:left;max-width:780px;margin:34px auto 0;
  box-shadow:0 20px 44px -30px rgba(20,6,24,.45)}
.ep-card .tagline{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;color:var(--plum);margin-bottom:10px}
.ep-card h3{font-size:clamp(21px,2.8vw,27px);margin-bottom:12px}
.ep-card p{color:var(--ink-soft);margin-bottom:14px}
.ep-meta{font-size:13px;color:var(--muted);margin-bottom:18px}
.ep-btns{display:flex;gap:10px;flex-wrap:wrap}

.season{background:var(--cream)}
.movement{margin-top:34px;text-align:left}
.movement-head{display:flex;align-items:baseline;gap:12px;padding-bottom:9px;
  border-bottom:2px solid var(--sage-mid);margin-bottom:4px}
.movement-head .ltr{font-family:var(--serif);font-size:27px;color:var(--sage);line-height:1}
.movement-head h3{font-size:18px;margin:0}
.movement-head .rng{margin-left:auto;font-size:12px;color:var(--muted);
  font-variant-numeric:tabular-nums}
.ep-row{display:flex;gap:14px;align-items:baseline;padding:13px 4px;
  border-bottom:1px solid var(--border-soft)}
.ep-row .n{font-family:var(--serif);font-size:16px;color:var(--plum);flex:none;width:26px;
  font-variant-numeric:tabular-nums}
.ep-row .t{flex:1 1 auto;min-width:0;font-size:15.5px;color:var(--ink)}
.ep-row .s{flex:none;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted)}
.ep-row.out .s{color:var(--forest);font-weight:600}
@media(max-width:560px){
  .ep-row{flex-wrap:wrap}
  .ep-row .s{width:100%;padding-left:40px}
}
.ep-row .t a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sage-mid)}
.ep-row .t a:hover{color:var(--plum);border-bottom-color:var(--plum)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── THE LETTER ARCHIVE ──────────────────────────────────────────────────── */
.letters{background:var(--cream)}
.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:20px;margin-top:40px;text-align:left}
.letter{display:flex;flex-direction:column;background:var(--ivory);
  border:1px solid var(--border);border-radius:12px;overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease}
.letter:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(20,6,24,.45)}
.letter-shot{height:132px;background-size:cover;background-position:center;
  border-bottom:1px solid var(--border)}
.letter-in{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.letter-n{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--plum);margin-bottom:6px}
.letter h3{font-size:19px;margin-bottom:10px}
.letter blockquote{margin:0 0 16px;font-family:var(--serif);font-style:italic;font-size:15px;
  line-height:1.6;color:var(--ink-soft);flex:1}
.letter-read{font-size:14px;font-weight:600;color:var(--plum);text-decoration:none;
  align-self:flex-start;border-bottom:1px solid var(--sage-mid);padding-bottom:1px}
.letter-read:hover{border-bottom-color:var(--plum)}

/* ════════════════════════════════════════════════════════════════════════════
   THE PODCAST · 31 October 2026
   ────────────────────────────────────────────────────────────────────────────
   The card and the waveform come from her landing page; gold is off the brand,
   so the accent is plum on the light card and sage on the dark. The season is
   laid out in its three acts because the acts are the argument — name the
   pain, hand over the tools, open the door — and hiding that behind a flat
   list of twelve would lose it.
   ════════════════════════════════════════════════════════════════════════════ */
.podcast{background:linear-gradient(180deg,var(--sage-light) 0%,var(--cream) 62%)}
.podcast-card{max-width:900px;margin:44px auto 0;background:var(--cream);
  border:1px solid var(--border);border-radius:20px;padding:clamp(28px,3.6vw,44px);
  box-shadow:0 22px 52px -30px rgba(20,6,24,.45);text-align:left}
.podcast-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(26px,3.4vw,38px);
  align-items:center}
.pod-chip{display:inline-block;background:var(--plum);color:var(--ivory);border-radius:999px;
  padding:6px 15px;font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:14px}
.podcast h3{font-size:clamp(23px,3vw,28px);color:var(--plum);margin-bottom:4px}
.podcast h3 em{font-style:italic;color:var(--sage)}
.pod-sub{font-size:14px;color:var(--muted);font-style:italic;margin-bottom:14px}
.pod-body{font-size:15.5px;color:var(--ink-soft)}
.wave{display:flex;align-items:flex-end;gap:3px;height:42px;margin:22px 0 16px}
.wave span{flex:1;background:var(--sage);border-radius:2px;opacity:.75}
.pod-note{font-size:13px;color:var(--muted);font-style:italic}
.pod-side-head{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px}
.ep-tease{border-left:2px solid var(--sage-mid);padding:9px 0 9px 14px;margin-bottom:12px;
  font-size:14px;line-height:1.55;color:var(--ink-soft)}
.ep-tease b{color:var(--ink);display:block}
.ep-n{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--plum);font-weight:700;margin-bottom:2px}
.platforms{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.platform{border:1px solid var(--border);border-radius:999px;padding:9px 16px;font-size:13px;
  text-decoration:none;color:var(--ink)}
.platform:hover{border-color:var(--sage);color:var(--plum)}
.platform.primary{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.platform.primary:hover{background:var(--plum-soft);color:var(--ivory)}
@media(max-width:860px){.podcast-grid{grid-template-columns:1fr}}

/* ── the season, in three acts ───────────────────────────────────────────── */
.act{margin-top:46px;text-align:left}
.act-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding-bottom:11px;border-bottom:2px solid var(--sage-mid);margin-bottom:6px}
.act-head .ltr{font-family:var(--serif);font-size:30px;color:var(--sage);line-height:1}
.act-head h3{font-size:19px;margin:0}
.act-head .says{margin-left:auto;font-family:var(--serif);font-style:italic;font-size:16px;
  color:var(--plum)}
.ep{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:19px 4px;
  border-bottom:1px solid var(--border-soft)}
.ep:last-child{border-bottom:none}
.ep .num{font-family:var(--serif);font-size:25px;color:var(--sage);line-height:1.1;
  font-variant-numeric:tabular-nums}
.ep h4{font-size:17.5px;margin:0 0 7px;line-height:1.3}
.ep p{font-size:15px;color:var(--ink-soft);margin:0 0 9px}
.ep .tags{display:flex;gap:7px;flex-wrap:wrap}
.ep .tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--forest);background:var(--sage-light);border-radius:999px;padding:4px 10px}
@media(max-width:560px){.ep{grid-template-columns:38px 1fr;gap:12px}.ep .num{font-size:20px}}

.rhythm{background:var(--tan);border-top:1px solid rgba(74,26,80,.18);
  border-bottom:1px solid rgba(74,26,80,.18)}

/* ════════════════════════════════════════════════════════════════════════════
   THE TRAUMA FRAMING · 1 November 2026
   ────────────────────────────────────────────────────────────────────────────
   Three new sections from her landing page: the claim strip, The Limit, the
   boundary cards, and Why 1:1. Her layout, our palette — her gold becomes
   plum on light grounds and pale sage on dark, which is the rule the rest of
   the site already follows.
   ════════════════════════════════════════════════════════════════════════════ */
.strip{background:var(--aubergine);color:var(--ivory);padding:18px 0}
.strip .wrap{display:flex;justify-content:center;gap:10px 14px;flex-wrap:wrap;
  align-items:center;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.strip b{color:var(--sage-light);font-weight:700}
.strip .sep{opacity:.45}

.limit{background:linear-gradient(170deg,var(--aubergine) 0%,var(--midnight) 72%);
  color:var(--ivory)}
.limit h2{color:var(--ivory)}
.limit .eyebrow{background:rgba(247,242,232,.08);border-color:rgba(207,227,198,.4);
  color:var(--sage-light)}
.limit-line{color:rgba(247,242,232,.82);font-size:17px;font-style:italic;max-width:780px;
  margin:20px auto 0;line-height:1.7}
.limit-line b{color:var(--sage-light);font-style:normal}
.limit .btn{margin-top:30px}

.boundary{background:var(--cream)}
.boundary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;
  text-align:left}
.b-card{background:var(--ivory);border:1px solid var(--border);border-radius:14px;
  padding:28px 26px;border-top:4px solid var(--sage)}
.b-card h3{font-size:18.5px;color:var(--plum);margin-bottom:10px}
.b-card p{font-size:15px;color:var(--ink-soft)}
.b-card b{color:var(--ink);font-weight:600}
.b-card.mid{border-top-color:var(--plum);background:var(--cream)}
.b-card.last{border-top-color:var(--sage-mid)}
.boundary-foot{margin:30px auto 0;text-align:center;font-style:italic;font-size:15px;
  color:var(--ink-soft);max-width:700px}
.boundary-foot b{color:var(--plum);font-style:normal;font-weight:600}
@media(max-width:860px){.boundary-grid{grid-template-columns:1fr}}

.why11{background:linear-gradient(170deg,var(--aubergine) 0%,var(--midnight) 72%);
  color:var(--ivory)}
.why11 h2{color:var(--ivory)}
.why11 .lead{color:rgba(247,242,232,.8)}
.why11 .eyebrow{background:rgba(247,242,232,.08);border-color:rgba(207,227,198,.4);
  color:var(--sage-light)}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:880px;
  margin:44px auto 0;text-align:left}
.why-item{background:rgba(247,242,232,.06);border:1px solid rgba(207,227,198,.28);
  border-radius:12px;padding:22px 24px}
.why-item b{display:block;color:var(--sage-light);font-size:15.5px;font-weight:600;
  margin-bottom:6px}
.why-item span{font-size:14.5px;color:rgba(247,242,232,.8);line-height:1.65}
.why-quote{max-width:760px;margin:36px auto 0;text-align:center;font-family:var(--serif);
  font-style:italic;font-size:clamp(17px,2.2vw,20px);line-height:1.55;color:var(--sage-light)}
.why-cta{margin-top:32px}
/* THE SIGNED NOTE · 4 November 2026
   Replaces the pull-quote, which was a testimonial about her attributed to
   nobody. This is first person inside a section written in the third, so the
   change of voice has to look deliberate rather than like an editing slip:
   a panel, left-aligned against the centred section, closed with a signature. */
.why-note{max-width:760px;margin:40px auto 0;text-align:left;
  background:rgba(247,242,232,.05);border:1px solid rgba(207,227,198,.3);
  border-left:3px solid var(--sage);border-radius:12px;padding:26px 30px}
.why-note p{font-family:var(--serif);font-size:clamp(16.5px,2.1vw,19px);line-height:1.62;
  color:rgba(247,242,232,.92)}
.why-note p b{color:var(--sage-light);font-weight:600}
.why-sign{margin-top:16px;font-family:var(--sans);font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--sage-light)}
@media(max-width:720px){.why-grid{grid-template-columns:1fr}
  .why-note{padding:22px 20px}}

/* ════════════════════════════════════════════════════════════════════════════
   BUILT FOR SOMEONE IN A HURRY · 1 November 2026
   ────────────────────────────────────────────────────────────────────────────
   The home page took sixteen screens to reach a price. Most readers will not
   do that, and the ones who would were going to buy anyway. Two additions:
   the whole ladder as one line in the hero, so nobody has to scroll to learn
   what this costs, and a one-line byline where the full story used to sit.
   ════════════════════════════════════════════════════════════════════════════ */
.hero-prices{display:flex;flex-wrap:wrap;gap:8px 10px;margin:18px 0 14px;align-items:stretch}
.hero-prices a{display:flex;flex-direction:column;gap:1px;text-decoration:none;
  background:var(--cream);border:1px solid var(--border);border-radius:10px;
  padding:9px 15px;min-width:0}
.hero-prices a:hover{border-color:var(--sage);box-shadow:0 8px 20px -14px rgba(20,6,24,.5)}
.hero-prices b{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--plum);
  line-height:1.1;font-variant-numeric:tabular-nums}
.hero-prices span{font-size:11.5px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}

.byline{background:var(--tan);border-top:1px solid rgba(74,26,80,.18);
  border-bottom:1px solid rgba(74,26,80,.18);padding:30px 0}
.byline .wrap{display:flex;align-items:center;gap:clamp(16px,3vw,26px);flex-wrap:wrap}
.byline img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 6%;
  border:2px solid var(--plum);flex:none}
.byline .b-txt{flex:1 1 320px;min-width:0}
.byline .b-name{font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:2px}
.byline p{font-size:15px;color:var(--ink-soft);margin:0}
.byline .btn{flex:none}
@media(max-width:620px){.byline .wrap{flex-direction:column;text-align:center}
  .byline .b-txt{flex:1 1 auto}}
.final-more{margin-top:22px;font-size:14px;color:rgba(247,242,232,.6)}
.final-more a{color:var(--sage-light);text-decoration:none;border-bottom:1px solid transparent}
.final-more a:hover{border-bottom-color:var(--sage-light)}

/* ── ONE TAP TO THE MONEY, ON A PHONE · 1 November 2026 ─────────────────────
   The home page is twenty-two screens on a phone, because everything stacks.
   Rather than cut the argument, this keeps the offer one tap away from any
   point in it. Phone only: on a laptop the nav's own button is always there.
   It clears the home-bar inset, and it is hidden until the reader is past the
   hero, so it never covers the first thing they see. */
.paybar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  align-items:center;gap:12px;
  background:linear-gradient(180deg,rgba(26,8,32,.96),var(--midnight));
  border-top:1px solid rgba(207,227,198,.28);
  padding:10px max(14px,env(safe-area-inset-right,0px))
          calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
  transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.75,.25,1)}
.paybar.on{transform:none}
.paybar .pb-txt{flex:1 1 auto;min-width:0;line-height:1.25}
.paybar .pb-from{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(247,242,232,.6)}
.paybar .pb-price{font-family:var(--serif);font-size:20px;font-weight:700;
  color:var(--sage-light);font-variant-numeric:tabular-nums}
.paybar .btn{flex:none;padding:12px 20px;font-size:14px}
@media(max-width:860px){.paybar{display:flex}}
@media(prefers-reduced-motion:reduce){.paybar{transition:none}}

/* ════════════════════════════════════════════════════════════════════════════
   THE OFFERS, AT A GLANCE · 1 November 2026
   ────────────────────────────────────────────────────────────────────────────
   Her block, sitting above the method so the prices are met before the theory.
   Three colour treatments, switched by one class on the section: v1 four tints,
   v2 four deep plum cards, v3 one ground with an ascending rule. Shared
   structure below, the treatments after it.
   ════════════════════════════════════════════════════════════════════════════ */
.fastfacts{background:var(--ivory);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border)}
.ff-label{display:block;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--plum);padding:30px 0 4px}
.ff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 0 8px}
.ff{border-radius:12px;padding:18px 20px;text-decoration:none;display:block;
  transition:transform .16s ease,box-shadow .16s ease}
.ff:hover{transform:translateY(-3px)}
.ff b{display:block;font-family:var(--serif);font-size:19px;line-height:1.2;margin-bottom:4px;
  font-variant-numeric:tabular-nums}
.ff span{display:block;font-size:12.5px;line-height:1.45}
.ff .go{display:block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.04em}
.ff-more{text-align:center;margin:4px 0 30px;font-size:14px}
.ff-more a{color:var(--plum);font-weight:600;text-decoration:none;
  border-bottom:1px solid var(--sage-mid);padding-bottom:1px}
.ff-more a:hover{border-bottom-color:var(--plum)}
@media(max-width:980px){.ff-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ff-grid{grid-template-columns:1fr}}

/* ── v1 · four tints from the scheme ─────────────────────────────────────── */
.fastfacts.v1 .ff{border:1px solid rgba(74,26,80,.14);
  box-shadow:0 8px 20px -16px rgba(20,6,24,.5)}
.fastfacts.v1 .ff:hover{box-shadow:0 16px 32px -18px rgba(20,6,24,.55)}
.fastfacts.v1 .ff:nth-child(1){background:#CFE3C6}
.fastfacts.v1 .ff:nth-child(2){background:#E9DFCB}
.fastfacts.v1 .ff:nth-child(3){background:#EDE5F1}
.fastfacts.v1 .ff:nth-child(4){background:#FFFCF7}
.fastfacts.v1 .ff b{color:var(--plum)}
.fastfacts.v1 .ff span{color:var(--ink-soft)}
.fastfacts.v1 .ff .go{color:var(--forest)}

/* ── v2 · four deep plum cards ───────────────────────────────────────────── */
.fastfacts.v2{background:var(--cream)}
.fastfacts.v2 .ff{background:linear-gradient(165deg,var(--plum) 0%,var(--aubergine) 100%);
  border:1px solid rgba(207,227,198,.26);box-shadow:0 14px 30px -20px rgba(20,6,24,.8)}
.fastfacts.v2 .ff:hover{box-shadow:0 22px 44px -20px rgba(20,6,24,.85)}
.fastfacts.v2 .ff b{color:var(--sage-light)}
.fastfacts.v2 .ff span{color:rgba(247,242,232,.78)}
.fastfacts.v2 .ff .go{color:var(--ivory)}
/* the Advisory is the standout: it is the one the whole page is arguing for */
.fastfacts.v2 .ff:nth-child(3){background:var(--sage-light);border-color:var(--sage)}
.fastfacts.v2 .ff:nth-child(3) b{color:var(--plum)}
.fastfacts.v2 .ff:nth-child(3) span{color:var(--ink-soft)}
.fastfacts.v2 .ff:nth-child(3) .go{color:var(--forest)}

/* ── v3 · one ground, a rule that deepens as the offer does ──────────────── */
.fastfacts.v3 .ff{background:var(--cream);border:1px solid var(--border);
  border-top:4px solid var(--sage-light);box-shadow:0 8px 20px -16px rgba(20,6,24,.45)}
.fastfacts.v3 .ff:hover{box-shadow:0 16px 32px -18px rgba(20,6,24,.5)}
.fastfacts.v3 .ff:nth-child(2){border-top-color:var(--sage-mid)}
.fastfacts.v3 .ff:nth-child(3){border-top-color:var(--sage)}
.fastfacts.v3 .ff:nth-child(4){border-top-color:var(--plum)}
.fastfacts.v3 .ff b{color:var(--plum)}
.fastfacts.v3 .ff span{color:var(--ink-soft)}
.fastfacts.v3 .ff .go{color:var(--sage)}

/* ── the advisory card footer, 2 Nov · from her landing-v3: the instalment
      stated as one line, one button to the call, and the payment choice
      deferred to that call. Gold → sage-light on the dark cards, plum on
      the featured one. ───────────────────────────────────── */
.offer-parts{font-size:14px;line-height:1.55;margin:0 0 18px;color:rgba(247,242,232,.8)}
.offer-parts b{color:var(--sage-light);font-weight:600}
.offer.featured .offer-parts{color:var(--ink-soft)}
.offer.featured .offer-parts b{color:var(--plum)}
.btn-sub{display:block;text-align:center;margin-top:11px;font-size:12.5px;line-height:1.5;
  color:rgba(247,242,232,.62)}
.offer.featured .btn-sub{color:var(--muted)}

/* ── v4 · her landing-v3 layout, 2 Nov · white cards on cream, a rule across
      the top, and the free call moved out of the grid into a pill underneath.
      Her file used gold throughout; gold left the brand on 13 Sept, so every
      gold value here is plum. ───────────────────────────── */
.fastfacts.v4{background:var(--ivory);padding-bottom:8px}
.fastfacts.v4 .ff-label{color:var(--plum)}
.fastfacts.v4 .ff{background:var(--cream);border:1px solid var(--border);
  border-top:3px solid var(--plum);border-radius:12px;padding:16px 18px;
  box-shadow:0 6px 16px -10px rgba(20,6,24,.3)}
.fastfacts.v4 .ff:hover{border-color:var(--plum);
  box-shadow:0 16px 32px -18px rgba(20,6,24,.45)}
.fastfacts.v4 .ff b{font-family:var(--sans);font-size:16.5px;font-weight:600;
  color:var(--plum);margin-bottom:3px;letter-spacing:-.01em}
.fastfacts.v4 .ff span{color:var(--ink-soft);font-size:12.5px;line-height:1.45}
.fastfacts.v4 .ff .go{color:var(--plum);font-size:12px;font-weight:700;margin-top:8px}
.ff-free{display:block;margin:10px auto 30px;max-width:680px;text-align:center;
  font-size:14px;color:var(--ink);background:var(--cream);
  border:1.5px dashed var(--plum-soft);border-radius:999px;padding:11px 20px;
  text-decoration:none;transition:border-style .2s ease,box-shadow .2s ease}
.ff-free b{color:var(--plum);font-weight:600}
.ff-free:hover{border-style:solid;box-shadow:0 10px 24px -18px rgba(20,6,24,.5)}
@media(max-width:560px){.ff-free{border-radius:16px}}

/* ── the two bundles, and the upgrade path off the Rapid Reset ───────────── */
.path-note{margin-top:14px;font-size:13px;line-height:1.6;color:var(--ink-soft);
  background:var(--ivory);border:1px dashed var(--sage-mid);border-radius:12px;padding:12px 16px}
.path-note b{color:var(--plum);font-weight:600}
/* anything the guide or a nav link jumps to clears the sticky header */
[id="rapid"],[id="pair"],[id="course"],[id="offers"]{scroll-margin-top:86px}
.deals{margin-top:44px;display:grid;grid-template-columns:1fr 1.35fr;gap:22px;text-align:left}
.deal-card{background:var(--cream);border:2px solid var(--sage-mid);border-radius:16px;
  padding:26px 28px;color:var(--ink);box-shadow:0 20px 48px -28px rgba(0,0,0,.8)}
.deal-tag{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--plum);margin-bottom:8px}
.deal-card h3{font-size:19px;color:var(--plum);margin-bottom:8px}
.deal-card p{font-size:14.5px;color:var(--ink-soft)}
.deal-price{margin:12px 0 4px}
.deal-was{font-size:15px;color:var(--muted);text-decoration:line-through;margin-right:10px}
.deal-now{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--plum);
  font-variant-numeric:tabular-nums}
.deal-save{font-size:12.5px;color:var(--forest);margin-bottom:14px}
.deal-table{margin:14px 0 16px}
.deal-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;
  border-bottom:1px dashed var(--border);font-size:14.5px;color:var(--ink-soft)}
.deal-row:last-child{border-bottom:none}
.deal-row .dw{text-decoration:line-through;color:var(--muted);font-size:13px;margin-right:10px}
.deal-row .dn{font-weight:700;color:var(--plum);font-size:17px;font-variant-numeric:tabular-nums}
.deal-card .btn{width:100%;text-align:center}
/* .solo — one card on its own, as on Work With Me, where the Pair appears
   without Path B beside it. Without this it sits in the narrow 1fr column
   of the two-column grid with dead space to its right. */
.deals.solo{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
@media(max-width:860px){.deals{grid-template-columns:1fr}}

/* ── the free call, held in view while the prices are being read ─────────── */
.cta-banner{position:sticky;bottom:22px;z-index:30;margin:34px auto 0;max-width:860px;
  display:flex;gap:20px;align-items:flex-start;background:rgba(26,8,32,.92);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(207,227,198,.45);border-radius:16px;padding:22px 26px;text-align:left;
  box-shadow:0 20px 48px -20px rgba(0,0,0,.75)}
.cta-banner .cn-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;
  background:var(--sage-light);display:grid;place-items:center;font-size:19px;color:var(--midnight)}
.cta-banner h4{font-size:18px;color:var(--sage-light);margin-bottom:6px}
.cta-banner p{font-size:14.5px;color:rgba(247,242,232,.8);margin-bottom:12px}
.cta-banner .btn{display:inline-block;padding:11px 22px;font-size:14.5px}
@media(max-width:620px){.cta-banner{flex-direction:column;gap:14px}}

/* ── WHAT THE ADVISORY ACTUALLY CONTAINS · 1 November 2026 ──────────────────
   The three cards now state the hours, the support and what the client keeps,
   because that is what someone comparing three prices is really reading. The
   aim sits above the list so the outcome is met before the mechanics. */
.offer-aim{font-family:var(--serif);font-style:italic;font-size:15.5px;line-height:1.5;
  color:var(--sage-light);margin:-8px 0 16px}
.offer.featured .offer-aim{color:var(--plum)}
.offer-keep{background:rgba(207,227,198,.12);border:1px solid rgba(207,227,198,.26);
  border-radius:10px;padding:13px 15px;margin-bottom:20px}
.offer.featured .offer-keep{background:var(--sage-light);border-color:var(--sage-mid)}
.offer-keep .k-h{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;
  color:var(--sage-light);margin-bottom:4px}
.offer.featured .offer-keep .k-h{color:var(--forest)}
.offer-keep p{margin:0;font-size:13.5px;line-height:1.55}
.offer.featured .offer-keep p{color:var(--ink)}
.offer-hours{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.offer-hours span{font-size:11px;border:1px solid rgba(207,227,198,.3);border-radius:999px;
  padding:4px 10px;font-variant-numeric:tabular-nums}
.offer.featured .offer-hours span{border-color:var(--border)}
.offer-hours b{font-weight:700;color:var(--sage-light)}
.offer.featured .offer-hours b{color:var(--plum)}

/* ── MILESTONES · 1 November 2026 ───────────────────────────────────────────
   Stabilize, Rebuild, Lead. Each tier ends with a written review at its gate,
   which is the thing that turns a length of time into a destination. */
.offer-milestone{font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(207,227,198,.32);border-radius:999px;padding:7px 14px;
  display:inline-block;margin-bottom:16px;color:rgba(247,242,232,.8)}
.offer-milestone b{color:var(--sage-light);font-weight:700;letter-spacing:.12em}
.offer.featured .offer-milestone{border-color:var(--sage-mid);color:var(--ink-soft)}
.offer.featured .offer-milestone b{color:var(--plum)}
.cmp-note{margin:16px auto 0;max-width:72ch;text-align:center;font-size:13px;
  color:var(--ink-soft);line-height:1.6}

/* the course cover, at the top of the side panel */
.course-cover{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:22px;
  box-shadow:0 20px 44px -26px rgba(20,6,24,.7)}

/* the Rapid Reset cover, above its included list */
.rr-cover{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:20px;
  box-shadow:0 18px 40px -26px rgba(20,6,24,.55)}

/* ── PAYMENT PLANS · 1 November 2026 ────────────────────────────────────────
   Under each advisory price, so the weekly figure is read at the same moment
   as the total rather than discovered at the checkout. */
/* Two routes, stated on the card, so nothing about how to pay is a surprise
   at the checkout. One is self-serve and instant; the other is arranged by
   invoice after the call, which is said here rather than discovered. */
.pay-routes{margin:-6px 0 18px;border:1px dashed rgba(207,227,198,.34);border-radius:10px;
  overflow:hidden}
.offer.featured .pay-routes{border-color:var(--sage-mid)}
.pr{display:flex;align-items:baseline;gap:10px;padding:10px 13px;font-size:12.5px;
  line-height:1.45;border-top:1px solid rgba(207,227,198,.18)}
.pr:first-child{border-top:0}
.offer.featured .pr{border-top-color:var(--border-soft)}
.pr b{flex:none;font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;
  color:var(--sage-light);width:62px}
.offer.featured .pr b{color:var(--plum)}
.pr span{color:rgba(247,242,232,.76);font-variant-numeric:tabular-nums}
.offer.featured .pr span{color:var(--ink-soft)}
.pr span i{font-style:normal;font-weight:600;color:rgba(247,242,232,.95)}
.offer.featured .pr span i{color:var(--ink)}
.pay-note{margin:26px auto 0;max-width:68ch;text-align:center;font-size:13.5px;
  line-height:1.65;color:rgba(247,242,232,.72)}
.pay-note b{color:var(--sage-light);font-weight:600}
.course-side .one-pay{margin:-10px 0 16px;font-size:12.5px;color:var(--muted)}

/* ════════════════════════════════════════════════════════════════════════════
   THE CHECKOUT CHOOSER · 1 November 2026
   ────────────────────────────────────────────────────────────────────────────
   Stripe payment links take one price, so the weekly plan could never appear
   at the Stripe checkout. This page is the step before it: both routes, side
   by side, chosen before anyone leaves the site.
   ════════════════════════════════════════════════════════════════════════════ */
.co{background:var(--cream);padding-block:clamp(34px,4.5vw,56px)}
.co:nth-of-type(even){background:var(--ivory)}
.co .wrap{max-width:980px}
.co-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:6px}
.co-head h2{margin:0;font-size:clamp(23px,3vw,30px)}
.co-head .price{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--plum);
  font-variant-numeric:tabular-nums}
.co-head .dur{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.co-sum{color:var(--ink-soft);font-size:15px;margin:0 0 24px;max-width:68ch}
.co-routes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.co-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;
  padding:24px 24px 22px;display:flex;flex-direction:column}
.co:nth-of-type(even) .co-card{background:var(--cream)}
.co-card.once{border-top:4px solid var(--plum)}
.co-card.plan{border-top:4px solid var(--sage)}
.co-tag{font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;
  margin-bottom:8px}
.co-card.once .co-tag{color:var(--plum)}
.co-card.plan .co-tag{color:var(--sage-ink)}
.co-amt{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--ink);line-height:1.05;
  font-variant-numeric:tabular-nums;margin-bottom:4px}
.co-amt small{font-family:var(--sans);font-size:14px;font-weight:400;color:var(--muted)}
.co-card p{font-size:14px;color:var(--ink-soft);margin:0 0 16px;line-height:1.6}
.co-card .btn{width:100%;margin-top:auto}
.co-fine{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center;line-height:1.5}
@media(max-width:780px){.co-routes{grid-template-columns:1fr}}

.co-form{max-width:620px;margin:0 auto}
.co-form .field{margin-bottom:16px}
.co-form label{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--plum);margin-bottom:5px}
.co-form input,.co-form select,.co-form textarea{width:100%;padding:13px 14px;
  border:1px solid var(--border);border-radius:7px;background:var(--cream);color:var(--ink);
  font:inherit;font-size:15.5px}
.co-form textarea{min-height:110px;resize:vertical;line-height:1.6}
.co-form input:focus,.co-form select:focus,.co-form textarea:focus{outline:none;
  border-color:var(--sage);box-shadow:0 0 0 3px rgba(159,181,139,.4)}
.co-form .btn{width:100%}
.co-done{display:none;background:var(--sage-light);border-radius:12px;padding:26px 28px;
  font-size:16px;line-height:1.7;color:var(--ink)}
.co-done b{display:block;font-family:var(--serif);font-size:20px;margin-bottom:6px}
.co-err{display:none;margin-top:12px;color:var(--alert);font-size:14px;font-weight:600}


/* ════════════════════════════════════════════════════════════════════════════
   THE CHECKOUT · her design, 1 November 2026
   ────────────────────────────────────────────────────────────────────────────
   Order summary on the left, the two ways to pay on the right, tier pills to
   switch without going back. Her layout and her behaviour exactly; her gold is
   plum here, as everywhere else on this site.
   ════════════════════════════════════════════════════════════════════════════ */
.ck-hero{background:linear-gradient(180deg,var(--midnight) 0%,var(--aubergine) 100%);
  color:var(--ivory);padding:44px 0 38px;text-align:center}
.ck-hero h1{font-size:clamp(26px,4.2vw,36px);line-height:1.15;margin-bottom:8px;color:var(--ivory)}
.ck-hero p{max-width:580px;margin:0 auto;color:rgba(247,242,232,.8);font-size:15.5px}
.step-pill{display:inline-block;background:rgba(247,242,232,.08);
  border:1px solid rgba(207,227,198,.5);color:var(--sage-light);font-size:11.5px;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;padding:8px 18px;border-radius:999px;
  margin-bottom:16px}

.ck-main{background:var(--ivory);padding:40px 0 34px}
.ck-main .wrap{max-width:980px}
.checkout{display:grid;grid-template-columns:1fr 1.1fr;gap:26px;align-items:start}
@media(max-width:860px){.checkout{grid-template-columns:1fr}}

.summary{background:var(--cream);border:1px solid var(--border);border-radius:18px;
  padding:30px 30px 26px;box-shadow:0 14px 34px -24px rgba(20,6,24,.45)}
.sum-tag{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--plum);margin-bottom:8px}
.summary h2{font-size:23px;color:var(--plum);margin-bottom:4px}
.sum-dur{font-size:14px;color:var(--muted);margin-bottom:14px}
.sum-price{margin-bottom:14px}
.sum-price .was{font-size:15px;color:var(--muted);text-decoration:line-through;margin-right:10px}
.sum-price .now{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--plum);
  font-variant-numeric:tabular-nums}
.sum-price .plan-note{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.sum-incl{border-top:1px dashed var(--border);padding-top:14px;margin-bottom:14px;list-style:none}
.sum-incl li{padding:6px 0 6px 24px;position:relative;font-size:14px;color:var(--ink-soft)}
.sum-incl li::before{content:"\2192";position:absolute;left:0;color:var(--sage)}
.sum-milestone{background:var(--ivory);border:1px solid var(--border);border-radius:10px;
  padding:10px 14px;font-size:13px;color:var(--ink-soft)}
.sum-milestone b{color:var(--plum)}
.switch{margin-top:16px;border-top:1px dashed var(--border);padding-top:14px}
.switch-label{font-size:12px;color:var(--muted);margin-bottom:8px}
.switch-pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:999px;
  border:1.5px solid var(--border);background:var(--cream);color:var(--ink-soft);cursor:pointer;
  font-family:var(--sans)}
.pill:hover{border-color:var(--sage)}
.pill.active{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.pill:focus-visible{outline:3px solid var(--sage);outline-offset:2px}

.pay{display:flex;flex-direction:column;gap:14px}
.opt{background:var(--cream);border:2px solid var(--border);border-radius:16px;
  padding:22px 24px;cursor:pointer;position:relative;display:block;
  transition:border-color .15s,box-shadow .15s}
.opt:hover{border-color:var(--sage)}
.opt.selected{border-color:var(--plum);box-shadow:0 16px 36px -24px rgba(20,6,24,.5)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt:focus-within{outline:3px solid var(--sage);outline-offset:2px}
.opt-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.opt-head h3{font-family:var(--sans);font-size:17px;color:var(--plum);margin:0}
.opt-price{font-size:22px;font-weight:700;color:var(--plum);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.opt-price small{font-size:13px;font-weight:400;color:var(--muted)}
.opt p{font-size:13.5px;color:var(--ink-soft);margin-top:6px}
.opt .badge{position:absolute;top:-11px;right:18px;background:var(--plum);color:var(--ivory);
  font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px}
.opt .fine-print{font-size:12px;color:var(--muted);margin-top:8px}
/* ── the upgrade step, 2 Nov · sits between the order and the payment choice.
      One rung at a time: taking it makes that tier the order, which then offers
      its own next rung. Comprehensive is the top and shows none. ─────────── */
.upsell{background:var(--cream);border:2px solid var(--sage-mid);border-radius:16px;
  padding:18px 20px;margin-bottom:16px;position:relative}
.upsell[hidden]{display:none}
.up-tag{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sage-ink);margin-bottom:9px}
.up-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  margin-bottom:7px}
.up-head h3{font-family:var(--serif);font-size:20px;line-height:1.2;color:var(--plum);margin:0}
.up-price{font-weight:700;font-size:17px;color:var(--plum);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.upsell p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:0 0 14px}
.up-choose{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:520px){.up-choose{grid-template-columns:1fr}}
.up-btn{font-family:var(--sans);font-size:13.5px;font-weight:600;line-height:1.35;
  padding:11px 14px;border-radius:999px;border:1.5px solid var(--border);
  background:var(--ivory);color:var(--ink);cursor:pointer;text-align:center;
  transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.up-btn:hover{border-color:var(--plum)}
.up-btn.on{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.up-btn.take{border-color:var(--sage);color:var(--sage-ink)}
.up-btn.take:hover{background:var(--sage-light)}
.up-top{font-size:13px;color:var(--ink-soft);background:var(--cream);
  border:1px dashed var(--sage-mid);border-radius:12px;padding:12px 16px;margin-bottom:16px}
.up-top b{color:var(--plum);font-weight:600}
.up-top[hidden]{display:none}

/* the running total and the discounts that got it there */
.ck-total{background:var(--ivory);border:1px solid var(--border);border-radius:12px;
  padding:13px 16px;margin-bottom:12px}
.ck-tot-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-size:15px;font-weight:600;color:var(--ink)}
.ck-tot-row span:last-child{font-variant-numeric:tabular-nums;font-size:19px;
  color:var(--plum);font-family:var(--serif);font-weight:700}
.ck-disc{font-size:12.5px;line-height:1.5;color:var(--sage-ink);margin-top:5px;font-weight:500}
.ck-disc:empty{display:none}

.ck-btn{display:block;width:100%;text-align:center;padding:17px 28px;border-radius:999px;
  text-decoration:none;font-size:16.5px;font-weight:700;border:0;cursor:pointer;
  background:var(--plum);color:var(--ivory);box-shadow:0 14px 30px -16px rgba(74,26,80,.75);
  font-family:var(--sans)}
.ck-btn:hover{background:var(--plum-soft)}
.secure{display:flex;justify-content:center;gap:8px;align-items:center;margin-top:12px;
  font-size:12.5px;color:var(--muted)}

.assure{margin:30px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  max-width:880px}
@media(max-width:760px){.assure{grid-template-columns:1fr}}
.a-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;
  padding:16px 18px;text-align:center}
.a-card b{display:block;font-size:14px;color:var(--plum);margin-bottom:3px}
.a-card span{font-size:12.5px;color:var(--ink-soft)}
.ck-fine{margin-top:24px;text-align:center;font-size:12.5px;color:var(--muted);
  font-style:italic;max-width:800px;margin-inline:auto}

/* ════════════════════════════════════════════════════════════════════════════
   THE TWO THANK-YOU PAGES · 3 November 2026
   ────────────────────────────────────────────────────────────────────────────
   One lands after a strategy call is booked, one after a purchase. Her layout
   from the two mock-ups: a quiet bar, a dark confirmation, three numbered
   steps, three cards, one optional nudge, a small footer. The mock-up's gold
   circle is light sage here — a dark ground takes sage, a light ground takes
   plum, which is the rule the rest of the site already follows.

   These pages do not carry the shared nav or footer, so shell.py leaves them
   alone. That is deliberate: someone who has just booked or just paid should
   not be handed the whole menu again.
   ════════════════════════════════════════════════════════════════════════════ */
.ty-bar{background:var(--plum)}
.ty-bar .wrap{max-width:1240px;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding-top:17px;padding-bottom:17px}
.ty-logo{font-family:var(--serif);font-size:21px;letter-spacing:.04em;color:var(--ivory);
  text-decoration:none}
.ty-logo i{font-style:italic;color:var(--sage-light)}
.ty-back{font-family:var(--sans);font-size:13.5px;color:rgba(247,242,232,.8);text-decoration:none}
.ty-back:hover{color:var(--sage-light)}

/* ── the confirmation itself ──────────────────────────────────────────────── */
.ty-hero{background:linear-gradient(180deg,var(--midnight) 0%,var(--aubergine) 100%);
  color:var(--ivory);text-align:center;padding:clamp(46px,7vw,72px) 0 clamp(42px,6vw,62px)}
.ty-hero .wrap{max-width:720px}
.ty-mark{width:74px;height:74px;margin:0 auto 24px;border-radius:50%;background:var(--sage-light);
  color:var(--midnight);display:flex;align-items:center;justify-content:center}
.ty-mark svg{width:33px;height:33px}
.ty-hero h1{font-size:clamp(31px,5.4vw,46px);color:var(--ivory);margin-bottom:14px;
  text-wrap:balance}
.ty-hero p{color:rgba(247,242,232,.82);font-size:15.5px;max-width:600px;margin:0 auto}
.ty-pill{display:inline-block;margin-top:26px;background:rgba(247,242,232,.08);
  border:1px solid rgba(207,227,198,.42);color:var(--sage-light);border-radius:999px;
  padding:12px 26px;font-size:14px;font-weight:500;line-height:1.5}

/* ── the three steps ──────────────────────────────────────────────────────── */
.ty-sec{padding:clamp(48px,6.5vw,76px) 0}
.ty-sec .wrap{max-width:860px}
.ty-sec.on-ivory{background:var(--ivory)}
.ty-sec.on-cream{background:var(--cream)}
.ty-head{text-align:center;margin-bottom:clamp(30px,4vw,44px)}
.ty-head h2{font-size:clamp(25px,3.6vw,34px);color:var(--plum);margin:14px 0 0;text-wrap:balance}

.ty-step{display:grid;grid-template-columns:42px 1fr;gap:20px;align-items:start;
  padding:24px 0;border-top:1px solid var(--border-soft)}
.ty-step:first-of-type{border-top:0;padding-top:4px}
.ty-num{width:42px;height:42px;border-radius:50%;border:1px solid var(--plum);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-size:18px;color:var(--plum)}
.ty-step h3{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--plum);
  margin-bottom:7px}
.ty-step p{font-size:15px;color:var(--ink-soft)}
.ty-step p b{color:var(--ink);font-weight:600}
.ty-fine{display:block;margin-top:9px;font-size:13px;font-style:italic;color:var(--muted)}
.ty-close{margin-top:26px;text-align:center;font-size:13.5px;font-style:italic;
  color:var(--muted);max-width:640px;margin-inline:auto}

/* ── what it will feel like ───────────────────────────────────────────────── */
.ty-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.ty-cards{grid-template-columns:1fr}}
.ty-card{background:var(--ivory);border:1px solid var(--border);border-radius:14px;
  padding:22px 22px 24px}
.ty-card.on-ivory{background:var(--cream)}
.ty-card b{display:block;font-size:14.5px;font-weight:600;color:var(--plum);margin-bottom:8px}
.ty-card span{font-size:13.5px;color:var(--ink-soft);line-height:1.65}

/* ── the optional nudge ───────────────────────────────────────────────────── */
.ty-wait{background:var(--cream);border:1px solid var(--border);border-radius:16px;
  padding:24px 26px;display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:start;
  box-shadow:0 14px 34px -26px rgba(20,6,24,.45)}
@media(max-width:560px){.ty-wait{grid-template-columns:1fr}}
.ty-wait-ico{width:46px;height:46px;border-radius:50%;background:var(--tan);color:var(--plum);
  display:flex;align-items:center;justify-content:center}
.ty-wait-ico svg{width:23px;height:23px}
.ty-wait b{display:block;font-family:var(--serif);font-size:18px;font-weight:700;
  color:var(--plum);margin-bottom:7px}
.ty-wait p{font-size:14.5px;color:var(--ink-soft)}
.ty-wait a{color:var(--plum);font-weight:600}

/* ── the terms, in plain words (purchase page only) ───────────────────────── */
.ty-terms{background:var(--ivory);border:1px solid var(--border);border-radius:16px;
  padding:24px 26px;margin-top:30px}
.ty-terms b{display:block;font-family:var(--serif);font-size:18px;font-weight:700;
  color:var(--plum);margin-bottom:8px}
.ty-terms p{font-size:14.5px;color:var(--ink-soft)}
.ty-terms p + p{margin-top:10px}
.ty-terms .ty-fine{margin-top:12px}

/* ── the quiet footer ─────────────────────────────────────────────────────── */
.ty-foot{background:var(--aubergine);color:rgba(247,242,232,.68);text-align:center;
  padding:30px 0;font-size:12.5px;line-height:1.8}
.ty-foot a{color:rgba(247,242,232,.8)}
.ty-foot a:hover{color:var(--sage-light)}

/* ── PATH B, REBUILT · 3 November 2026 ───────────────────────────────────────
   Her note: "You are not sure which path is the right one. We can build the
   path that is more suitable for you." The card now opens on that uncertainty
   instead of on a product name, and each row carries what it saves in money as
   well as a percentage — a figure lands harder than a range. Plum edge rather
   than the sage one its neighbour wears, so the eye goes here first. */
.deal-card.pathb{border-color:var(--plum);
  box-shadow:0 24px 54px -26px rgba(74,26,80,.8)}
.deal-card.pathb .deal-tag{display:inline-block;background:var(--plum);color:var(--ivory);
  padding:6px 14px;border-radius:999px;margin-bottom:12px;letter-spacing:.14em}
.deal-card.pathb h3{font-size:22px;margin-bottom:10px}
.deal-card.pathb p b{color:var(--plum);font-weight:600}

.pb-rows{margin:18px 0 14px}
.pb-rows .deal-row{padding:13px 0;align-items:flex-start}
.pb-rows .deal-row.best{background:linear-gradient(90deg,rgba(207,227,198,.26),transparent 70%);
  border-radius:10px;padding-left:12px;margin-left:-12px}
.pb-what{display:block;font-weight:600;color:var(--ink);font-size:15px}
.pb-sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.45}
.pb-price{text-align:right;white-space:nowrap;flex:0 0 auto}
.ds{display:block;width:fit-content;margin:5px 0 0 auto;background:var(--sage-light);
  color:var(--forest);font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;
  letter-spacing:.01em}
.pb-foot{font-family:var(--serif);font-size:18px;color:var(--plum);margin:2px 0 14px}
.pb-fine{margin-top:11px;font-size:12.5px;line-height:1.55;color:var(--muted);font-style:italic}
@media(max-width:480px){
  .pb-rows .deal-row{flex-direction:column;gap:6px}
  .pb-price{text-align:left}
  .ds{margin-left:0}
}

/* ── THE COMPARISON, FOLDED · 3 November 2026 ────────────────────────────────
   Her call: the honest comparison moves below "Choose your level of support"
   and opens on a click. The cards make the choice; the table settles it for
   the one reader in five who wants the detail, rather than putting a
   thirteen-row grid in front of everyone before they have seen the offers.
   Native <details>, so it works with no JavaScript and the open state is
   reachable by keyboard. */
.compare.cmp-collapsed{padding-top:clamp(34px,4vw,48px)}
.cmp-fold{max-width:900px;margin:0 auto;background:var(--cream);
  border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:0 18px 44px -32px rgba(20,6,24,.5)}
.cmp-fold summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:center;
  justify-content:space-between;flex-wrap:wrap;padding:22px 26px;text-align:left}
.cmp-fold summary::-webkit-details-marker{display:none}
.cmp-fold summary:focus-visible{outline:3px solid var(--plum);outline-offset:-3px}
.cf-text{font-size:14.5px;line-height:1.65;color:var(--ink-soft);max-width:580px}
.cf-text b{display:block;font-family:var(--serif);font-size:20px;font-weight:700;
  color:var(--plum);margin-bottom:5px}
.cf-cue{flex:0 0 auto;font-family:var(--sans);font-size:13.5px;font-weight:600;
  color:var(--ivory);background:var(--plum);border-radius:999px;padding:11px 22px;
  white-space:nowrap;transition:background .2s ease}
.cmp-fold summary:hover .cf-cue{background:var(--plum-soft)}
.when-open{display:none}
.cmp-fold[open] .when-shut{display:none}
.cmp-fold[open] .when-open{display:inline}
.cmp-fold[open] summary{border-bottom:1px solid var(--border-soft)}
.cmp-open{padding:26px 24px 28px;text-align:center}
.cmp-open h2{font-size:clamp(22px,3vw,29px);margin-bottom:18px}
@media(max-width:620px){
  .cmp-fold summary{gap:14px}
  .cf-cue{width:100%;text-align:center}
}

/* ─────────────────────────────────────────────────────────────────────────
   THE CONSENT BANNER · 4 November 2026
   Two buttons of equal weight. "No thank you" is not greyed out, not small,
   and not hidden behind a second screen — on a trauma-informed brand a dark
   pattern here would cost more than the analytics are worth.
   ───────────────────────────────────────────────────────────────────────── */
.sc-consent{position:fixed;left:0;right:0;bottom:0;z-index:9000;
  background:linear-gradient(168deg,#1E0A23 0%,var(--midnight) 100%);
  border-top:2px solid var(--sage);
  transform:translateY(110%);transition:transform .26s ease;
  padding-bottom:env(safe-area-inset-bottom,0px)}
.sc-consent.is-up{transform:translateY(0)}
.sc-consent-in{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  padding:18px max(16px,env(safe-area-inset-right,0px)) 18px max(16px,env(safe-area-inset-left,0px))}
.sc-consent-txt{flex:1 1 auto;min-width:0;font-family:var(--sans);font-size:14px;line-height:1.6;
  color:rgba(247,242,232,.86)}
.sc-consent-txt b{color:var(--ivory);font-weight:600}
.sc-consent-txt a{color:var(--sage-light);text-decoration:underline}
.sc-consent-btns{flex:0 0 auto;display:flex;gap:10px;flex-wrap:wrap}
.sc-btn{font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.01em;
  padding:12px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  white-space:nowrap;transition:transform .15s ease,background .15s ease}
.sc-yes{background:var(--sage);color:var(--forest)}
.sc-no{background:transparent;color:var(--ivory);border-color:rgba(247,242,232,.45)}
.sc-btn:hover{transform:translateY(-1px)}
.sc-no:hover{background:rgba(247,242,232,.1)}
.sc-btn:focus-visible{outline:3px solid var(--sage-light);outline-offset:2px}
@media(max-width:720px){
  .sc-consent-in{flex-direction:column;align-items:stretch;gap:14px;padding-block:16px}
  .sc-consent-btns{justify-content:stretch}
  .sc-btn{flex:1 1 0;text-align:center}}
@media(prefers-reduced-motion:reduce){
  .sc-consent{transition:none}.sc-btn{transition:none}.sc-btn:hover{transform:none}}
.sc-consent-fine{flex:1 1 100%;order:3;font-family:var(--sans);font-size:12px;line-height:1.55;
  color:rgba(247,242,232,.55);border-top:1px solid rgba(247,242,232,.14);padding-top:9px}
.ty-wait b.ty-wait-2{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
