
  /* Layout: single column on phones, two columns from 900px. Classic editorial, calm. */
  :root{
    --rose:#F9CBD6;      /* rose quartz */
    --blush:#F2AFBC;     /* blush */
    --wine:#9E182B;      /* red wine */
    --wine-deep:#7A1121;
    --oat:#F2E0D2;       /* oat milk */
    --cream:#FBF4EE;
    --paper:#FFFCF9;
    --ink:#3A0C14;
    --muted:#6E4A50;
    --line:rgba(158,24,43,.18);
    --serif:'Playfair Display', Georgia, 'Times New Roman', serif;
    --sans:'Jost', 'Helvetica Neue', Arial, sans-serif;
    --script:'Pinyon Script', 'Snell Roundhand', cursive;
    --gutter:max(20px, env(safe-area-inset-left, 0px));
    --gutter-r:max(20px, env(safe-area-inset-right, 0px));
    color-scheme:light;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
  body{font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.65;color:var(--ink);background:var(--cream);overflow-x:clip}
  img{max-width:100%;height:auto;display:block}
  a{color:inherit}
  .wrap{max-width:1180px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
  section{padding-block:88px}
  :focus-visible{outline:2px solid var(--wine);outline-offset:3px}

  /* ---------- type ---------- */
  h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;color:var(--wine);text-wrap:balance}
  h2{font-size:clamp(36px,5.4vw,64px)}
  h2 em,h1 em{font-style:italic}
  .eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--wine);margin-bottom:16px}
  .lede{font-size:clamp(19px,2vw,21px);color:var(--ink)}
  p{max-width:62ch}
  .placeholder{display:block;border:1px dashed var(--blush);background:rgba(249,203,214,.25);color:var(--muted);font-size:15px;padding:12px 14px;border-radius:8px}

  /* ---------- buttons ---------- */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 30px;border-radius:999px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid var(--wine);cursor:pointer;transition:background .25s,color .25s,transform .25s}
  .btn-wine{background:var(--wine);color:var(--paper)}
  .btn-wine:hover{background:var(--wine-deep)}
  .btn-ghost{background:transparent;color:var(--wine)}
  .btn-ghost:hover{background:var(--wine);color:var(--paper)}
  .btn-oat{background:var(--oat);color:var(--wine);border-color:var(--oat)}
  .btn-oat:hover{background:var(--paper)}
  .btn-line{background:transparent;color:var(--oat);border-color:var(--oat)}
  .btn-line:hover{background:var(--oat);color:var(--wine)}
  .text-link{color:var(--wine);text-underline-offset:4px}

  /* ---------- header ---------- */
  body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--cream)}
  header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(251,244,238,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;max-width:1320px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
  .logo{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--wine);text-decoration:none;white-space:nowrap}
  .nav ul{display:flex;gap:26px;list-style:none}
  .nav ul a{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
  .nav ul a:hover{border-color:var(--wine)}
  .burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative}
  .burger span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--wine);transition:.3s}
  .burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}

  /* ---------- hero ---------- */
  .hero{padding-block:44px 72px;background:radial-gradient(ellipse at 90% 10%,var(--rose) 0,transparent 55%),var(--cream)}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
  .hero h1{font-size:clamp(40px,6.6vw,84px);letter-spacing:-.01em;line-height:1.04}
  .hero h1 span{display:block;font-style:italic}
  .hero .lede{margin:20px 0 28px}
  .hero-cta{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
  .hero-cta .btn{min-width:240px}
  .store-note{font-size:14px;color:var(--muted)}
  .store-note a{color:var(--wine);text-underline-offset:3px}

  /* gift + email box */
  .gift{background:var(--paper);border-block:1px solid var(--line);padding-block:30px}
  .gift-inner{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px 18px;align-items:center}
  .gift-cover{width:64px}
  .gift h2{font-family:var(--serif);font-size:24px;color:var(--wine);line-height:1.2}
  .gift h2 b{font-family:var(--sans);display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin-bottom:4px}
  .gift p{font-size:15px;color:var(--muted);line-height:1.45;margin-top:4px}
  .gift form{grid-column:1/-1}

  /* the Energy Reset cover, drawn in CSS around the butterfly art */
  .reset-cover{aspect-ratio:2/3;background:var(--oat);border:1px solid #e7cdb9;border-radius:3px 6px 6px 3px;box-shadow:0 14px 30px -14px rgba(58,12,20,.45);display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:12% 8%;color:var(--wine);position:relative;overflow:hidden}
  .reset-cover img{width:62%;mix-blend-mode:multiply}
  .reset-cover .t{font-family:var(--serif);font-size:clamp(7px,1.6vw,26px);letter-spacing:.18em;text-transform:uppercase;line-height:1.25}
  .reset-cover .a{font-size:clamp(4px,.8vw,11px);letter-spacing:.3em;text-transform:uppercase}
  .gift .reset-cover .t{font-size:7px}
  .gift .reset-cover .a{font-size:4.5px}

  .reset-img{display:block;width:100%;height:auto;border-radius:2px 5px 5px 2px;box-shadow:0 14px 30px -14px rgba(58,12,20,.45)}
  .letters > .wrap > .reset-img,.letters-grid > .reset-img{width:min(240px,60vw);justify-self:center;transform:rotate(-3deg)}

  /* forms */
  .signup{display:flex;flex-wrap:wrap;gap:10px}
  .signup input[type=email],.signup input[type=text]{flex:1 1 200px;min-width:0;min-height:52px;font:inherit;font-size:16px;padding:12px 20px;border:1px solid var(--wine);border-radius:999px;background:var(--paper);color:var(--ink)}
  .signup input::placeholder{color:#8b6a6f}
  .signup .btn{flex:1 1 auto}
  .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
  .consent{flex-basis:100%;font-size:13px;color:var(--muted);line-height:1.45}
  .consent a{color:var(--wine)}
  .done{display:none;font-family:var(--serif);font-size:22px;color:var(--wine)}
  form.is-done > *:not(.done){display:none}
  form.is-done .done{display:block}

  .hero-photo{position:relative;max-width:460px;justify-self:center;width:100%}
  .hero-photo img{border-radius:999px 999px 0 0;width:100%;aspect-ratio:840/1050;object-fit:cover;object-position:50% 20%}
  .hero-photo figcaption{position:absolute;left:18px;bottom:18px;background:var(--wine);color:var(--paper);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:9px 16px;border-radius:999px}

  /* ---------- books ---------- */
  .books{background:var(--oat)}
  .books-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px;margin-bottom:44px}
  .region{display:flex;flex-direction:column;gap:10px}
  .region > span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
  .region-pills{display:flex;flex-wrap:wrap;gap:8px}
  .region-pills button{font:inherit;font-size:14px;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--wine);background:transparent;color:var(--wine);cursor:pointer}
  .region-pills button[aria-pressed="true"]{background:var(--wine);color:var(--paper)}
  .book-grid{display:grid;grid-template-columns:1fr;gap:28px}
  .book{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center;background:var(--paper);padding:28px;border-radius:4px}
  .book img{box-shadow:0 26px 40px -22px rgba(58,12,20,.55);border-radius:2px 5px 5px 2px}
  .book .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
  .tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:5px 12px;border-radius:999px;background:var(--rose);color:var(--wine)}
  .tag.new{background:var(--wine);color:var(--paper)}
  .book h3{font-size:clamp(30px,3.4vw,40px)}
  .book .sub{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35;margin:6px 0 16px}
  .book .desc{font-size:16px;line-height:1.6;margin-bottom:22px}
  .book .btn{width:100%}
  .book .store-note{margin-top:8px;text-align:center}
  .books-photo{margin-top:28px;border-radius:4px;overflow:hidden}
  .books-photo img{width:100%;aspect-ratio:1200/760;object-fit:cover;object-position:40% 38%}

  /* ---------- reviews ---------- */
  .reviews{padding-block:72px}
  .review-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px}
  .review{background:var(--paper);border:1px solid var(--line);padding:26px 26px 22px;border-radius:4px}
  .review blockquote{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.55}
  .review figcaption{margin-top:16px;font-size:13px;color:var(--muted)}
  .review figcaption b{display:block;font-family:var(--script);font-weight:400;font-size:30px;color:var(--wine);line-height:1}

  /* ---------- launch video (loads YouTube only on click) ---------- */
  .video{margin-top:56px}
  .video .eyebrow{text-align:left}
  .video h2{font-size:clamp(30px,4vw,46px);margin-bottom:22px}
  .yt{position:relative;display:block;width:100%;aspect-ratio:16/9;background:var(--ink);border-radius:4px;overflow:hidden;color:var(--paper);text-decoration:none}
  .yt img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  .yt:hover img{transform:scale(1.02)}
  .yt .play{position:absolute;right:16px;bottom:14px;width:60px;height:60px;border-radius:50%;background:var(--wine);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.35);transition:background .25s}
  .yt:hover .play{background:var(--wine-deep)}
  .yt .play::before{content:"";margin-left:5px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent var(--paper)}
  .yt .label{position:absolute;left:16px;bottom:28px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:rgba(58,12,20,.6);padding:7px 14px;border-radius:999px}
  .yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

  /* ---------- mothership ---------- */
  .mothership{background:var(--wine);color:var(--oat)}
  .ms-grid{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
  .mothership .eyebrow{color:var(--rose)}
  .mothership h2{color:var(--paper)}
  .mothership .lede{color:var(--oat);margin:18px 0 14px}
  .ms-art{max-width:400px;justify-self:center;width:100%}
  .ms-art img{border-radius:4px;width:100%;aspect-ratio:461/604;object-fit:cover}
  .perks{list-style:none;margin:26px 0;border-top:1px solid rgba(242,224,210,.25)}
  .perks li{padding:13px 0 13px 30px;border-bottom:1px solid rgba(242,224,210,.25);position:relative}
  .perks li::before{content:"✦";position:absolute;left:0;top:13px;color:var(--rose);font-size:14px}
  .perks-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--rose);margin-top:26px}
  .prices{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
  .prices div{flex:1 1 120px;border:1px solid rgba(242,224,210,.35);border-radius:10px;padding:12px 14px}
  .prices b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;color:var(--paper)}
  .prices span{font-size:13px}
  .ms-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
  .ms-cta .from{font-size:15px;color:var(--rose)}
  .ms-free{margin-top:16px}
  .ms-free a{color:var(--paper);text-underline-offset:4px;font-size:16px}
  .ms-note{margin-top:20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}

  /* ---------- letters ---------- */
  .letters{background:var(--rose)}
  .letters-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
  .letters .reset-cover{width:min(240px,60vw);justify-self:center;transform:rotate(-3deg)}
  .letters .lede{margin:16px 0 26px}
  .letters .signup input{background:var(--paper)}

  /* ---------- about ---------- */
  .about-grid{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
  .about-photo img{width:100%;max-width:440px;margin:0 auto;aspect-ratio:720/900;object-fit:cover}
  .about h2{margin-bottom:22px}
  .about p{margin-bottom:16px}
  .about h3{font-size:28px;font-style:italic;margin:28px 0 10px}
  .about .btn{margin-top:12px}

  /* ---------- work with molly ---------- */
  .wwm{background:var(--oat);padding-block:72px}
  .wwm-box{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;border:1px solid var(--line);background:var(--paper);padding:36px 28px;border-radius:4px}
  .wwm h2{font-size:clamp(30px,4vw,46px)}
  .wwm p{margin-top:14px}
  .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 6px}
  .tiers div{text-align:center;border:1px solid var(--line);border-radius:8px;padding:12px 6px}
  .tiers b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--wine)}
  .tiers span{font-size:13px;color:var(--muted)}
  .wwm .small{font-size:13px;color:var(--muted)}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:var(--oat);padding-block:72px calc(32px + env(safe-area-inset-bottom,0px))}
  .f-top{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(242,224,210,.18)}
  .f-logo{font-family:var(--serif);font-style:italic;font-size:44px;color:var(--rose);line-height:1}
  .f-signup h2{font-family:var(--sans);font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--rose);margin-bottom:12px}
  .f-signup .signup input{border-color:var(--oat)}
  .f-signup .btn-oat{flex:0 0 auto}
  .f-signup .consent{color:rgba(242,224,210,.75)}
  .f-signup .consent a{color:var(--rose)}
  .f-signup .done{color:var(--rose)}
  .f-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  .f-cols h3{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--rose);margin-bottom:12px}
  .f-cols ul{list-style:none}
  .f-cols li{margin-bottom:8px;font-size:15px}
  .f-cols a{text-decoration:none}
  .f-cols a:hover{color:var(--rose)}
  .f-bottom{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:24px;font-size:13px;color:rgba(242,224,210,.75)}
  .f-bottom a{text-decoration:none}
  .f-bottom a:hover{color:var(--rose)}
  .f-bottom span{margin-right:auto}

  /* ---------- the butterfly that lifts off the Codex I cover ---------- */
  .bf{position:absolute;left:0;top:0;z-index:40;width:160px;aspect-ratio:458/360;pointer-events:none;perspective:500px;opacity:0;transition:opacity .9s ease;transform-origin:50% 50%;will-change:transform}
  .bf.on{opacity:1}
  .bf i{position:absolute;top:0;width:50%;height:100%;background-size:100% 100%;background-repeat:no-repeat;filter:drop-shadow(0 4px 5px rgba(58,12,20,.22));animation-duration:var(--fd,3.4s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}
  .bf .l{left:0;background-image:url(/images/butterfly-l.webp);transform-origin:100% 50%;animation-name:flapL}
  .bf .r{right:0;background-image:url(/images/butterfly-r.webp);transform-origin:0 50%;animation-name:flapR}
  .bf.fly{--fd:.34s;--fa:68deg}
  .bf.still i{animation:none;filter:none}
  @keyframes flapL{0%,100%{transform:rotateY(0)}50%{transform:rotateY(var(--fa,26deg))}}
  @keyframes flapR{0%,100%{transform:rotateY(0)}50%{transform:rotateY(calc(var(--fa,26deg) * -1))}}

  /* ---------- wider screens ---------- */
  @media (min-width:900px){
    section{padding-block:120px}
    .hero{padding-block:72px 104px}
    .hero-grid{grid-template-columns:1.15fr .85fr;gap:70px}
    .gift{padding-block:36px}
    .gift-inner{grid-template-columns:84px minmax(0,.9fr) minmax(0,1.3fr);gap:28px}
    .gift-cover{width:84px}
    .gift form{grid-column:auto}
    .gift .reset-cover .t{font-size:9px}
    .gift .reset-cover .a{font-size:5.5px}
    .book-grid{grid-template-columns:1fr 1fr}
    .review-grid{grid-template-columns:repeat(3,1fr)}
    .ms-grid{grid-template-columns:.8fr 1.2fr;gap:80px}
    .letters-grid{grid-template-columns:.7fr 1.3fr;gap:70px}
    .letters .reset-cover{width:260px}
    .letters-grid > .reset-img{width:260px}
    .about-grid{grid-template-columns:.9fr 1.1fr;gap:90px}
    .yt .play{right:24px;bottom:22px;width:80px;height:80px}
    .yt .label{left:24px;bottom:44px}
    .wwm-box{grid-template-columns:1.2fr 1fr;padding:52px 56px;gap:56px}
    .f-top{grid-template-columns:1fr 1.3fr 1fr}
    .f-cols{grid-template-columns:1fr 1fr}
  }
  @media (max-width:1180px){
    header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream)}
    .nav ul{padding-top:calc(40px + env(safe-area-inset-top,0px));overflow-y:auto}
    .nav ul{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);flex-direction:column;justify-content:center;gap:22px;padding:40px 32px calc(40px + env(safe-area-inset-bottom,0px)) 32px;padding-right:max(32px, env(safe-area-inset-right,0px));background:var(--oat);transform:translateX(100%);transition:transform .35s ease;box-shadow:-20px 0 60px rgba(58,12,20,.15);visibility:hidden}
    .nav ul.open{transform:none;visibility:visible}
    .nav ul a{font-size:15px}
    .burger{display:block;z-index:60}
    .burger.open span:nth-child(1){top:21px;transform:rotate(45deg)}
    .burger.open span:nth-child(2){opacity:0}
    .burger.open span:nth-child(3){top:21px;transform:rotate(-45deg)}
  }
  @media (max-width:560px){
    section{padding-block:72px}
    .hero{padding-block:28px 56px}
    .hero-cta .btn{width:100%}
    .hero-grid > div:first-child{text-align:center}
    .hero h1{font-size:clamp(44px,12.4vw,54px)}
    .hero .lede{margin-left:auto;margin-right:auto;font-size:20px}
    .hero-cta{align-items:center}
    .hero-photo{max-width:82%}
    .gift .consent{font-size:12px}
    .books-photo img{aspect-ratio:1/1;object-position:38% 50%}
    .book{grid-template-columns:1fr;padding:24px}
    .book img{max-width:220px;margin:0 auto}
    .book h3,.book .sub,.book .tags{text-align:center;justify-content:center}
    .wwm-box{padding:30px 22px}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

  /* ================= inner pages ================= */
  .page-hero{padding-block:52px 72px;background:radial-gradient(ellipse at 88% 0%,var(--rose) 0,transparent 55%),var(--cream)}
  .page-hero h1{font-size:clamp(44px,7.4vw,90px);line-height:1.02;letter-spacing:-.01em}
  .page-hero .lede{margin-top:20px}
  .page-hero .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:30px}
  .split{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
  .split > *{min-width:0}
  .arch-img img{border-radius:999px 999px 0 0;width:100%;max-width:460px;margin:0 auto;object-fit:cover}
  .frame-img img{width:100%;border-radius:4px;object-fit:cover}
  .prose p{margin-bottom:18px}
  .prose p:last-child{margin-bottom:0}
  .prose h2{margin-bottom:24px}
  .band-oat{background:var(--oat)}
  .band-rose{background:var(--rose)}
  .band-paper{background:var(--paper);border-block:1px solid var(--line)}
  .band-wine{background:var(--wine);color:var(--oat)}
  .band-wine h2,.band-wine h3{color:var(--paper)}
  .band-wine .eyebrow{color:var(--rose)}
  .band-ink{background:var(--ink);color:var(--oat)}
  .band-ink h2,.band-ink h3{color:var(--paper)}
  .band-ink .eyebrow{color:var(--blush)}
  .bigquote{font-family:var(--serif);font-style:italic;font-size:clamp(32px,5vw,60px);line-height:1.15;max-width:22ch;text-wrap:balance}
  .bigquote cite{display:block;font-style:normal;font-family:var(--sans);font-size:13px;letter-spacing:.22em;text-transform:uppercase;margin-top:22px;opacity:.85}
  .grid3{display:grid;grid-template-columns:1fr;gap:20px}
  .grid2{display:grid;grid-template-columns:1fr;gap:20px}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:30px 28px}
  .card h3{font-size:26px;margin-bottom:12px}
  .card p{font-size:16.5px}
  .band-wine .card{background:rgba(255,252,249,.06);border-color:rgba(242,224,210,.25)}
  .band-wine .card h3{color:var(--paper)}
  .ticks{list-style:none;border-top:1px solid var(--line);margin:22px 0}
  .ticks li{padding:14px 0 14px 32px;border-bottom:1px solid var(--line);position:relative}
  .ticks li::before{content:"✦";position:absolute;left:2px;top:14px;color:var(--wine);font-size:14px}
  .ticks li b{font-weight:500;color:var(--wine)}
  .band-wine .ticks{border-color:rgba(242,224,210,.25)} .band-wine .ticks li{border-color:rgba(242,224,210,.25)} .band-wine .ticks li::before{color:var(--rose)}
  .steps{display:grid;grid-template-columns:1fr;gap:20px;counter-reset:step}
  .step{border-top:1px solid var(--line);padding-top:20px}
  .step .n{font-family:var(--serif);font-style:italic;font-size:44px;color:var(--wine);line-height:1}
  .step h3{font-size:26px;margin:8px 0 8px}
  .price-cards{display:grid;grid-template-columns:1fr;gap:16px}
  .price-card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:30px 26px;display:flex;flex-direction:column;gap:6px;text-align:center}
  .price-card .term{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--muted)}
  .price-card .amt{font-family:var(--serif);font-size:46px;color:var(--wine);line-height:1.1}
  .price-card .per{font-size:14px;color:var(--muted);margin-bottom:16px}
  .price-card .btn{margin-top:auto}
  .price-card.feature{border-color:var(--wine);box-shadow:0 18px 40px -26px rgba(122,17,33,.55)}
  .note{font-size:14px;color:var(--muted);margin-top:16px}
  .reflection{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:30px 28px}
  .reflection blockquote{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.6}
  .reflection figcaption{margin-top:16px;font-family:var(--script);font-size:32px;color:var(--wine);line-height:1}
  .center{text-align:center}
  .center p{margin-left:auto;margin-right:auto}
  .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
  .center .cta-row{justify-content:center}

  /* book page */
  .region-bar{display:flex;flex-direction:column;gap:12px;margin-top:34px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:14px;max-width:640px}
  .region-bar > span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
  .covers{display:flex;justify-content:center;align-items:flex-end;gap:6%;padding-inline:4%}
  .covers a{display:block;width:44%;max-width:240px;transition:transform .35s}
  .covers a:hover{transform:translateY(-6px)}
  .covers img{width:100%;box-shadow:0 30px 40px -24px rgba(58,12,20,.6);border-radius:2px 5px 5px 2px}
  .covers a:first-child{transform:rotate(-3deg)} .covers a:last-child{transform:rotate(3deg)}
  .book-detail .cover img{width:100%;max-width:330px;margin:0 auto;box-shadow:0 30px 44px -24px rgba(58,12,20,.55);border-radius:2px 5px 5px 2px}
  .book-detail h2{font-size:clamp(44px,6vw,72px)}
  .book-detail .sub{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35;margin:8px 0 6px;color:var(--ink)}
  .book-detail .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
  .facts{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--muted);margin:18px 0 26px}
  .facts span::before{content:"✦ ";color:var(--blush)}
  .buy{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
  .pullquote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,32px);line-height:1.3;color:var(--wine);border-left:2px solid var(--blush);padding-left:22px;margin:26px 0}
  .pullquote cite{display:block;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:10px}
  .photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .photo-pair img{width:100%;height:100%;object-fit:cover;border-radius:4px;aspect-ratio:4/5}

  /* media page */
  .episodes{list-style:none;border-top:1px solid var(--line)}
  .episodes li{display:grid;grid-template-columns:1fr auto;gap:14px 22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
  .episodes .t{font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--ink)}
  .episodes .src{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px}
  .episodes .btn{min-height:44px;padding:10px 20px;font-size:12px}
  .episodes .placeholder{font-size:13px;padding:8px 12px}

  /* contact */
  .contact-form{display:grid;gap:12px}
  .contact-form label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--wine)}
  .contact-form input,.contact-form textarea{width:100%;font:inherit;font-size:16px;padding:14px 18px;border:1px solid var(--wine);border-radius:14px;background:var(--paper);color:var(--ink)}
  .contact-form textarea{min-height:170px;resize:vertical}
  .contact-form .btn{justify-self:start}
  .contact-form.is-done > *:not(.done){display:none}
  .contact-form.is-done .done{display:block}
  .email-line{font-family:var(--serif);font-size:22px;color:var(--wine);word-break:break-all}

  /* directory */
  .filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
  .filters button{font:inherit;font-size:14px;min-height:42px;padding:8px 18px;border-radius:999px;border:1px solid var(--wine);background:transparent;color:var(--wine);cursor:pointer}
  .filters button[aria-pressed="true"]{background:var(--wine);color:var(--paper)}
  .partners{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
  .partner{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:22px}
  .partner > img{width:96px;height:96px;object-fit:cover;object-position:50% 25%;border-radius:50%;background:var(--oat)}
  .partner > img.logo{object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--line)}
  .partner .p-cat{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--muted)}
  .partner h3{font-size:24px;margin:4px 0 2px}
  .partner .p-role{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.35;color:var(--wine);margin-bottom:10px}
  .partner p{font-size:16px;line-height:1.6}
  .partner details{margin-top:8px}
  .partner summary{cursor:pointer;font-size:14px;color:var(--wine);text-decoration:underline;text-underline-offset:3px;list-style:none}
  .partner summary::-webkit-details-marker{display:none}
  .partner details[open] summary{margin-bottom:8px}
  .partner details p{margin-bottom:10px}
  .p-links{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0 16px;font-size:14px}
  .p-links a{color:var(--wine);text-underline-offset:3px;word-break:break-word}
  .partner .btn{min-height:44px;padding:10px 22px;font-size:12px}
  .partner[hidden]{display:none}

  /* legal */
  .legal h2{font-size:28px;margin:34px 0 12px}
  .legal ul{margin:0 0 18px 1.2em}
  .legal li{margin-bottom:8px}
  .legal b{font-weight:500;color:var(--ink)}

  /* strategic advisory: secular, quieter, darker */
  body.sa{background:#F7F2EE}
  body.sa header{background:rgba(247,242,238,.95)}
  .sa-hero{background:var(--ink);color:var(--oat);padding-block:64px 80px}
  .sa-hero h1{color:var(--paper);font-size:clamp(40px,6.4vw,78px);line-height:1.04}
  .sa-hero h1 em{color:var(--blush)}
  .sa-hero .eyebrow{color:var(--blush)}
  .sa-hero p{color:var(--oat)}
  .sa-hero .conf{margin-top:20px;padding-left:16px;border-left:2px solid var(--blush);font-size:16px}
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;max-width:560px}
  .stats div{border:1px solid rgba(242,224,210,.25);border-radius:4px;padding:16px 18px}
  .stats b{display:block;font-family:var(--serif);font-weight:400;font-size:40px;color:var(--paper);line-height:1.05}
  .stats span{font-size:14px}
  .tier{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:34px 30px}
  .tier h3{font-size:30px}
  .tier .amt{font-family:var(--serif);font-size:24px;color:var(--wine);margin:10px 0 4px}
  .tier .terms{font-size:14px;color:var(--muted)}
  .tier ul{list-style:none;margin-top:22px;border-top:1px solid var(--line)}
  .tier li{padding:14px 0;border-bottom:1px solid var(--line);font-size:16.5px}
  .tier li b{font-weight:500;color:var(--ink)}
  .sa-cta{background:var(--ink);color:var(--oat);text-align:center}
  .sa-cta h2{color:var(--paper)}
  .sa-cta .price{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--blush);margin-bottom:14px}
  .sa-footer{background:var(--ink);color:rgba(242,224,210,.75);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));font-size:13px;border-top:1px solid rgba(242,224,210,.15)}
  .sa-footer .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between}
  .sa-footer a{text-decoration:none}
  .sa-head-cta{min-height:44px;padding:10px 20px;font-size:12px}

  @media (min-width:900px){
    .page-hero{padding-block:84px 104px}
    .split{grid-template-columns:1.1fr .9fr;gap:80px}
    .split.even{grid-template-columns:1fr 1fr}
    .split.rev > :first-child{order:2}
    .grid3{grid-template-columns:repeat(3,1fr);gap:24px}
    .grid2{grid-template-columns:1fr 1fr;gap:24px}
    .steps{grid-template-columns:1fr 1fr;gap:40px}
    .price-cards{grid-template-columns:repeat(3,1fr);gap:20px}
    .partners{grid-template-columns:1fr 1fr;gap:22px}
    .partner{grid-template-columns:120px minmax(0,1fr);padding:28px}
    .partner > img{width:120px;height:120px}
    .region-bar{flex-direction:row;align-items:center;gap:20px}
    .sa-hero{padding-block:96px 112px}
  }
  @media (max-width:560px){
    .episodes li{grid-template-columns:1fr}
    .episodes .btn{justify-self:start}
    .page-hero .cta-row .btn{width:100%}
    .covers{gap:4%}
    .book-detail .cover img{max-width:230px}
    .sa-head-cta{padding:8px 16px;letter-spacing:.14em}
  }
