:root{
    --ink:#151513;          /* Carbon: primary dark background */
    --ink-2:#1d1d1b;        /* raised carbon */
    --ink-3:#222321;        /* Graphite: secondary dark / hairline card */
    --cream:#eeeae1;        /* Warm Ivory: text on dark + warm light band */
    --paper:#f1eee6;        /* Warm Bone: primary light background */
    --stone:#d8d4ca;        /* Stone: secondary neutral */
    --sage:#a6b199;         /* muted sage CTA */
    --sage-ink:#20241a;     /* text on sage */
    --blue:#33a8e0;         /* Skip Blue: brand signature, used sparingly */
    --line-dark:rgba(238,234,225,.16);
    --line-cream:rgba(23,23,21,.16);
    --muted-dark:rgba(238,234,225,.62);
    --muted-cream:rgba(23,23,21,.60);
    --serif:"Literata",Georgia,"Times New Roman",serif;
    --sans:"Inter","Helvetica Neue",Arial,sans-serif;
    --wrap:1240px;
    --gutter:clamp(20px,5vw,64px);
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--ink);
    color:var(--cream);
    font-family:var(--serif);
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  img,video,svg{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}

  /* ---------- shared type ---------- */
  .eyebrow{
    font-family:var(--sans);
    font-weight:600;
    font-size:11px;
    letter-spacing:.24em;
    text-transform:uppercase;
    margin:0 0 22px;
  }
  .display{
    font-family:var(--serif);
    font-weight:300;
    line-height:1.02;
    letter-spacing:-.01em;
    margin:0;
    /* Q18: no one-word last lines. Balance evens the lines out wherever an
       explicit <br> is not already doing it; pretty catches body copy. */
    text-wrap:balance;
  }
  .sub,.body,.lead,.kick,.lg p,.lg li{text-wrap:pretty}
  h1.display{font-size:clamp(36px,4.6vw,72px)}
  h2.display{font-size:clamp(30px,3.8vw,54px)}
  .lead{max-width:34ch}

  .wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
  .band{padding-block:clamp(72px,10vw,140px);position:relative}
  .band--dark{background:var(--ink);color:var(--cream)}
  .band--cream{background:var(--cream);color:var(--ink)}
  .band--cream .eyebrow{color:var(--muted-cream)}
  .band--dark .eyebrow{color:var(--muted-dark)}

  /* ---------- buttons ---------- */
  .btn{
    font-family:var(--sans);
    font-weight:600;
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:.9em;
    padding:16px 26px;
    background:var(--sage);
    color:var(--sage-ink);
    border:0;
    cursor:pointer;
    transition:background .35s ease,transform .35s ease,letter-spacing .35s ease;
  }
  .btn:hover{background:#b7c1ac;letter-spacing:.19em}
  .btn .arw{transition:transform .35s ease}
  .btn:hover .arw{transform:translateX(4px)}
  .btn--ghost{
    background:transparent;color:inherit;
    border:1px solid currentColor;
  }
  .btn--ghost:hover{background:rgba(166,177,153,.12);letter-spacing:.19em}

  /* ---------- cinematic vignette (video stand-in) ---------- */
  /* Real footage drops into the <video> tag; the layered CSS below
     gives a moving film vignette until then. */
  .vignette{position:relative;overflow:hidden;background:#0a0a08;isolation:isolate}
  .vignette video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .vignette__scene{
    position:absolute;inset:-8%;z-index:1;
    background:
      radial-gradient(120% 90% at 78% 18%, rgba(120,150,175,.42), transparent 46%),
      radial-gradient(90% 80% at 22% 92%, rgba(166,177,153,.20), transparent 55%),
      radial-gradient(60% 70% at 60% 55%, rgba(51,168,224,.16), transparent 60%),
      linear-gradient(200deg,#20242a 0%,#121215 46%,#0a0a08 100%);
    animation:drift 26s ease-in-out infinite alternate;
  }
  .vignette__scene::after{ /* soft spotlight bloom that breathes */
    content:"";position:absolute;inset:0;
    background:radial-gradient(38% 46% at 70% 34%,rgba(255,248,235,.20),transparent 70%);
    mix-blend-mode:screen;
    animation:bloom 9s ease-in-out infinite alternate;
  }
  .vignette__grain{
    position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.5;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
    background-size:180px 180px;
    animation:grain 1.1s steps(4) infinite;
    mix-blend-mode:overlay;
  }
  .vignette__mask{ /* letterbox darkening at edges */
    position:absolute;inset:0;z-index:2;pointer-events:none;
    box-shadow:inset 0 0 130px 24px rgba(0,0,0,.72);
    background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 22%,transparent 74%,rgba(0,0,0,.42));
  }
  .vignette__label{
    position:absolute;z-index:4;left:26px;bottom:22px;
    font-family:var(--sans);font-weight:600;font-size:10.5px;letter-spacing:.22em;
    text-transform:uppercase;color:rgba(255,255,255,.82);
  }
  @keyframes drift{
    from{transform:translate3d(-1.5%,-1%,0) scale(1.06)}
    to{transform:translate3d(1.5%,1.4%,0) scale(1.12)}
  }
  @keyframes bloom{from{opacity:.35}to{opacity:.9}}
  @keyframes grain{
    0%{transform:translate(0,0)}25%{transform:translate(-6%,4%)}
    50%{transform:translate(4%,-5%)}75%{transform:translate(-3%,6%)}100%{transform:translate(5%,-2%)}
  }

  /* play control */
  .play{
    position:absolute;z-index:5;inset:0;margin:auto;
    width:76px;height:76px;border-radius:50%;
    display:grid;place-items:center;cursor:pointer;
    background:rgba(20,20,18,.34);border:1px solid rgba(255,255,255,.55);
    backdrop-filter:blur(2px);
    transition:transform .4s ease,background .4s ease;
  }
  .play:hover{transform:scale(1.08);background:rgba(20,20,18,.5)}
  .play::before{
    content:"";width:0;height:0;margin-left:5px;
    border-left:17px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;
  }
  .play::after{ /* pulsing ring */
    content:"";position:absolute;inset:-1px;border-radius:50%;
    border:1px solid rgba(255,255,255,.5);
    animation:pulse 2.6s ease-out infinite;
  }
  @keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}

  /* ======================================================= HEADER */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:60;
    padding:18px 0;
    transition:background .5s ease,padding .5s ease,border-color .5s ease;
    border-bottom:1px solid transparent;
  }
  header.nav.solid{background:rgba(15,15,12,.9);backdrop-filter:blur(10px);padding:12px 0;border-color:var(--line-dark)}
  .nav__row{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .nav__links{display:flex;gap:32px;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
  .nav__links a{color:var(--muted-dark);transition:color .3s}
  .nav__links a:hover{color:var(--cream)}
  .nav__cta{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:11px 20px;border:1px solid var(--line-dark);background:rgba(233,229,218,.06);transition:background .3s}
  .nav__cta:hover{background:rgba(233,229,218,.14)}
  .nav__toggle{display:none;background:none;border:0;color:var(--cream);font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}

  /* wordmark lockup */
  .mark{display:flex;align-items:flex-end;gap:16px;font-family:var(--sans);line-height:.86}
  .mark__stack{font-weight:900;font-size:22px;letter-spacing:-.02em;text-transform:lowercase}
  .mark__stack .the{font-weight:700;font-size:10px;letter-spacing:.02em;opacity:.85;display:block;margin:2px 0}
  .mark__stack .bio{color:var(--blue);display:block}
  .mark__side{padding-bottom:2px;border-left:1px solid var(--line-dark);padding-left:16px}
  .mark__side .studio{font-weight:600;font-size:15px;letter-spacing:.28em;text-transform:uppercase}
  .mark__side .by{font-weight:500;font-size:9px;letter-spacing:.24em;text-transform:uppercase;opacity:.7;margin-top:4px}
  .band--cream .mark__side{border-color:var(--line-cream)}

  /* ======================================================= HERO */
  .hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-top:clamp(112px,15vh,150px);padding-bottom:clamp(40px,6vw,72px);overflow:hidden}
  .hero__media{position:absolute;inset:0;z-index:0}
  .hero__media .vignette{position:absolute;inset:0}
  .hero__media::after{ /* blend right-side image into left dark */
    content:"";position:absolute;inset:0;z-index:6;
    background:linear-gradient(96deg,var(--ink) 22%,rgba(19,19,16,.72) 44%,rgba(19,19,16,.15) 70%,rgba(19,19,16,.55) 100%);
  }
  .hero__inner{position:relative;z-index:10;width:100%}
  .hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
  .hero h1{max-width:17ch;margin:14px 0 26px}
  .hero .sub{max-width:32ch;color:var(--muted-dark);font-size:19px;margin:0 0 34px}
  .hero .promise{font-family:var(--serif);font-size:21px;line-height:1.35;color:var(--cream);max-width:26ch;margin:0 0 34px}
  .hero__aside{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-align:right;line-height:2.1;color:rgba(233,229,218,.7);white-space:nowrap}
  .hero__aside b{color:var(--cream);font-weight:600}
  .hero__tags{margin-top:clamp(30px,5vw,54px);display:flex;flex-wrap:wrap;gap:10px 30px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(233,229,218,.66);border-top:1px solid var(--line-dark);padding-top:22px}
  .hero__eyebrow{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-dark)}
  .hero__corner{position:absolute;z-index:10;top:calc(clamp(20px,5vw,64px) + 78px);right:var(--gutter);}

  /* orchestrated load reveal: one moment only */
  .rise{opacity:0;transform:translateY(22px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
  .d1{animation-delay:.15s}.d2{animation-delay:.32s}.d3{animation-delay:.49s}.d4{animation-delay:.66s}.d5{animation-delay:.83s}
  @keyframes rise{to{opacity:1;transform:none}}

  /* ======================================================= CAPTURE (cream) */
  .capture__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:center}
  .capture h2{margin-bottom:18px}
  .capture h2 .r2{color:var(--muted-cream)}
  .capture .body{max-width:40ch;color:var(--muted-cream);font-size:18px}
  .capture .kick{font-size:20px;color:var(--ink);margin-top:22px}
  .capture__aside{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-cream);line-height:2.2;margin-top:26px}
  .capture__media{aspect-ratio:16/11}
  .capture .vignette__label{color:rgba(255,255,255,.8)}

  /* ======================================================= OBJECTIVE SELECTOR (dark) */
  .obj{text-align:center;padding-bottom:clamp(44px,5vw,64px)}
  .obj h2{margin-bottom:14px}
  .obj .intro{color:var(--muted-dark);max-width:52ch;margin:0 auto 46px;font-size:18px}
  .obj__tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);max-width:1080px;margin:0 auto}
  .obj__tab{
    background:var(--ink);border:0;cursor:pointer;color:var(--muted-dark);
    padding:26px 12px;display:flex;flex-direction:column;align-items:center;gap:14px;
    font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.04em;line-height:1.3;
    transition:background .35s ease,color .35s ease;
  }
  .obj__tab svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.4;opacity:.8;transition:opacity .35s}
  .obj__tab:hover{color:var(--cream);background:var(--ink-2)}
  .obj__tab[aria-selected="true"]{background:var(--sage);color:var(--sage-ink)}
  .obj__tab[aria-selected="true"] svg{opacity:1}
  .obj__panel{max-width:760px;margin:36px auto 0;min-height:84px}
  .obj__panel p{font-family:var(--serif);font-weight:300;font-size:clamp(21px,2.6vw,30px);line-height:1.35;color:var(--cream);margin:0;transition:opacity .4s ease}
  .obj__panel .who{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:16px;display:block}

  /* ======================================================= MORE THAN A STUDIO (cream) */
  .studio__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,6vw,80px);align-items:center}
  .studio__media{aspect-ratio:4/5;position:relative}
  .studio__media .plate{position:absolute;z-index:4;left:28px;top:28px;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#fff;line-height:2.3}
  .studio h2{margin:8px 0 34px}
  .feat{display:flex;gap:22px;padding:22px 0;border-top:1px solid var(--line-cream)}
  .feat:last-child{border-bottom:1px solid var(--line-cream)}
  .feat__ic{flex:0 0 auto;width:30px;height:30px;stroke:var(--ink);fill:none;stroke-width:1.3;margin-top:3px}
  .feat h3{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px}
  .feat p{margin:0;color:var(--muted-cream);font-size:16.5px;max-width:44ch}

  /* ======================================================= PROCESS (dark) */
  .proc h2{margin-bottom:8px;max-width:16ch}
  .proc__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(44px,6vw,72px)}
  .proc__head .tail{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-dark);text-align:right;line-height:2}
  .proc__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-dark);border-block:1px solid var(--line-dark)}
  .step{background:var(--ink);padding:30px 22px 34px;position:relative}
  .step__n{font-family:var(--serif);font-weight:300;font-size:38px;line-height:1;color:var(--cream)}
  .step__dot{position:absolute;top:-4px;left:22px;width:7px;height:7px;border-radius:50%;background:var(--sage)}
  .step h3{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:20px 0 12px}
  .step p{margin:0;color:var(--muted-dark);font-size:15px;line-height:1.55}

  /* ======================================================= ORIGINALS / PODCAST (dark, media) */
  .orig{position:relative;overflow:hidden;color:var(--cream);padding-block:clamp(90px,12vw,170px)}
  .orig__bg{position:absolute;inset:0;z-index:0}
  .orig__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 8%,rgba(19,19,16,.62) 46%,rgba(19,19,16,.28) 100%)}
  .orig__inner{position:relative;z-index:5;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
  .orig h2{margin:10px 0 26px;max-width:13ch}
  .orig .body{color:var(--muted-dark);max-width:44ch;font-size:17px;margin-bottom:30px}
  .orig .mark2{font-family:var(--sans);font-weight:900;font-size:44px;line-height:.82;letter-spacing:-.02em;text-transform:lowercase;margin:0 0 26px}
  .orig .mark2 .bio{color:var(--blue)}
  .orig .disc{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.04em;color:rgba(233,229,218,.5);margin-top:22px;max-width:62ch;line-height:1.6;text-wrap:pretty}
  .orig__aside{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-align:right;color:rgba(233,229,218,.7);line-height:2.1}

  /* ======================================================= INVESTMENT (cream) */
  .inv__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(30px,5vw,60px);align-items:start}
  .inv h2{margin:10px 0 20px}
  /* the Investment column is a third of the grid: 54px forces single-word lines */
  .inv h2.display{font-size:clamp(26px,2.8vw,40px)}
  /* the podcast headline reads as two lines, per the marked-up review */
  .orig h2.display{max-width:21ch}
  .inv .body{color:var(--muted-cream);max-width:34ch;font-size:17px}
  .inc h3,.price h3{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-cream);margin:0 0 22px}
  .inc ul{list-style:none;margin:0;padding:0;columns:1}
  .inc li{display:flex;gap:12px;padding:9px 0;font-size:15.5px;border-bottom:1px solid var(--line-cream)}
  .inc li:last-child{border:0}
  .inc li svg{flex:0 0 auto;width:15px;height:15px;stroke:var(--sage);stroke-width:2.4;fill:none;margin-top:5px}
  .price .num{font-family:var(--serif);font-weight:300;font-size:clamp(52px,7vw,84px);line-height:1;margin:0 0 16px}
