@font-face{font-family:'Bellaboo';src:url('../assets/fonts/bellaboo.ttf')format('truetype');font-weight:normal;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --charcoal:#383038;--plum:#5a4958;--mauve:#8b7a89;--dusty:#9d8b9a;
  --lavender:#b5a5b3;--pale-lav:#e8e2e8;--off-white:#faf6f9;--white:#fff;
  --light-grey:#ddccdc;--mid-pink:#c4a0b4;--light-pink:#f2e5ed;
  --problem-bg:#f5eef3;--fortitude-orig:#6d576b;
  --tile-j:#6b8199;--tile-a:#52525f;--tile-e:#d55ba3;
  --tile-s:#a3a3a3;--tile-l:#f3aed5;--tile-f:#9d8b9a;
}
body{font-family:'Inter',sans-serif;font-size:16px;color:var(--charcoal);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.7;}
a{color:inherit;text-decoration:none;}
.page{display:none;}.page.active{display:block;}

/* NAV */
nav{background:var(--charcoal);padding:0 56px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.nav-brand{display:flex;align-items:center;gap:14px;cursor:pointer;}
.ql{display:grid;grid-template-columns:repeat(3,11px);grid-template-rows:repeat(2,11px);gap:2px;}
.ql span{display:block;border-radius:1px;}
.ql-j{background:var(--tile-j);}.ql-a{background:var(--tile-a);}.ql-e{background:var(--tile-e);}
.ql-s{background:var(--tile-s);}.ql-l{background:var(--tile-l);}.ql-f{background:var(--tile-f);}
.brand{font-family:'Bellaboo',cursive;font-size:30px;color:#fff;line-height:1;}
.nav-links{display:flex;align-items:center;gap:24px;}
.nav-links button{font-size:13px;font-weight:500;color:var(--lavender);background:none;border:none;cursor:pointer;padding:4px 0;}
.nav-links button:hover{color:#fff;}
.nav-cta{background:transparent;color:var(--lavender);border:1px solid var(--plum);font-size:12px;font-weight:500;padding:8px 20px;border-radius:3px;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;}

/* BUTTONS */
.btn{font-size:13px;font-weight:500;padding:12px 24px;border-radius:3px;cursor:pointer;border:none;transition:background .2s,color .2s,border-color .2s;}
.btn-dark{background:var(--charcoal);color:#fff;}
.btn-dark:hover{background:var(--plum);}
.btn-outline{background:transparent;color:var(--charcoal);border:1px solid var(--light-grey);}
.btn-outline:hover{background:var(--charcoal);color:#fff;border-color:var(--charcoal);}

/* HERO */
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:520px;}
.hero-text{background:var(--off-white);padding:80px 56px 64px;display:flex;flex-direction:column;justify-content:center;}
.hero-image{overflow:hidden;}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}

/* INNER PAGE HERO — centred */
.hero-c{background:var(--off-white);padding:80px 56px 64px;text-align:center;display:flex;flex-direction:column;align-items:center;border-bottom:1px solid var(--pale-lav);}
.script-lg{font-family:'Bellaboo',cursive;font-size:52px;color:var(--mauve);margin-bottom:16px;line-height:1.1;}
.hero-c h1{font-family:'Playfair Display',serif;font-weight:900;font-size:44px;line-height:1.1;letter-spacing:-.5px;color:var(--charcoal);max-width:720px;margin-bottom:18px;}
.hero-c .sub-lead{font-size:15px;color:var(--mauve);line-height:1.75;max-width:640px;margin-top:12px;}

/* PATCH HERO */
.patch-hero{padding:64px 56px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.patch-hero h1{font-family:'Playfair Display',serif;font-weight:900;font-size:52px;line-height:1.1;max-width:560px;margin-bottom:14px;}
.patch-hero .def-line{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;line-height:1.5;opacity:.9;max-width:520px;}

/* SECTIONS */
.section{padding:80px 56px;}
.section-c{padding:80px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--mauve);margin-bottom:12px;}

/* TYPOGRAPHY */
.pull{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;color:var(--charcoal);line-height:1.6;border-left:2px solid var(--mid-pink);padding-left:20px;margin:28px 0;max-width:560px;}
.body-p{font-size:15px;color:var(--charcoal);line-height:1.75;margin-bottom:1rem;}

/* LAYOUTS */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.two-col-even{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}

/* PATCH GRID — large tiles, full width */
.patch-grid-lg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;}
.patch-tile{padding:22px 18px;border-radius:6px;cursor:pointer;transition:transform .2s;aspect-ratio:1/1;overflow:hidden;}
.patch-tile:hover{transform:translateY(-3px);}
.patch-tile h3{font-family:'Playfair Display',serif;font-weight:700;font-size:19px;margin-bottom:10px;}
.patch-tile p{font-size:13.5px;font-style:italic;line-height:1.55;opacity:.88;}
.pt-j{background:var(--tile-j);color:#fff;}
.pt-a{background:var(--tile-a);color:#e0e0e4;}
.pt-e{background:var(--tile-e);color:#fff;}
.pt-s{background:var(--tile-s);color:#383038;}
.pt-l{background:var(--tile-l);color:#6b2048;}
.pt-f{background:var(--tile-f);color:#fff;}

/* CARDS */
.card{background:var(--white);border:1px solid var(--light-grey);border-radius:6px;padding:24px 20px;}
.card h3{font-family:'Playfair Display',serif;font-weight:700;font-size:15px;color:var(--charcoal);margin-bottom:10px;line-height:1.3;}
.card p{font-size:13.5px;color:var(--mauve);line-height:1.65;}
.card-link{display:inline-block;margin-top:14px;font-size:12px;font-weight:500;color:var(--charcoal);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}

/* STATS BAR */
.stats-bar{background:var(--charcoal);padding:26px 56px;border-top:1px solid var(--plum);}
.stats-bar p{font-size:14px;color:var(--lavender);line-height:1.7;max-width:780px;margin-bottom:4px;}
.stats-src{font-size:11px;color:var(--mauve);}

/* BIO */
.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:40px;}
.bio-col{text-align:center;}
.bio-photo{width:100%;max-width:300px;aspect-ratio:5/6;object-fit:cover;object-position:top;filter:grayscale(100%);border-radius:4px;display:block;margin:0 auto 18px;}
.bio-name{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;color:var(--charcoal);margin-bottom:14px;}
.bio-body{font-size:14.5px;color:var(--charcoal);line-height:1.75;margin-bottom:.9rem;text-align:left;}

/* SPLIT IMAGE */
.split-img{display:grid;grid-template-columns:1fr 1fr;min-height:420px;}
.split-text{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;background:var(--white);}
.split-image{overflow:hidden;}
.split-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(100%);display:block;}

/* TESTIMONIAL */
.tm{padding:20px 24px;margin:10px 0;}
.tm .stars{color:var(--mauve);font-size:13px;letter-spacing:2px;margin-bottom:8px;}
.tm .quote{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;color:var(--charcoal);line-height:1.65;margin-bottom:8px;}
.tm .attr{font-size:11px;font-weight:500;color:var(--mauve);text-transform:uppercase;letter-spacing:.1em;}
.tm-bg{background:var(--light-pink);padding:64px 56px;text-align:center;}

/* PODCAST */
.pod-dark{background:var(--charcoal);padding:80px 56px;}
.pod-dark .tag{color:var(--lavender);}
.pod-body{font-size:15px;color:var(--dusty);line-height:1.75;max-width:560px;margin-bottom:20px;}
.pod-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;color:rgba(181,165,179,.65);line-height:1.6;border-left:2px solid var(--plum);padding-left:18px;max-width:540px;margin-bottom:32px;}
.pod-btns{display:flex;gap:10px;flex-wrap:wrap;}
.pod-btn{background:transparent;border:1px solid var(--plum);color:var(--lavender);font-size:12px;font-weight:500;padding:9px 18px;border-radius:3px;cursor:pointer;}

/* PATCH EPISODE TILES */
.patch-ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;}
.patch-ep{padding:24px 20px;border-radius:6px;text-decoration:none;display:block;transition:transform .15s,opacity .15s;}
.patch-ep:hover{transform:translateY(-2px);opacity:.92;}
.patch-ep .ep-patch{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;opacity:.8;margin-bottom:6px;}
.patch-ep .ep-title{font-family:'Playfair Display',serif;font-weight:700;font-size:16px;line-height:1.3;margin-bottom:6px;}
.patch-ep .ep-listen{font-size:12px;font-weight:500;opacity:.75;margin-top:8px;}
.pep-j{background:var(--tile-j);color:#fff;}
.pep-a{background:var(--tile-a);color:#e0e0e4;}
.pep-e{background:var(--tile-e);color:#fff;}
.pep-s{background:var(--tile-s);color:#383038;}
.pep-l{background:var(--tile-l);color:#6b2048;}
.pep-f{background:var(--tile-f);color:#fff;}

/* EPISODE GRID (RSS) */
.episode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:20px;}
.ep{background:var(--off-white);border:1px solid var(--pale-lav);border-radius:5px;padding:14px 16px;}
.ep-date{font-size:10px;font-weight:600;color:var(--mauve);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.ep-title{font-family:'Playfair Display',serif;font-size:13px;font-weight:700;color:var(--charcoal);line-height:1.4;}

/* CONTACT */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13px;font-weight:500;color:var(--charcoal);margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--light-grey);border-radius:3px;font-family:'Inter',sans-serif;font-size:14px;color:var(--charcoal);background:#fff;}
.form-group textarea{height:100px;resize:vertical;}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;}
.checkbox-row input{width:16px;height:16px;margin-top:2px;flex-shrink:0;}
.checkbox-row label{font-size:13.5px;color:var(--mauve);line-height:1.5;}
.support-box{background:var(--off-white);border:1px solid var(--pale-lav);border-radius:6px;padding:28px 32px;max-width:520px;}

/* DIVIDER + BACK */
.divider{border:none;border-top:1px solid var(--pale-lav);margin:0;}
.back{font-size:13px;color:var(--mauve);cursor:pointer;margin-bottom:24px;display:inline-block;}
.back:hover{color:var(--charcoal);}

/* FOOTER */
footer{background:var(--charcoal);padding:28px 56px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--plum);}
.footer-brand{display:flex;align-items:center;gap:11px;}
.footer-brand-name{font-family:'Bellaboo',cursive;font-size:22px;color:var(--lavender);}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-links a{font-size:12px;color:var(--mauve);}
.footer-links a:hover{color:var(--lavender);}

/* ===== Component / utility classes (extracted from former inline styles) ===== */
.c-white{color:#fff;}
.tm-soft{background:var(--off-white);border-radius:6px;}
.pull-flush{margin-left:0;}
.pull-center{margin-left:auto;margin-right:auto;}
.patch-prose{max-width:700px;text-align:left;}
.pull-center-gap{margin-left:auto;margin-right:auto;margin-top:16px;}
.pep-desc{font-size:12.5px;line-height:1.5;margin-top:6px;opacity:.85;}
.prose{font-size:15px;color:var(--charcoal);line-height:1.75;max-width:660px;margin-bottom:1rem;}
.txt-mauve{font-size:14px;color:var(--mauve);}
.clickable{cursor:pointer;}
.self-start{align-self:flex-start;}
.mt-8{margin-top:8px;}
.c-abyss{color:#e0e0e4;}
.c-love{color:#6b2048;}
.gap-72{gap:72px;}
.mt32-center{margin-top:32px;text-align:center;}
.quote-lg{font-size:20px;}
.bg-offwhite{background:var(--off-white);}
.script-hero{font-family:'Bellaboo',cursive;font-size:30px;color:var(--mauve);margin-bottom:16px;}
.hero-title{font-family:'Playfair Display',serif;font-weight:900;font-size:46px;line-height:1.1;letter-spacing:-.5px;max-width:440px;margin-bottom:20px;}
.hero-lead{font-size:15px;color:var(--mauve);line-height:1.75;max-width:420px;margin-bottom:36px;}
.btn-row{display:flex;gap:12px;}
.sec-problem{background:var(--problem-bg);padding:72px 56px;text-align:center;}
.h-problem{font-family:'Playfair Display',serif;font-weight:700;font-size:38px;line-height:1.2;margin-bottom:24px;max-width:680px;margin-left:auto;margin-right:auto;}
.problem-p{font-size:16px;color:var(--charcoal);line-height:1.8;max-width:720px;margin-bottom:0;margin-left:auto;margin-right:auto;}
.problem-p-strong{font-size:16px;color:var(--charcoal);line-height:1.8;max-width:720px;margin-top:20px;font-weight:500;margin-left:auto;margin-right:auto;}
.h-34{font-family:'Playfair Display',serif;font-weight:700;font-size:34px;line-height:1.2;margin-bottom:20px;}
.sec-offwhite{background:var(--off-white);padding:72px 56px;}
.h-34-mb32{font-family:'Playfair Display',serif;font-weight:700;font-size:34px;line-height:1.2;margin-bottom:32px;}
.mt-36{margin-top:36px;}
.mw660-center{max-width:660px;margin:0 auto;}
.h-split{font-family:'Playfair Display',serif;font-weight:700;font-size:28px;margin-bottom:16px;line-height:1.3;}
.split-lead{font-size:15px;color:var(--mauve);line-height:1.75;max-width:420px;margin-bottom:28px;}
.h-pod{font-family:'Playfair Display',serif;font-weight:700;font-size:34px;color:var(--lavender);margin-bottom:14px;line-height:1.2;}
.sec-cta{background:var(--off-white);padding:88px 56px;text-align:center;}
.center{text-align:center;}
.h-cta{font-family:'Playfair Display',serif;font-weight:700;font-size:40px;max-width:400px;margin:0 auto 14px;}
.cta-lead{font-size:15px;color:var(--mauve);line-height:1.75;max-width:440px;margin:0 auto 36px;}
.script-52{font-family:'Bellaboo',cursive;font-size:52px;color:var(--mauve);margin-bottom:16px;line-height:1.1;}
.h-34-mw560{font-family:'Playfair Display',serif;font-weight:700;font-size:34px;margin-bottom:20px;max-width:560px;}
.pull-center-left{margin-left:auto;margin-right:auto;text-align:left;}
.about-closing{font-size:16px;font-weight:600;color:var(--fortitude-orig);line-height:1.75;max-width:560px;margin-top:8px;}
.mw580-center{max-width:580px;margin:0 auto;}
.sec-pad-center{padding:56px;text-align:center;}
.quilt-subtitle{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;color:var(--mauve);margin-top:4px;}
.mb-16{margin-bottom:16px;}
.script-48{font-family:'Bellaboo',cursive;font-size:48px;color:var(--mauve);margin-bottom:16px;line-height:1.1;}
.bg-junction{background:#6b8199;}
.bg-abyss{background:#2a2a35;}
.bg-exposure{background:#d55ba3;}
.bg-stuck{background:#8f8f8f;}
.bg-love{background:#f3aed5;}
.bg-fortitude{background:#9d8b9a;}
.patch-prose-wide{max-width:720px;text-align:left;}
.pod-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.h-pod-title{font-family:'Playfair Display',serif;font-weight:900;font-size:34px;color:var(--lavender);margin-bottom:16px;line-height:1.1;white-space:nowrap;}
.pod-art{width:100%;max-width:440px;border-radius:10px;display:block;}
.h-28-mb12{font-family:'Playfair Display',serif;font-weight:700;font-size:28px;margin-bottom:12px;}
.lead-640{font-size:15px;color:var(--mauve);line-height:1.75;max-width:640px;margin-bottom:24px;}
.h-28-mb8{font-family:'Playfair Display',serif;font-weight:700;font-size:28px;margin-bottom:8px;}
.txt-mauve-mb4{font-size:14px;color:var(--mauve);margin-bottom:4px;}
.sec-center-pad{padding:72px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.center-mb8{text-align:center;margin-bottom:8px;}
.h-28-mb28{font-family:'Playfair Display',serif;font-weight:700;font-size:28px;margin-bottom:28px;}
.tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:860px;text-align:left;}
.gap-80-start{gap:80px;align-items:start;}
.mw-460{max-width:460px;}
.h-18{font-family:'Playfair Display',serif;font-weight:700;font-size:18px;margin-bottom:10px;}
.support-p{font-size:14px;color:var(--mauve);line-height:1.7;margin-bottom:18px;}
.mt-40{margin-top:40px;}
.social-col{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.ql-sm{grid-template-columns:repeat(3,8px);grid-template-rows:repeat(2,8px);gap:2px;}
.ql-cell{width:8px;height:8px;}
.footer-copy{font-size:11px;color:var(--plum);}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Images and media never overflow their container. */
img{max-width:100%;}

/* Hamburger toggle — hidden on desktop, revealed when the nav collapses. */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;background:none;border:none;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--lavender);border-radius:2px;transition:transform .25s,opacity .2s;}
nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav.open .nav-toggle span:nth-child(2){opacity:0;}
nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---- Tablet / small laptop (≤900px) ---- */
@media (max-width:900px){
  /* Tighten the generous 56px gutters site-wide. */
  nav{padding:0 32px;}
  .hero-text,.hero-c,.patch-hero,.section,.section-c,.stats-bar,.tm-bg,.pod-dark,
  .sec-problem,.sec-offwhite,.sec-cta,.sec-center-pad,.split-text,footer{
    padding-left:32px;padding-right:32px;
  }
  .sec-pad-center{padding:48px 32px;}

  /* Collapse two-up image/text splits into a single stacked column. */
  .hero-split,.split-img{grid-template-columns:1fr;min-height:0;}
  .hero-image,.split-image{min-height:280px;}

  /* Generic two-column / paired layouts stack. */
  .two-col,.two-col-even,.bio-grid,.pod-hero-grid,.tm-grid,.gap-80-start,.gap-72{
    grid-template-columns:1fr;gap:40px;
  }

  /* Multi-tile grids shed a column. */
  .four-col,.patch-grid-lg,.patch-ep-grid{grid-template-columns:repeat(2,1fr);}

  /* Scale the largest display type down a notch. */
  .hero-title{font-size:38px;max-width:none;}
  .hero-c h1{font-size:36px;}
  .patch-hero h1{font-size:42px;}
  .script-lg,.script-52,.script-48{font-size:42px;}
  .h-problem{font-size:30px;}
  .h-cta{font-size:32px;}
  .h-34,.h-34-mb32,.h-34-mw560,.h-pod{font-size:28px;}
  .h-pod-title{white-space:normal;}
}

/* ---- Mobile (≤600px) ---- */
@media (max-width:600px){
  body{font-size:15px;}

  /* Collapse the nav into a hamburger-driven dropdown panel. */
  nav{padding:0 20px;}
  .nav-toggle{display:flex;}
  .nav-links{
    position:absolute;top:64px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--charcoal);border-top:1px solid var(--plum);
    padding:8px 0;display:none;
    box-shadow:0 8px 16px rgba(0,0,0,.25);
  }
  nav.open .nav-links{display:flex;}
  .nav-links button{padding:14px 20px;font-size:15px;text-align:left;width:100%;}
  .nav-links .nav-cta{margin:8px 20px 4px;text-align:center;width:auto;}

  /* Edge-to-edge gutters shrink further on phones. */
  .hero-text,.hero-c,.patch-hero,.section,.section-c,.stats-bar,.tm-bg,.pod-dark,
  .sec-problem,.sec-offwhite,.sec-cta,.sec-center-pad,.split-text,footer{
    padding-left:20px;padding-right:20px;
  }
  .hero-text{padding-top:56px;padding-bottom:48px;}
  .section,.section-c,.pod-dark,.sec-problem,.sec-offwhite{padding-top:56px;padding-bottom:56px;}
  .sec-cta{padding-top:64px;padding-bottom:64px;}
  .sec-pad-center{padding:40px 20px;}

  /* Everything goes single-column, including the tile grids. */
  .four-col,.patch-grid-lg,.patch-ep-grid,.episode-grid{grid-template-columns:1fr;}
  .patch-tile{aspect-ratio:auto;}

  /* Dial the display type back to phone-friendly sizes. */
  .hero-title{font-size:32px;margin-bottom:16px;}
  .hero-lead{font-size:14px;margin-bottom:28px;}
  .hero-c h1{font-size:30px;}
  .script-lg,.script-52,.script-48,.script-hero{font-size:34px;}
  .patch-hero h1{font-size:34px;}
  .patch-hero .def-line{font-size:17px;}
  .h-problem{font-size:26px;}
  .problem-p,.problem-p-strong{font-size:15px;}
  .h-cta{font-size:28px;}
  .h-34,.h-34-mb32,.h-34-mw560,.h-pod,.h-pod-title{font-size:24px;}
  .h-split,.h-28-mb12,.h-28-mb8,.h-28-mb28{font-size:22px;}
  .bio-name{font-size:20px;}

  /* Buttons stack so they don't overflow narrow viewports. */
  .btn-row,.pod-btns{flex-direction:column;}
  .btn-row .btn{width:100%;text-align:center;}

  /* Footer reads as a stacked, left-aligned block. */
  footer{flex-direction:column;align-items:flex-start;gap:18px;}
}
