/* ==========================================================================
   Women's guide pages: base layer  (extracted from women.html)
   --------------------------------------------------------------------------
   These are style blocks 1-4 of the hub, verbatim. They must load BEFORE
   rebrand.css, exactly as they did when they were inline, because rebrand.css
   deliberately overrides some of them.

   Required order on every page that uses this file:
     guide-women-base.css -> rebrand.css -> guide-women-layer.css
     -> podcast-wow.css -> premium.css -> a11y-contrast.css -> guide-page.css
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --charcoal: #1C1C1C;
    --mid: #5A5A5A;
    --light: #999999;
    --cream: #F3E9E2;
    --white: #FAF5F1;
    --accent: #d98f9d;
    --border: #D98F9D;
    --rose: #C97C8A;
    --rose-deep: #C97C8A;
    --rose-light: #F2C6CF;
    --lavender: #C97C8A;
    --lavender-deep: #C97C8A;
    --sage: #C97C8A;
    --sage-light: #EFE9FA;
    --accent-light: #F2C6CF;
    --gold: #CF7CC0;
    --gold-deep: #9A4F90;
    --gold-light: #F7E8F4;
  }
  html { scroll-behavior: smooth; }
  body { font-family: 'Cabin', sans-serif; background: var(--white); color: var(--charcoal); font-size: 15px; line-height: 1.65; }

  /* ============================================================
     VERELLA, "Warm Bloom" identity refresh layer
     Distinctive type, warm texture and tactile components layered
     over the shared base. Cosmetic / additive overrides only.
     ============================================================ */
  :root{
    --ink:#1C1C1C;
    --plum:#d98f9d;
    --plum-deep:#5C3873;
    --bloom:#E57BA6;          /* soft pink accent */
    --bloom-soft:#F7B9D2;
    --blush:#FBE5F0;
    --paper:#FFF5FA;
    --lilac-mist:#F1E7F7;
    --shadow-soft: 0 18px 42px -26px rgba(74,42,86,.50);
    --shadow-lift: 0 30px 64px -28px rgba(74,42,86,.58);
  }
  html{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
  body{ background:var(--paper); font-size:16px; line-height:1.7; letter-spacing:.005em; }
  ::selection{ background:var(--bloom); color:#fff; }

  /* warm atmospheric wash + fine grain behind everything */
  body::before{
    content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
    background:
      radial-gradient(1100px 720px at 8% -12%, var(--lilac-mist), transparent 58%),
      radial-gradient(960px 640px at 112% 6%, var(--blush), transparent 54%),
      var(--paper);
  }
  body::after{
    content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
    opacity:.045; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E"); background-size:180px 180px;
  }

  /* distinctive display type via Fraunces optical sizing */
  .hero h1, .mission h2, .resources h2, .video-section h2,
  .path-card h2, .resource-card h3, .video-group-head h3{ letter-spacing:-0.012em; }
  .hero h1 em, .mission h2 em{ font-style:italic; color:var(--plum); }

  /* NAV, frosted warm bar + pink pill CTA */
  nav{ background:rgba(255,245,250,.80); -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15); border-bottom:1px solid var(--blush); }
  .nav-links a:hover{ color:var(--bloom); }
  .nav-cta{ background:var(--bloom) !important; color:#fff !important; border-radius:999px; padding:12px 26px; box-shadow:0 12px 26px -14px var(--bloom); transition:transform .2s ease, box-shadow .2s ease; }
  .nav-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -14px var(--bloom); }

  /* MARQUEE, plum gradient */
  .marquee-bar{ background:linear-gradient(90deg,var(--plum-deep),var(--plum)); letter-spacing:.16em; }

  /* HERO, bloom mesh, highlighter flourish, staggered reveal */
  .hero{ background:transparent; padding-top:104px; }
  .hero-eyebrow{ font-family:'Cabin'; text-transform:none; letter-spacing:0; font-size:1.5rem; font-weight:700; color:var(--bloom); }
  .hero h1 em{ background:linear-gradient(transparent 62%, var(--bloom-soft) 62%); padding:0 .04em; border-radius:2px; }
  .hero-eyebrow, .hero h1, .hero p{ opacity:0; animation:vbloomRise .85s cubic-bezier(.2,.7,.2,1) forwards; }
  .hero h1{ animation-delay:.12s; }
  .hero p{ animation-delay:.26s; }
  @keyframes vbloomRise{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
  @media (prefers-reduced-motion:reduce){ .hero-eyebrow,.hero h1,.hero p{ opacity:1 !important; animation:none !important; } }

  /* SECTION KICKERS, warm handwritten accent instead of cold tracked caps */
  .mission .label, .resources .label, .video-section .label, .founder-inner .label{
    font-family:'Cabin'; text-transform:none; letter-spacing:0; font-size:1.35rem; font-weight:700; color:var(--bloom);
  }
  .mission-decor{ background:var(--blush); }
  .mission-decor span{ background:var(--bloom); }

  /* PATH CARDS, rounded, tactile, separated */
  .paths{ gap:24px; }
  .path-card{ border-radius:28px; box-shadow:var(--shadow-soft); overflow:hidden; transition:transform .3s ease, box-shadow .3s ease; }
  .path-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lift); }

  /* CONTENT CARDS, soft rounded panels with hover lift */
  .resource-card, .video-card{ border-radius:20px; border:1px solid var(--blush); box-shadow:var(--shadow-soft); transition:transform .25s ease, box-shadow .25s ease; }
  .resource-card:hover, .video-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lift); }
  .resource-card a{ color:var(--bloom); border-bottom-color:var(--bloom); }

  /* FOUNDER + FOOTER, warm plum, not flat black */
  .founder-note{ background:linear-gradient(155deg,#3B2A48 0%, var(--ink) 100%); }
  footer{ background:linear-gradient(160deg, var(--plum-deep) 0%, var(--ink) 100%); }
  .footer-links a:hover{ color:var(--bloom); }

  /* RESOURCES band warmth */
  .resources{ background:linear-gradient(180deg, var(--lilac-mist), var(--paper)); }

  /* tidy focus state */
  a:focus-visible, button:focus-visible{ outline:2px solid var(--bloom); outline-offset:3px; border-radius:4px; }


  .marquee-bar { background: var(--rose-deep); color: var(--white); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; padding: 9px 0; overflow: hidden; white-space: nowrap; }
  .marquee-inner { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; animation: none; }
  .marquee-inner span { flex: 0 0 auto; margin: 0 2.5rem; }
  @keyframes marquee { from { transform: translateX(100vw); } to { transform: translateX(-100%); } }

  nav { display: flex; align-items: center; justify-content: space-between; padding: 22px 5%; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--white); z-index: 100; }
  .nav-logo { display: flex; align-items: center; text-decoration: none; }
  .nav-logo img { height: 34px; width: auto; display: block; }
  .nav-links { display: flex; gap: 1.5rem; list-style: none; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
  .nav-links a { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--charcoal); text-decoration: none; transition: color 0.2s; }
  .nav-links a.active { color: var(--rose-deep); }
  .nav-links a:hover { color: var(--rose-deep); }
  .nav-cta { background: var(--rose-deep); color: var(--white) !important; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 11px 24px; }
  .nav-toggle { display: none; background: none; border: none; cursor: pointer; }
  .nav-toggle { width: 44px; height: 44px; padding: 0; position: relative; z-index: 1001; }
  .nav-toggle span, .nav-toggle::before, .nav-toggle::after { content: ''; display: block; position: absolute; left: 11px; width: 22px; height: 2px; background: var(--charcoal); border-radius: 2px; transition: transform 0.3s ease, opacity 0.2s ease; }
  .nav-toggle::before { top: 15px; }
  .nav-toggle span { top: 21px; }
  .nav-toggle::after { top: 27px; }
  .nav-toggle.open::before { top: 21px; transform: rotate(45deg); }
  .nav-toggle.open span { opacity: 0; }
  .nav-toggle.open::after { top: 21px; transform: rotate(-45deg); }

  .hero { padding: 42px 5% 56px; text-align: center; background: var(--rose-light); }
  .hero-eyebrow { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 18px; }
  .hero h1 { font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(2.2rem, 5.5vw, 3.6rem); line-height: 1.15; max-width: 760px; margin: 0 auto 26px; }
  .hero h1 em { font-style: italic; font-weight: 600; }
  .hero p { max-width: 580px; margin: 0 auto; color: var(--mid); font-size: 16px; }

  .empower { max-width: 740px; margin: 0 auto; padding: 46px 5% 48px; }
  .empower .label { text-align: center; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 20px; }
  .empower h2 { text-align: center; font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(1.7rem, 4vw, 2.4rem); line-height: 1.35; margin-bottom: 32px; }
  .empower h2 em { font-style: italic; }
  .empower p { color: var(--mid); font-size: 16px; margin-bottom: 18px; }
  .empower strong { color: var(--charcoal); font-weight: 600; }

  .topics { background: var(--cream); padding: 42px 5%; }
  .topics-inner { max-width: 1020px; margin: 0 auto; }
  .topics .label { text-align: center; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 16px; }
  .topics h2 { text-align: center; font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(1.7rem, 4vw, 2.3rem); margin-bottom: 50px; }
  .topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .topic-card { background: var(--white); padding: 30px 26px; border-top: 3px solid var(--rose); }
  .topic-card h3 { font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.15rem; margin-bottom: 10px; }
  .topic-card p { font-size: 13.5px; color: var(--mid); }
  .friendship-panel { padding: 42px 5%; background: linear-gradient(180deg, var(--paper), var(--lilac-mist)); }
  .friendship-inner { max-width: 960px; margin: 0 auto; background: var(--white); border: 1px solid var(--blush); border-radius: 20px; box-shadow: var(--shadow-soft); padding: clamp(30px, 5vw, 52px); text-align: center; }
  .friendship-inner h2 { font-size: clamp(1.8rem, 4vw, 2.4rem); line-height: 1.2; margin-bottom: 18px; }
  .friendship-inner p { color: var(--mid); max-width: 720px; margin: 0 auto 18px; }
  .friendship-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 28px; }
  .friendship-item { border: 4px solid var(--bloom); background: var(--paper); padding: 18px 20px; border-radius: 14px; color: var(--mid); text-align: center; }
  .friendship-item strong { display: block; color: var(--charcoal); margin-bottom: 6px; }
  .therapist-shortcut { width: min(840px, calc(100% - 40px)); margin: 28px auto 0; padding: 18px 24px; display: flex; align-items: center; justify-content: center; gap: 14px 24px; flex-wrap: wrap; text-align: center; background: var(--white); border: 2px solid var(--bloom); border-radius: 18px; box-shadow: 5px 5px 0 var(--blush); }
  .therapist-shortcut span { color: var(--mid); font-weight: 600; }
  .therapist-shortcut a { color: var(--rose-deep); font-weight: 700; }

  .video-section { padding: 46px 5%; }
  .video-inner { max-width: 1000px; margin: 0 auto; }
  .video-section .label { text-align: center; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 16px; }
  .video-section h2 { text-align: center; font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(1.8rem, 4vw, 2.4rem); margin-bottom: 14px; }
  .video-section .sub { text-align: center; color: var(--mid); font-size: 14.5px; max-width: 560px; margin: 0 auto 56px; }
  .video-subhead { font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.4rem; margin: 56px 0 26px; padding-top: 10px; border-top: 1px solid var(--border); }
  .video-subhead:first-of-type { margin-top: 0; border-top: none; padding-top: 0; }
  .video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 36px; }
  .video-card { background: var(--cream); border: 1px solid var(--border); overflow: hidden; }
  .video-embed { position: relative; width: 100%; padding-top: 56.25%; background: var(--charcoal); }
  .video-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
  .video-meta { padding: 22px 24px; }
  .video-meta .v-date { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 8px; }
  .video-meta h3 { font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.15rem; margin-bottom: 8px; }
  .video-meta p { font-size: 13.5px; color: var(--mid); }
  .video-empty { text-align: center; padding: 60px 20px; background: var(--cream); border: 1px dashed var(--border); color: var(--light); font-size: 14px; }

  .resources { padding: 42px 5%; background: var(--cream); }
  .resources-inner { max-width: 760px; margin: 0 auto; text-align: center; }
  .resources .label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 16px; }
  .resources h2 { font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(1.7rem, 4vw, 2.2rem); margin-bottom: 36px; }
  .res-list { display: flex; flex-direction: column; gap: 16px; max-width: 480px; margin: 0 auto; }
  .res-item { background: var(--white); padding: 18px 24px; text-align: left; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--border); gap: 16px; }
  .res-item .name { font-weight: 500; font-size: 14.5px; }
  .res-item .desc { font-size: 12.5px; color: var(--light); }
  .res-item a { font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rose-deep); text-decoration: none; white-space: nowrap; }

  .disclaimer-strip { max-width: 740px; margin: 0 auto; padding: 0 5% 70px; }
  .disclaimer-box { background: var(--white); border: 1px solid var(--border); padding: 26px 30px; font-size: 13.5px; color: var(--mid); }
  .disclaimer-box strong { color: var(--charcoal); }

  .contact-strip { background: var(--rose-deep); color: var(--white); padding: 40px 5%; text-align: center; }
  .contact-strip h2 { font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(1.6rem, 4vw, 2.2rem); margin-bottom: 18px; }
  .contact-strip p { max-width: 460px; margin: 0 auto 30px; opacity: 0.9; font-size: 14.5px; }
  .contact-btn { display: inline-block; background: var(--white); color: var(--rose-deep); padding: 14px 36px; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }

  footer { background: var(--charcoal); color: var(--light); padding: 50px 5% 36px; text-align: center; }
  .footer-logo { margin-bottom: 18px; }
  .footer-logo img { height: 38px; width: auto; }
  footer p { font-size: 12.5px; max-width: 480px; margin: 0 auto 18px; }
  .footer-links { display: flex; justify-content: center; gap: 24px; margin-bottom: 24px; flex-wrap: wrap; }
  .footer-links a { color: var(--light); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
  .footer-links a:hover { color: var(--white); }
  .footer-fine { font-size: 11px; color: #7A7A7A; max-width: 600px; margin: 0 auto; }

  @media (max-width: 800px) {
    .nav-links { position: fixed; top: 0; right: -100%; height: 100vh; width: 70%; background: var(--white); flex-direction: column; flex-wrap: nowrap; overflow-y: auto; justify-content: center; gap: 2.2rem; padding: 80px 0; transition: right 0.3s ease; box-shadow: -4px 0 24px rgba(0,0,0,0.08); }
    .nav-links.open { right: 0; }
    .nav-toggle { display: block; }
    .topic-grid { grid-template-columns: 1fr; }
    .friendship-list { grid-template-columns: 1fr; }
    .video-grid { grid-template-columns: 1fr; }
    .res-item { flex-direction: column; align-items: flex-start; }
  }

  .guide-image { width: 100%; max-width: 220px; border-radius: 12px; margin: 0 auto 22px; display: block; overflow: hidden; }
  .guide-image img { width: 100%; height: auto; display: block; }
  .why-box { background: var(--cream); border-radius: 8px; padding: 24px 28px; margin: 30px 0; font-size: 14.5px; color: var(--mid); }
  .guide:nth-child(even) .why-box { background: var(--white); }
  .why-box :is(h2,h3) { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--charcoal); margin-bottom: 10px; font-weight: 600; }
  .guide { padding: 46px 5%; border-bottom: 1px solid var(--border); }
  .guide:nth-child(even) { background: var(--cream); }
  .guide-inner { max-width: 760px; margin: 0 auto; }
  .guide-label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 16px; }
  .accordion-panel .guide-inner h2 { font-family: 'Cabin', sans-serif; font-weight: 300; font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 22px; line-height: 1.25; }
  .accordion-panel .guide-inner h2 em { font-style: italic; }
  .guide-intro { font-size: 16px; color: var(--mid); margin-bottom: 40px; max-width: 620px; }
  .steps { display: flex; flex-direction: column; gap: 22px; margin-bottom: 36px; }
  .step { display: flex; gap: 20px; }
  .step-num { font-family: 'Cabin', sans-serif; font-size: 1.6rem; font-weight: 600; min-width: 36px; opacity: 0.5; }
  .step-content :is(h2,h3) { font-size: 15.5px; font-weight: 600; margin-bottom: 6px; }
  .step-content p { font-size: 14.5px; color: var(--mid); }
  .info-callout { background: var(--white); border-left: 3px solid var(--accent); padding: 22px 26px; font-size: 14.5px; color: var(--mid); margin-top: 10px; }
  .guide:nth-child(even) .info-callout { background: var(--white); }
  .info-callout strong { color: var(--charcoal); }
  .tag-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 30px; }
  .tag { font-size: 11.5px; letter-spacing: 0.04em; padding: 7px 14px; border-radius: 100px; }
  /* ===== In-depth helpers: toolkits, exercises, scripts ===== */
  .toolkit { background: var(--sage-light); border-radius: 8px; padding: 24px 28px; margin: 30px 0; }
  .toolkit :is(h2,h3) { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--charcoal); margin-bottom: 14px; font-weight: 600; display: flex; align-items: center; gap: 9px; }
  .toolkit :is(h2,h3) .kit-ico { font-size: 15px; }
  .tool-list { display: flex; flex-direction: column; gap: 13px; }
  .tool-item { display: flex; gap: 13px; font-size: 14.5px; color: var(--mid); line-height: 1.6; }
  .tool-item .tool-dot { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--sage); margin-top: 8px; }
  .tool-item strong { color: var(--charcoal); font-weight: 600; }
  .try-this { background: var(--gold-light); border-radius: 8px; padding: 22px 26px; margin: 30px 0; border-left: 3px solid var(--gold); }
  .try-this :is(h2,h3) { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 11px; font-weight: 600; display: flex; align-items: center; gap: 9px; }
  .try-this :is(h2,h3) .kit-ico { font-size: 15px; }
  .try-this p { font-size: 14.5px; color: var(--mid); margin-bottom: 9px; }
  .try-this p:last-child { margin-bottom: 0; }
  .try-this ol { margin: 4px 0 0; padding-left: 20px; font-size: 14.5px; color: var(--mid); }
  .try-this ol li { margin-bottom: 7px; }
  .try-this ol li:last-child { margin-bottom: 0; }
  .try-this strong { color: var(--charcoal); font-weight: 600; }
  .say-box { margin: 30px 0; }
  .say-box :is(h2,h3) { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--charcoal); margin-bottom: 13px; font-weight: 600; display: flex; align-items: center; gap: 9px; }
  .say-box :is(h2,h3) .kit-ico { font-size: 15px; }
  .say-box .say-sub { font-size: 13.5px; color: var(--mid); margin-bottom: 14px; max-width: 600px; }
  .say-line { background: var(--cream); border-radius: 8px; padding: 14px 18px; font-size: 14.5px; color: var(--charcoal); font-style: italic; line-height: 1.55; margin-bottom: 10px; }
  .guide:nth-child(even) .say-line { background: var(--white); }
  .say-line:last-child { margin-bottom: 0; }
  .mini-head { font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.45rem; color: var(--charcoal); margin: 40px 0 4px; }
  .mini-head em { font-style: italic; color: var(--accent); }
  .mini-sub { font-size: 14px; color: var(--mid); margin-bottom: 24px; max-width: 600px; }

  /* ===== Mid-guide inspirational quote ===== */
  .guide-quote { position: relative; margin: 44px 0; padding: 34px 32px 30px; border-radius: 22px;
    background: linear-gradient(135deg, #F7ECFA 0%, #FCE7F1 55%, #FFF3F8 100%);
    border: 1.5px solid #EDD8EF; box-shadow: 0 14px 34px rgba(150,110,165,0.13); overflow: hidden; text-align: center; }
  .guide-quote::before { content: "\201C"; position: absolute; top: -18px; left: 14px;
    font-family: Georgia, 'Times New Roman', serif; font-size: 8rem; line-height: 1; color: #E9C8E4; opacity: .55; pointer-events: none; }
  .guide-quote::after { content: ""; position: absolute; bottom: -42px; right: -30px; width: 130px; height: 130px;
    border-radius: 50%; background: radial-gradient(circle, rgba(229,123,166,.16), transparent 70%); pointer-events: none; }
  .guide-quote p { position: relative; margin: 0 auto; max-width: 560px;
    font-family: 'Cabin', sans-serif; font-weight: 500; font-style: italic;
    font-size: clamp(1.1rem, 2.6vw, 1.38rem); line-height: 1.5; color: var(--charcoal); }
  .guide-quote .gq-mark { display: block; width: 46px; height: 2px; margin: 18px auto 0;
    background: linear-gradient(90deg, transparent, #D98F9D, transparent); border: 0; }

  /* ===== In-depth learning section ===== */
  .deep-dive { margin: 44px 0; padding: 30px 32px 26px; border-radius: 20px;
    background: var(--white); border: 1.5px solid #EFE0EA; box-shadow: 0 10px 28px rgba(150,110,165,0.08); }
  .deep-dive > :is(h2,h3) { font-family: 'Cabin', sans-serif; font-weight: 700; font-size: 1.3rem;
    color: var(--charcoal); margin: 0 0 6px; display: flex; align-items: center; gap: 10px; }
  .deep-dive > :is(h2,h3) .dd-ico { font-size: 1.15rem; }
  .deep-dive > .dd-sub { font-size: 14px; color: var(--mid); margin: 0 0 22px; max-width: 640px; }
  .dd-block { padding: 18px 0; border-top: 1px solid #F1E3EC; }
  .dd-block:first-of-type { border-top: 0; padding-top: 4px; }
  .dd-block :is(h3,h4) { font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.05rem;
    color: var(--charcoal); margin: 0 0 8px; }
  .dd-block p { font-size: 14.5px; color: var(--mid); margin: 0 0 10px; }
  .dd-block p:last-child { margin-bottom: 0; }
  .dd-terms { display: grid; gap: 10px; margin: 14px 0 4px; }
  .dd-term { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start;
    background: var(--cream); border-radius: 12px; padding: 13px 16px; font-size: 14px; color: var(--mid); }
  .guide:nth-child(even) .dd-term { background: #F7EFF6; }
  .dd-term strong { color: var(--charcoal); }
  .dd-term .dd-chip { display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 26px; border-radius: 8px; background: #fff; border: 1px solid #EBD9E6; font-size: 13px; }
  .dd-myth { display: grid; gap: 12px; margin: 16px 0 4px; }
  .dd-myth > div { border-radius: 12px; padding: 14px 16px; font-size: 14px; }
  .dd-myth .m-false { background: #FBEFF2; border-left: 3px solid #D98F9D; color: var(--mid); }
  .dd-myth .m-true { background: #F1F6F0; border-left: 3px solid #7FA37C; color: var(--mid); }
  .dd-myth strong { color: var(--charcoal); display: block; margin-bottom: 3px;
    font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; }

  /* ===== Educational diagrams ===== */
  .dd-figure { margin: 22px 0 6px; padding: 0; }
  .dd-figure svg { display: block; width: 100%; height: auto; border-radius: 14px;
    background: #fff; border: 1px solid #EFE0EA; }
  .dd-figure figcaption { font-size: 13px; color: var(--light); margin-top: 10px; text-align: center; font-style: italic; }

  @media (max-width: 600px) {
    .guide-quote { padding: 28px 20px 24px; border-radius: 18px; }
    .guide-quote::before { font-size: 5.5rem; top: -8px; left: 6px; }
    .deep-dive { padding: 24px 20px 20px; border-radius: 16px; }
    .dd-term { grid-template-columns: 1fr; gap: 6px; }
  }


  /* ===== "Sound like you?" relatable real-life examples ===== */
  .relate { position: relative; margin: 0 0 42px; padding: 28px 30px 26px; border-radius: 22px;
    background: linear-gradient(135deg, #F4ECFB 0%, #FBE7F1 60%, #FCEFF6 100%);
    border: 1.5px solid #ECD9EE; box-shadow: 0 12px 30px rgba(150,110,165,0.12); overflow: hidden; }
  .relate::before { content: ""; position: absolute; top: -45px; right: -35px; width: 150px; height: 150px;
    border-radius: 50%; background: radial-gradient(circle, rgba(229,135,172,0.20), transparent 70%); pointer-events: none; }
  .relate::after { content: ""; position: absolute; bottom: -50px; left: -40px; width: 140px; height: 140px;
    border-radius: 50%; background: radial-gradient(circle, rgba(139,123,168,0.16), transparent 70%); pointer-events: none; }
  .relate-head { display: flex; align-items: center; gap: 11px; margin-bottom: 5px; position: relative; }
  .relate-emoji { font-size: 24px; line-height: 1; }
  .relate-head :is(h2,h3) { font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.5rem; color: var(--lavender-deep); margin: 0; }
  .relate-sub { font-size: 13.5px; color: var(--mid); margin-bottom: 18px; position: relative; max-width: 560px; }
  .relate-list { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; position: relative; }
  .relate-item { display: flex; gap: 11px; align-items: flex-start; background: rgba(255,255,255,0.72);
    border-radius: 15px; padding: 13px 16px; font-size: 14px; color: var(--charcoal); line-height: 1.5;
    border: 1px solid rgba(255,255,255,0.85); box-shadow: 0 3px 10px rgba(150,110,165,0.06); transition: transform .2s, box-shadow .2s; }
  .relate-item:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(150,110,165,0.13); }
  .relate-item .ri-emoji { flex: 0 0 auto; font-size: 18px; line-height: 1.45; }
  .relate-foot { margin-top: 17px; font-size: 13.5px; color: var(--lavender-deep); font-weight: 500; position: relative; display: flex; align-items: center; gap: 8px; }
  @media (max-width: 600px) { .relate { padding: 22px 18px; } .relate-list { grid-template-columns: 1fr; } }
  #vagus .guide-label, #vagus .step-num { color: var(--sage); }
  #vagus .info-callout { border-left-color: var(--sage); }
  #vagus .tag { background: var(--sage-light); color: #5E4C8E; }
  #gratitude .guide-label, #gratitude .step-num { color: #B0894F; }
  #gratitude .info-callout { border-left-color: var(--accent); }
  #gratitude .tag { background: var(--accent-light); color: #4A4063; }
  #saging .guide-label, #saging .step-num { color: #6E8B6B; }
  #saging .info-callout { border-left-color: #6E8B6B; }
  #saging .tag { background: #E5EEE3; color: #4D6B49; }
  #hormones .guide-label, #hormones .step-num { color: #9A7B4F; }
  #hormones .info-callout { border-left-color: var(--accent); }
  #hormones .tag { background: var(--accent-light); color: #4A4063; }
  #soundbath .step-num { color: var(--rose-deep); }
  #soundbath .info-callout { border-left-color: var(--rose); }
  #soundbath .tag { background: var(--rose-light); color: var(--rose-deep); }
  #moon-ritual .step-num { color: var(--rose-deep); }
  #moon-ritual .info-callout { border-left-color: var(--rose); }
  #moon-ritual .tag { background: var(--rose-light); color: var(--rose-deep); }
  #talking-therapy .step-num { color: var(--rose-deep); }
  #talking-therapy .info-callout { border-left-color: var(--rose); }
  #talking-therapy .tag { background: var(--rose-light); color: var(--rose-deep); }
  #narcissism .step-num { color: #9A4F4F; }
  #narcissism .info-callout { border-left-color: #9A4F4F; }
  #narcissism .tag { background: #EAD6D6; color: #7A3D3D; }
  #greyrock .step-num { color: #6B6B6B; }
  #greyrock .info-callout { border-left-color: #8A8A8A; }
  #greyrock .tag { background: #E6E6E6; color: #5A5A5A; }
  #dv-survivors .step-num { color: var(--rose-deep); }
  #dv-survivors .info-callout { border-left-color: var(--rose); }
  #dv-survivors .tag { background: var(--rose-light); color: var(--rose-deep); }
  #kindness .step-num { color: var(--rose-deep); }
  #kindness .info-callout { border-left-color: var(--rose); }
  #kindness .tag { background: var(--rose-light); color: var(--rose-deep); }
  #cortisol-adults .step-num { color: #9A7B4F; }
  #cortisol-adults .info-callout { border-left-color: #9A7B4F; }
  #cortisol-adults .tag { background: var(--accent-light); color: #4A4063; }
  #adhd-adults .step-num { color: #6E5BA8; }
  #adhd-adults .info-callout { border-left-color: #6E5BA8; }
  #adhd-adults .tag { background: #E7EBF2; color: #44546E; }
  #eating-disorder .step-num { color: var(--accent); }
  #eating-disorder .info-callout { border-left-color: var(--rose); }
  #eating-disorder .tag { background: var(--rose-light); color: var(--rose-deep); }
  #adhd-hormones .step-num { color: #9A7B4F; }
  #adhd-hormones .info-callout { border-left-color: #9A7B4F; }
  #adhd-hormones .tag { background: var(--accent-light); color: #7A5E2E; }
  #nervous-system-adult .step-num { color: #C97C8A; }
  #nervous-system-adult .info-callout { border-left-color: #C97C8A; }
  #nervous-system-adult .tag { background: #EFE9FA; color: #4F6B53; }
  #dopamine-adult .step-num { color: #D98F9D; }
  #dopamine-adult .info-callout { border-left-color: #D98F9D; }
  #dopamine-adult .tag { background: #F5E9D5; color: #8F641F; }
  #anxiety .step-num { color: var(--rose-deep); }
  #anxiety .info-callout { border-left-color: var(--rose); }
  #anxiety .tag { background: var(--rose-light); color: var(--rose-deep); }
  #hormones-mood .guide-label, #hormones-mood .step-num { color: #9A6E8E; }
  #hormones-mood .info-callout { border-left-color: #9A6E8E; }
  #hormones-mood .tag { background: #F6E4EF; color: #9A6E8E; }
  #endometriosis .guide-label, #endometriosis .step-num { color: #A65266; }
  #endometriosis .info-callout { border-left-color: #A65266; }
  #endometriosis .tag { background: #F7DFE4; color: #A65266; }
  #adenomyosis .guide-label, #adenomyosis .step-num { color: #7A5E9A; }
  #adenomyosis .info-callout { border-left-color: #7A5E9A; }
  #adenomyosis .tag { background: #EDE4F8; color: #7A5E9A; }
  #pcos .guide-label, #pcos .step-num { color: #9A7B4F; }
  #pcos .info-callout { border-left-color: #9A7B4F; }
  #pcos .tag { background: #F7EBD9; color: #9A7B4F; }
  #hashimotos .guide-label, #hashimotos .step-num { color: #4F6B8F; }
  #hashimotos .info-callout { border-left-color: #4F6B8F; }
  #hashimotos .tag { background: #E4ECF7; color: #4F6B8F; }
  #not-giving-a-krap .guide-label, #not-giving-a-krap .step-num { color: #A8762F; }
  #not-giving-a-krap .info-callout { border-left-color: #A8762F; }
  #not-giving-a-krap .tag { background: #F9EBD6; color: #8F641F; }
  #overcoming-failure .guide-label, #overcoming-failure .step-num { color: #5E7F5A; }
  #overcoming-failure .info-callout { border-left-color: #5E7F5A; }
  #overcoming-failure .tag { background: #E7F0E4; color: #4A6647; }
  #sen-parenting .guide-label, #sen-parenting .step-num { color: #4F6B99; }
  #sen-parenting .info-callout { border-left-color: #4F6B99; }
  #sen-parenting .tag { background: #E4EDF8; color: #3E5578; }

  /* ===== SCENIC MOOD BANDS (positive visuals) ===== */
  .scene-band { position:relative; height:300px; overflow:hidden; }
  .scene-band svg { width:100%; height:100%; display:block; }
  .scene-quote { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:0 8%; }
  .scene-quote p { font-family:'Cabin', sans-serif; font-style:italic; font-weight:300; color:#FFFFFF; font-size:clamp(1.3rem,3.2vw,2rem); line-height:1.45; max-width:680px; text-shadow:0 2px 18px rgba(0,0,0,0.28); margin:0; }


  /* ===== Fun dropdown guides ===== */
  details.guide-drop { width: min(820px, 92%); margin: 0 auto 18px; padding: 0; background: var(--white); border: 1.5px solid var(--border); border-radius: 22px; overflow: hidden; box-shadow: 0 6px 18px rgba(110,95,142,0.06); transition: box-shadow .25s, transform .25s, border-color .25s; }
  details.guide-drop:nth-child(even) { background: var(--white); }
  details.guide-drop:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(110,95,142,0.12); }
  details.guide-drop[open] { box-shadow: 0 16px 40px rgba(110,95,142,0.15); border-color: var(--lavender, var(--accent)); }
  summary.guide-head { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 16px; padding: 18px 22px; outline: none; -webkit-tap-highlight-color: transparent; }
  summary.guide-head::-webkit-details-marker { display: none; }
  summary.guide-head:focus-visible { box-shadow: inset 0 0 0 2px var(--accent); border-radius: 22px; }
  .guide-emoji { flex: 0 0 auto; width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; font-size: 30px; background: linear-gradient(135deg, #E3CFF2, #C9A2DD); box-shadow: 0 6px 16px rgba(110,95,142,0.14); transition: transform .35s ease; }
  details.guide-drop[open] .guide-emoji { transform: rotate(-7deg) scale(1.06); }
  details.guide-drop:hover .guide-emoji { transform: scale(1.06); }
  .guide-head-text { flex: 1 1 auto; min-width: 0; }
  .guide-kicker { display: none; }
  .guide-kicker .dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; display: inline-block; }
  .guide-head-title { display: block; font-family: 'Cabin', sans-serif; font-weight: 600; font-size: 1.4rem; line-height: 1.15; color: var(--charcoal); margin-bottom: 5px; }
  .guide-head-title em { font-style: italic; color: var(--accent); }
  .guide-teaser { display: block; font-size: 13.5px; color: var(--mid); line-height: 1.5; }
  .guide-chevron { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-light, #F2C6CF); color: var(--accent); font-size: 13px; transition: transform .35s ease, background .25s; }
  details.guide-drop[open] .guide-chevron { transform: rotate(180deg); background: var(--accent); color: var(--white); }
  details.guide-drop > .guide-inner { max-width: none; padding: 0 30px 36px; }
  details.guide-drop[open] > .guide-inner { border-top: 1px dashed var(--border); padding-top: 26px; }
  details.guide-drop > .guide-inner > h2,
  details.guide-drop > .guide-inner > .topic-badge { display: none; }
  details.guide-drop > .guide-inner > .guide-image { margin-top: 4px; max-width: 220px; }
  details.guide-drop[open] .why-box { background: var(--cream); }
  @keyframes guidePop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
  details.guide-drop[open] > .guide-inner > * { animation: guidePop .4s ease both; }
  @media (max-width: 600px) {
    .guide-emoji { width: 50px; height: 50px; font-size: 24px; border-radius: 50%; }
    summary.guide-head { padding: 14px 14px; gap: 12px; }
    .guide-head-title { font-size: 1.2rem; }
    details.guide-drop > .guide-inner { padding: 0 18px 28px; }
    .toolkit { padding: 20px 18px; }
    .try-this { padding: 18px 16px; }
    .why-box, .info-callout { padding-right: 18px; padding-left: 18px; }
  }
/* ============================================================
   LAYOUT REMIX, structural re-flow + Cabin typeface
   Re-arranges the page rather than recolouring it: a floating
   island nav, left-aligned editorial hero & section headings,
   staggered asymmetric path cards and accent-striped cards.
   ============================================================ */

/*, Cabin everywhere (single family in place of Fraunces/Hanken/Caveat), */
body, p, a, li, span, button, input, textarea, select,
h1, h2, h3, h4, h5, h6,
.hero h1, .hero-eyebrow, .hero p,
.relief-hero, .sup-hero, .sup-hero-eyebrow,
.mission h2, .mission .label, .mission p,
.resources h2, .resources .label,
.video-section h2, .video-section .label, .video-section .sub,
.video-group-head h3, .path-card h2, .path-eyebrow,
.resource-card h3, .founder-inner p, .founder-inner .label,
.scene-quote p, .reg-card h2, .reg-col h3, .tcta-body h3 {
  font-family: 'Cabin', sans-serif !important;
}
h1, h2, h3, h4,
.hero h1, .mission h2, .resources h2, .video-section h2,
.path-card h2, .founder-inner p, .scene-quote p {
  font-style: normal !important;
  letter-spacing: -0.012em !important;
}
.hero h1 em, .mission h2 em, .founder-inner p, .scene-quote p { font-style: normal !important; }
.hero h1, .mission h2, .resources h2, .video-section h2 { font-weight: 700 !important; }
.path-card h2, .resource-card h3, .video-group-head h3, .reg-card h2 { font-weight: 600 !important; }

/*, NAV → floating rounded island instead of a full-bleed bar, */
nav {
  position: sticky;
  top: 14px;
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 14px auto 0 !important;
  padding: 13px 26px !important;
  border: 1px solid var(--blush) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 44px -26px rgba(74,42,86,.45) !important;
}
.nav-links a { text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 600 !important; }
.nav-cta { text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; }

/* Center the top navigation links inside the floating white bubble */
body > nav {
  justify-content: center !important;
}
body > nav .nav-logo {
  position: absolute;
  left: 26px;
}
body > nav .nav-links {
  justify-content: center !important;
}
body > nav .nav-toggle {
  position: absolute;
  right: 18px;
}
@media (max-width: 800px) {
  body > nav { justify-content: space-between !important; }
  body > nav .nav-logo { position: static; }
  body > nav .nav-toggle { position: relative; right: auto; }
}

/*, HERO → left-aligned editorial block, badge eyebrow, */
.hero, .relief-hero, .sup-hero {
  text-align: left !important;
  padding-left: 8% !important;
  padding-right: 8% !important;
}
.hero { padding-top: 112px !important; padding-bottom: 52px !important; }
.hero h1, .hero p, .hero .hero-eyebrow,
.mission h2, .mission p, .mission .label { margin-left: 0 !important; margin-right: 0 !important; }
.hero-eyebrow, .sup-hero-eyebrow {
  display: inline-block;
  margin: 0 0 22px 0 !important;
  padding: 7px 18px;
  border: 1.5px solid var(--bloom);
  border-radius: 999px;
  text-transform: none !important;
  letter-spacing: .02em !important;
  font-size: .95rem !important;
  color: var(--bloom) !important;
}
.hero h1 { max-width: 820px !important; line-height: 1.06 !important; margin-bottom: 22px !important; }
.hero p { max-width: 600px !important; font-size: 1.05rem !important; margin-bottom: 36px !important; }
.hero h1 em { background: linear-gradient(transparent 60%, var(--bloom-soft) 60%) !important; }

/*, SECTION HEADINGS → left aligned with a short accent rule, */
.mission { text-align: left !important; max-width: 940px !important; }
.mission-decor { margin: 0 0 24px 0 !important; }
.mission .label, .resources .label, .video-section .label, .founder-inner .label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  position: relative;
  padding-left: 52px;
  text-align: left !important;
  display: inline-block;
}
.mission .label::before, .resources .label::before,
.video-section .label::before, .founder-inner .label::before {
  content: ""; position: absolute; left: 0; top: 50%;
  width: 40px; height: 2px; background: var(--bloom);
}
.resources h2, .video-section h2 { text-align: left !important; }
.video-section .sub { text-align: left !important; margin-left: 0 !important; }

/*, PATH CARDS → staggered, asymmetric pair, */
.paths {
  grid-template-columns: 1.12fr 0.88fr !important;
  gap: 22px !important;
  align-items: start !important;
  padding: 0 5%;
  max-width: 1120px !important;
}
.path-card { border-radius: 26px !important; }
.path-card.women { margin-top: 54px !important; }
.path-eyebrow { text-transform: none !important; letter-spacing: .02em !important; font-size: .9rem !important; }

/*, RESOURCE CARDS → two-up with an accent left stripe, */
.resource-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 22px !important; }
.resource-card {
  border-left: 4px solid var(--bloom) !important;
  border-radius: 6px 20px 20px 6px !important;
  padding: 30px 30px 30px 28px !important;
}
.resource-card a { text-transform: none !important; letter-spacing: 0 !important; }

/*, FOOTER → centered across the bottom, */
footer { text-align: center !important; }
.footer-logo, .footer-links { justify-content: center !important; }
.footer-links { margin-left: auto !important; margin-right: auto !important; }
footer p { margin-left: auto !important; margin-right: auto !important; }

/*, responsive: collapse the remixed grids on small screens, */
@media (max-width: 820px) {
  .paths { grid-template-columns: 1fr !important; }
  .path-card.women { margin-top: 0 !important; }
  .resource-grid { grid-template-columns: 1fr !important; }
  /* Mobile: remove the floating white nav bar; keep only the menu toggle as a floating option on the side */
  nav { top: 0; width: 100%; margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; pointer-events: none; }
  body > nav .nav-logo { display: none; }
  body > nav .nav-links { pointer-events: auto; }
  body > nav .nav-toggle { pointer-events: auto; position: fixed; top: 14px; right: 14px; background: var(--white); border: 1px solid var(--blush); border-radius: 50%; box-shadow: 0 6px 18px -6px rgba(74,42,86,.45); }
  .hero { padding-left: 6% !important; padding-right: 6% !important; }
}
/* Center all headers, titles and intro text at the top of every page */
.hero, .relief-hero, .sup-hero, .policy-hero {
  text-align: center !important;
}
.hero .hero-eyebrow, .hero h1, .hero p,
.relief-hero .hero-eyebrow, .relief-hero h1, .relief-hero p,
.sup-hero .sup-hero-eyebrow, .sup-hero .hero-eyebrow, .sup-hero h1, .sup-hero p,
.policy-hero .hero-eyebrow, .policy-hero h1, .policy-hero p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Remove orange accenting from top page titles */
.hero .hero-eyebrow,
.relief-hero .hero-eyebrow,
.sup-hero .sup-hero-eyebrow,
.sup-hero .hero-eyebrow,
.policy-hero .hero-eyebrow {
  color: var(--plum) !important;
  border-color: var(--plum) !important;
}
.hero h1 em,
.relief-hero h1 em,
.sup-hero h1 em,
.policy-hero h1 em {
  color: var(--plum) !important;
  background: none !important;
}
/* Align all text to centre across the whole site */
body, body * { text-align: center !important; }
/* Flip elements that were explicitly left-aligned and re-centre their blocks */
.hero, .relief-hero, .sup-hero, .policy-hero,
.mission, .resources, .video-section, .founder-inner,
.hero h1, .hero h2, .hero p, .hero .hero-eyebrow,
.relief-hero h1, .relief-hero p, .relief-hero .hero-eyebrow,
.sup-hero h1, .sup-hero p, .sup-hero .hero-eyebrow, .sup-hero .sup-hero-eyebrow,
.policy-hero h1, .policy-hero p, .policy-hero .hero-eyebrow,
.mission h2, .mission p, .mission .label,
.resources h2, .resources .label, .resources .sub,
.video-section h2, .video-section .sub, .video-section .label,
.founder-inner .label, .res-item {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