.price .terms{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,32px);line-height:1.25;margin:0 0 16px}
  .price .body{margin-bottom:26px}

  /* ======================================================= CLOSER (dark media) */
  .closer{position:relative;overflow:hidden;padding-block:clamp(80px,11vw,150px)}
  .closer__bg{position:absolute;inset:0;z-index:0}
  .closer__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 30%,rgba(19,19,16,.55) 100%)}
  .closer__inner{position:relative;z-index:5;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
  .closer h2{margin:0 0 30px;max-width:16ch}
  .closer h2 em{font-style:italic;font-weight:300;color:var(--cream)}
  .closer__mark{justify-self:center}
  .closer__mark .mark__logo{height:104px}
  .closer__mark .mark__side .studio{font-size:19px}
  @media(max-width:860px){.closer__mark .mark__logo{height:72px}}

  /* ======================================================= FOOTER */
  footer.foot{background:var(--ink);border-top:1px solid var(--line-dark);padding-block:34px}
  .foot__row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  .foot__by{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-dark)}
  .foot__links{display:flex;gap:30px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-dark)}
  .foot__links a:hover{color:var(--cream)}

  /* ======================================================= LIGHTBOX */
  .lb{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:24px;background:rgba(8,8,6,.9);backdrop-filter:blur(6px)}
  .lb.open{display:grid;animation:fade .35s ease}
  @keyframes fade{from{opacity:0}to{opacity:1}}
  .lb__frame{position:relative;width:min(1040px,94vw);aspect-ratio:16/9}
  .lb__frame .vignette{position:absolute;inset:0}
  .lb__close{position:absolute;top:-42px;right:0;background:none;border:0;color:#fff;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;opacity:.8}
  .lb__close:hover{opacity:1}
  .lb__note{position:absolute;left:0;right:0;bottom:-40px;text-align:center;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
  .lb__note a{color:var(--sage);margin-left:12px}
  .lb__note a:hover{color:#c2cbb7}
  .lb__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:7;background:#000}

  /* ======================================================= RESPONSIVE */
  @media(max-width:1080px){
    .obj__tabs{grid-template-columns:repeat(4,1fr)}
    .proc__grid{grid-template-columns:repeat(2,1fr)}
    .inv__grid{grid-template-columns:1fr 1fr}
    .price{grid-column:1/-1}
  }
  @media(max-width:860px){
    .nav__links,.nav__cta{display:none}
    .nav__toggle{display:block}
    .hero__grid{grid-template-columns:1fr}
    .hero__aside,.hero__corner{display:none}
    .capture__grid,.studio__grid,.orig__inner,.closer__inner{grid-template-columns:1fr}
    .capture__aside{display:none}
    .orig__aside{text-align:left;margin-top:20px}
    .closer__mark{justify-self:start}
    .studio__media{aspect-ratio:16/10;order:-1}
  }
  @media(max-width:560px){
    .obj__tabs{grid-template-columns:repeat(2,1fr)}
    /* .proc__head is a flex row that never wraps, so on a phone the headline is
       squeezed in beside the tail text and breaks one word per line. */
    .proc__head{flex-direction:column;align-items:flex-start;gap:18px}
    .proc__head .tail{text-align:left}
    .obj__tabs .obj__tab:last-child{grid-column:1 / -1}   /* 7 tabs, no orphan cell */
    .proc__grid{grid-template-columns:1fr}
    .inv__grid{grid-template-columns:1fr}
    .hero .sub{font-size:17px}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
    .rise{opacity:1;transform:none}
  }

/* =======================================================================
   PRODUCTION ADDITIONS (Skip the Bio Studio): everything above is the
   approved prototype design system, unchanged. Below: real podcast cover,
   request modal, and visible keyboard focus.
   ======================================================================= */

/* visible keyboard focus (a11y): prototype had none */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.band--cream a:focus-visible,.band--cream button:focus-visible{outline-color:#5f6b4f}

/* originals: real podcast cover replaces the plain word-aside */
.orig__right{display:flex;flex-direction:column;align-items:flex-end}
.orig__cover{width:min(100%,440px);aspect-ratio:5/6;border-radius:6px;overflow:hidden;margin:0;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(233,229,218,.16)}
.orig__cover img{width:100%;height:100%;object-fit:cover}
.orig__cap{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(233,229,218,.7);margin:16px 0 0;width:min(100%,440px);text-align:center}
.orig__bio{font-family:var(--serif);font-size:14.5px;line-height:1.62;color:rgba(233,229,218,.74);text-wrap:balance;
  margin:12px 0 0;width:min(100%,440px);text-align:center}
@media(max-width:860px){.orig__right{align-items:flex-start;margin-top:14px}.orig__cap{text-align:left}.orig__bio{text-align:left}}

/* request modal (cream sheet, matches the Investment band) */
.modal{position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:24px;
  background:rgba(8,8,6,.78);backdrop-filter:blur(6px)}
.modal.open{display:grid;animation:fade .3s ease}
.modal__sheet{background:var(--paper);color:var(--ink);width:min(560px,96vw);max-height:92vh;
  overflow:auto;padding:clamp(26px,4vw,44px);position:relative}
.modal__close{position:absolute;top:16px;right:18px;background:none;border:0;color:var(--ink);
  font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;opacity:.7}
.modal__close:hover{opacity:1}
.modal .eyebrow{color:var(--muted-cream)}
.modal h2{margin:0}
.modal__sub{color:var(--muted-cream);margin:12px 0 26px;font-size:16px;max-width:44ch}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted-cream);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid var(--line-cream);
  color:var(--ink);font-family:var(--serif);font-size:16px;padding:13px 14px}
.field textarea{min-height:96px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.row2{grid-template-columns:1fr}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.modal .btn{width:100%;justify-content:center;margin-top:6px}
.modal__status{font-family:var(--sans);font-size:13px;letter-spacing:.02em;margin-top:14px;min-height:18px}
.modal__status.err{color:#a3341f}
.modal__status.ok{color:#3f5a2e}
.modal__done{text-align:center;padding:14px 0}
.modal__done .mk{width:54px;height:54px;border-radius:50%;background:var(--sage);color:var(--sage-ink);
  display:grid;place-items:center;margin:0 auto 18px;font-size:26px}
.modal__done h3{font-family:var(--serif);font-weight:300;font-size:30px;margin:0 0 10px}
.modal__done p{color:var(--muted-cream);margin:0 auto;max-width:36ch}


/* hero / section CTA pairs (brief adds dual CTAs in several places) */
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
/* "Starting at" label above the price */
.price .starting{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted-cream);margin:0 0 6px}

/* official logo (replaces the text wordmark) */
.mark__logo{height:50px;width:auto;display:block}
header.nav.solid .mark__logo{height:44px;transition:height .5s ease}
.orig__logo{height:clamp(84px,10vw,120px);width:auto;display:block;margin:0 0 16px}
/* show art in the podcast section, ringed like the portrait opposite it so a
   square on a near-black artboard reads as a deliberate cover, not a gap */
/* featured episode (Q9); the player slots in when a video ID exists */
.ep{margin:22px 0 0;padding:24px 26px;border:1px solid var(--line-dark);border-radius:10px;
  background:rgba(238,234,225,.03);max-width:56ch}
.ep__k{font-family:var(--sans);font-weight:600;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--blue);margin:0 0 12px}
.ep__h{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.3vw,30px);line-height:1.15;
  letter-spacing:-.01em;margin:0 0 12px;text-wrap:balance}
.ep__g{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cream);margin:0 0 14px}
.ep__g span{display:block;font-weight:400;letter-spacing:.12em;color:var(--muted-dark);margin-top:5px}
.ep__d{font-size:15.5px;line-height:1.62;color:var(--muted-dark);margin:0 0 18px;text-wrap:pretty}
.ep__l{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:0;
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ep__l a{color:var(--cream);border-bottom:1px solid rgba(238,234,225,.3);padding-bottom:2px}
.ep__l a:hover{border-color:var(--cream)}
.ep__soon{color:var(--muted-dark);font-weight:400;letter-spacing:.12em}
.foot__mail{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-dark)}
.foot__mail:hover{color:var(--cream)}
.orig__art{width:min(100%,232px);height:auto;aspect-ratio:1;border-radius:8px;display:block;margin:4px auto 24px;
  box-shadow:0 26px 60px -26px rgba(0,0,0,.85),0 0 0 1px rgba(233,229,218,.16)}


/* ======================================================= LEGAL + CONTACT PAGES
   Privacy, Terms and Contact. Long-form reading on the warm light band, with
   the measure kept short enough to read comfortably. */
body.legal{background:var(--paper)}
.lg{padding-block:clamp(96px,11vw,150px)}
.lg__wrap{max-width:760px}
.lg h1.display{font-size:clamp(32px,4.2vw,56px);margin-bottom:18px}
.lg__sub,.lg__lead{font-size:19px;line-height:1.55;color:var(--muted-cream);margin:0 0 10px;max-width:60ch}
.lg__eff{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted-cream);margin:22px 0 40px;padding-bottom:22px;border-bottom:1px solid var(--line-cream)}
/* Q18 again: the legal headings were left out of the balance rule, so four of
   them dropped a single word onto a second line at phone width. */
.lg h2,.lg h3{text-wrap:balance}
.lg h2{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;margin:44px 0 14px}
.lg h3{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-cream);margin:30px 0 10px}
.lg p{font-size:16.5px;line-height:1.68;margin:0 0 16px;max-width:70ch}
.lg ul{margin:0 0 18px;padding:0;list-style:none;max-width:70ch}
.lg ul li{position:relative;padding:0 0 10px 22px;font-size:16.5px;line-height:1.62}
.lg ul li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.lg a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lg a:hover{color:var(--ink)}

/* contact form */
.cform{margin:34px 0 48px}
.cform__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:620px){.cform__grid{grid-template-columns:1fr}}
.fld{margin-bottom:18px}
.fld label{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-cream);margin-bottom:8px}
.fld label .opt{font-weight:400;letter-spacing:.08em;opacity:.7}
.fld input,.fld select,.fld textarea{width:100%;background:transparent;border:1px solid var(--line-cream);
  border-radius:2px;color:var(--ink);font-family:var(--serif);font-size:16px;padding:13px 14px;transition:border-color .2s}
.fld textarea{resize:vertical;line-height:1.55;font-size:16px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--ink)}
.optin{display:flex;gap:12px;align-items:flex-start;margin:6px 0 24px;cursor:pointer;max-width:62ch}
.optin input{width:17px;height:17px;margin-top:3px;accent-color:var(--sage);flex:0 0 auto}
.optin span{font-size:15px;line-height:1.5;color:var(--muted-cream)}
.cform__consent{font-size:13.5px;line-height:1.6;color:var(--muted-cream);margin:18px 0 0;max-width:64ch}
.cform__status{font-family:var(--sans);font-size:13px;margin-top:14px;min-height:18px;color:var(--muted-cream)}
.cform__status.err{color:#8c3a2f}
.cform__done{padding:26px 0}
.cform__done .mk{font-size:34px;color:var(--sage)}
.cform__done h3{font-family:var(--serif);font-weight:400;font-size:28px;margin:8px 0 8px}
.cform__done p{font-size:16.5px;color:var(--muted-cream);max-width:48ch}

/* ---- Studio section: "go deeper" cards and the content library grid ---- */
.nxt{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
@media(max-width:760px){.nxt{grid-template-columns:1fr}}
.nxt__c{display:block;border:1px solid var(--line-dark);border-radius:12px;padding:26px 28px;
  background:rgba(238,234,225,.03);transition:border-color .3s ease,background .3s ease}
.nxt__c:hover{border-color:rgba(238,234,225,.34);background:rgba(238,234,225,.055)}
.nxt__k{font-family:var(--sans);font-weight:600;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--blue);margin:0 0 12px}
.nxt__c h3{font-family:var(--serif);font-weight:300;font-size:clamp(21px,2.2vw,27px);line-height:1.15;
  margin:0 0 10px;text-wrap:balance}
.nxt__c p{font-size:15px;line-height:1.6;color:var(--muted-dark);margin:0 0 18px;max-width:42ch;text-wrap:pretty}
.nxt__go{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
.lib{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}
@media(max-width:760px){.lib{grid-template-columns:1fr;gap:22px}}
.lib h4{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cream);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line-dark)}
.lib ul{list-style:none;margin:0;padding:0}
.lib li{font-size:15.5px;line-height:1.5;color:var(--muted-dark);padding:7px 0}


/* Show facts in the podcast section, and who the Studio is for. Both come
   straight from the launch interview, so they stay together. */
.spec{display:flex;flex-wrap:wrap;gap:16px 36px;margin:28px 0 0;padding-top:22px;
  border-top:1px solid var(--line-dark)}
.spec>div{min-width:0}
.spec dt{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted-dark);margin:0 0 6px}
.spec dd{font-family:var(--serif);font-weight:300;font-size:17px;line-height:1.2;margin:0;
  color:var(--cream);white-space:nowrap}
.topics{margin:22px 0 0;font-family:var(--sans);font-weight:600;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(233,229,218,.58);
  line-height:2.05;text-wrap:balance}

.audience{font-family:var(--serif);font-weight:300;font-size:17px;line-height:1.45;
  color:var(--muted-cream);max-width:44ch;margin:16px 0 0;text-wrap:pretty}
@media(max-width:560px){.spec{gap:14px 26px}.spec dd{font-size:15.5px}}

/* Three-word headings cannot satisfy "no one-word lines" by wrapping: every
   split leaves a line of one. These miss a single line by very little
   (351px into 335px, and the contact headline by 2px), so tightening the type
   on small screens keeps them whole instead. Kept at the end of the file: the
   base .lg h3 rule has the same specificity, so this only wins after it. */
@media(max-width:430px){
  .lg h3{font-size:11.5px;letter-spacing:.09em}
}
@media(max-width:360px){
  h1.display{font-size:33px}
  /* .lg h1.display is more specific than h1.display, so the legal and contact
     pages need naming directly or they keep the clamp value. */
  .lg h1.display{font-size:28px}
  .lg h3{font-size:10.5px;letter-spacing:.06em}
}
