/* Ghost button on dark bands: gold, not teal — teal-on-deep-teal is 1.49:1 */
.home .intro__cta .btn--ghost,
.home .book-promo .btn--ghost,
.home .newsletter .btn--ghost {
  color: var(--color-warm-gold);
  border-color: var(--color-warm-gold);
}
.home .intro__cta .btn--ghost:hover,
.home .book-promo .btn--ghost:hover,
.home .newsletter .btn--ghost:hover {
  background: var(--color-warm-gold);
  color: var(--color-deep-charcoal);
}

/* Buttons match the design spec inside .home: larger padding + 1.5px
   outlines so ghost and outline-light render identically. */
.home .btn {
  padding: 0.75rem 1.5rem;
}
.home .btn--outline-light,
.home .intro__cta .btn--ghost {
  border: 1.5px solid var(--color-warm-gold);
  color: var(--color-warm-gold);
}
.home .btn--outline-light:hover {
  background: var(--color-warm-gold);
  color: var(--color-deep-charcoal);
}

/* Newsletter — stacked fields + Kit success state. The old 2-up row
   (1fr 1.4fr) crushed the email input to ~160px beside the submit
   button; one field per row gives each full column width. */
.home .newsletter__row {
  display: grid;
  gap: var(--space-sm);
}
.home .newsletter__field {
  display: flex;
  border: 1.5px solid rgba(245, 240, 232, 0.4);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: rgba(253, 250, 245, 0.06);
}
.home .newsletter__field input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 1rem 1.25rem;
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-warm-white);
  min-height: auto;
}
.home .newsletter__field input::placeholder { color: rgba(245, 240, 232, 0.65); }
.home .newsletter__field input:focus-visible {
  outline: 2px solid var(--color-cream);
  outline-offset: -3px;
}
.home .newsletter__success-title {
  font-family: var(--font-headline);
  font-size: 1.375rem;
  color: var(--color-warm-white);
  margin-bottom: var(--space-xs);
}
@media (max-width: 640px) {
  .home .newsletter__row { gap: var(--space-xs); }
}

/* Selection and focus must read on the teal bands: the global
   forest-teal ::selection (style.css §02) disappears against the
   newsletter's forest-teal background, and the forest-teal focus ring
   is near-invisible on it. Gold carries both here — a fill on dark,
   never text or a border on light (§3.2). */
.home .intro ::selection,
.home .book-promo ::selection,
.home .newsletter ::selection {
  background: var(--color-warm-gold);
  color: var(--color-deep-charcoal);
}
.home .newsletter :focus-visible {
  outline-color: var(--color-focus-on-dark);
}

/* ==========================================================================
   Home page — custom front-page design (OD: templates/home.html, 2026-09-21).
   Scoped under `.home` (the front-page <main> class); enqueued only on the
   front page (plan §5 conditional per-template CSS). Token values inherit
   from style.css §01.
   ========================================================================== */

.home /* ── HERO: SOLUTION FINDER ─────────────────── */

    .hero{
      background: var(--color-warm-white);
      padding: var(--space-4xl) var(--space-lg) var(--space-3xl);
      border-bottom: 1px solid var(--color-soft-taupe);
    }.home .hero__inner{
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }.home .hero__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-md);
    }.home .hero h1{
      font-size: var(--text-h1);
      margin-bottom: var(--space-md);
    }.home .hero__description{
      font-size: 1.0625rem;
      color: var(--color-warm-gray);
      line-height: 1.7;
      max-width: 580px;
      margin: 0 auto var(--space-xl);
    }.home .hero__search{
      display: flex;
      max-width: 620px;
      margin: 0 auto;
      border: 2px solid var(--color-forest-teal);
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--color-warm-white);
      box-shadow: var(--shadow-card);
    }.home .hero__search input{
      flex: 1;
      min-width: 0;
      border: none;
      background: transparent;
      padding: 1rem 1.25rem;
      font-family: var(--font-body);
      font-size: 1rem;
      color: var(--color-deep-charcoal);
    }.home .hero__search input::placeholder{ color: var(--color-warm-gray); }.home .hero__search input:focus{ outline-offset: -3px; border-radius: 0; }.home .hero__search button{
      display: inline-flex;
      align-items: center;
      gap: var(--space-sm);
      padding: 1rem 1.5rem;
      background: var(--color-warm-gold);
      color: var(--color-deep-charcoal);
      border: none;
      font-family: var(--font-body);
      font-size: var(--text-caption);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: background 200ms ease;
      white-space: nowrap;
    }.home .hero__search button:hover{ background: var(--color-antique-gold); }.home .hero__popular{
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: var(--space-sm);
      margin-top: var(--space-lg);
      font-size: var(--text-caption);
    }.home .hero__popular-label{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-warm-gray);
      margin-right: var(--space-xs);
    }.home .hero__popular a{
      display: inline-block;
      padding: 0.5rem 1rem;
      background: var(--color-cream);
      color: var(--color-forest-teal);
      font-size: var(--text-caption);
      font-weight: 500;
      border-radius: 999px;
      text-decoration: none;
      transition: background 200ms ease, color 200ms ease;
    }.home .hero__popular a:hover{
      background: var(--color-forest-teal);
      color: var(--color-cream);
      text-decoration: none;
    }.home .hero__assurance{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      margin-top: var(--space-xl);
      padding-top: var(--space-lg);
      border-top: 1px solid var(--color-soft-taupe);
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
    }.home .hero__assurance svg{ color: var(--color-forest-teal); flex-shrink: 0; }.home .hero__assurance a{
      font-weight: 600;
      color: var(--color-deep-charcoal);
      text-decoration: underline;
      text-decoration-color: var(--color-soft-taupe);
      text-underline-offset: 0.2em;
    }.home .hero__assurance a:hover{ color: var(--color-forest-teal); text-decoration-color: var(--color-forest-teal); }.home /* ── INTRO: MEET DR. BRIGHTEN — CINEMATIC BAND ──
       Full-bleed deep-teal chapter. The portrait bleeds off the right
       viewport edge at full band height and dissolves into the section
       through a layered gradient fade, .home so image and page share one
       ground instead of the photo sitting in a framed card. */

    .home .intro{
      background: var(--color-deep-teal);
    }.home .intro__spread{
      display: grid;
      grid-template-columns: minmax(0, 640px) 1fr;
      align-items: stretch;
    }.home .intro__panel{
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: var(--space-4xl) var(--space-xl) var(--space-3xl) max(var(--space-lg), calc((100vw - var(--width-content)) / 2));
    }.home .intro__media{
      position: relative;
      justify-self: end;
      width: min(100%, 680px);
      min-height: 520px;
    }.home .intro__media img{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      /* Desktop: pan the crop so Dr. Brighten stands right of the left-edge
         fade — the gradient dissolves the garden, never her (2026-09-21).
         The ≤1024px block restores the centered crop for the mobile banner. */
      object-position: 12% 18%;
    }.home /* The fade: melts the photo's left edge into the band, .home with a
       gentle top-and-bottom vignette to unify tone. */
    .intro__media::after{
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, var(--color-deep-teal) 0%, rgba(22, 63, 56, 0.55) 24%, rgba(22, 63, 56, 0) 44%),
        linear-gradient(0deg, rgba(22, 63, 56, 0.32) 0%, rgba(22, 63, 56, 0) 42%),
        linear-gradient(180deg, rgba(22, 63, 56, 0.24) 0%, rgba(22, 63, 56, 0) 26%);
    }.home .intro__inner{
      max-width: var(--width-content);
      margin: 0 auto;
      padding: 0 var(--space-lg) var(--space-3xl);
    }.home .intro__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-warm-gold);
      margin-bottom: var(--space-sm);
    }.home .intro h2{
      font-size: var(--text-h1);
      color: var(--color-warm-white);
      max-width: 480px;
      margin-bottom: var(--space-md);
    }.home .intro__bio{
      font-size: 1.0625rem;
      line-height: 1.75;
      color: rgba(245, 240, 232, 0.85);
      max-width: 560px;
      margin-bottom: var(--space-lg);
    }.home .intro__bio strong{ color: var(--color-warm-white); }.home .intro__credentials{
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-sm);
      margin-bottom: var(--space-xl);
    }.home .credential-tag{
      display: inline-block;
      padding: 0.375rem 0.75rem;
      background: transparent;
      border: 1px solid rgba(245, 240, 232, 0.28);
      color: var(--color-warm-white);
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      border-radius: var(--radius-sm);
    }.home .intro__cta{ display: flex; align-items: center; gap: var(--space-lg); flex-wrap: wrap; }.home .intro__cta .btn--ghost{
      padding-left: 0;
      padding-right: 0;
      color: var(--color-warm-white);
      text-decoration-color: rgba(245, 240, 232, 0.4);
    }.home .intro__cta .btn--ghost:hover{
      color: var(--color-warm-white);
      text-decoration-color: var(--color-warm-gold);
    }.home /* Trust bar */

    .trust-bar{
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--space-lg);
      padding: var(--space-xl) 0;
      border-top: 1px solid rgba(245, 240, 232, 0.16);
      border-bottom: 1px solid rgba(245, 240, 232, 0.16);
    }.home .trust-bar__stat{ text-align: center; }.home .trust-bar__stat + .trust-bar__stat{ border-left: 1px solid rgba(245, 240, 232, 0.16); }.home .trust-bar__number{
      display: block;
      font-family: var(--font-headline);
      font-size: 2rem;
      font-weight: 700;
      color: var(--color-warm-white);
      line-height: 1.1;
    }.home .trust-bar__label{
      display: block;
      margin-top: var(--space-xs);
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(245, 240, 232, 0.7);
    }.home /* Featured-in strip */

    .media-strip{
      padding-top: var(--space-xl);
      text-align: center;
    }.home .media-strip__label{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: rgba(245, 240, 232, 0.7);
      margin-bottom: var(--space-md);
    }.home .media-strip__logos{
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: var(--space-md) var(--space-xl);
      font-family: var(--font-headline);
      font-size: 1.0625rem;
      font-weight: 700;
      color: rgba(245, 240, 232, 0.8);
    }.home /* ── SECTION SCAFFOLD ──────────────────────── */

    .home-section{
      padding: var(--space-3xl) var(--space-lg);
      border-top: 1px solid var(--color-soft-taupe);
    }.home .home-section__inner{
      max-width: var(--width-content);
      margin: 0 auto;
    }.home .section-head{
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: var(--space-xl);
      margin-bottom: var(--space-2xl);
    }.home .section-head__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-sm);
    }.home .section-head h2{ font-size: var(--text-h2); max-width: 560px; }.home .section-head__description{
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      max-width: 420px;
      line-height: 1.65;
      margin-top: var(--space-sm);
    }.home .section-head__link{
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      font-size: var(--text-caption);
      font-weight: 600;
      color: var(--color-forest-teal);
      white-space: nowrap;
      padding-bottom: 0.25rem;
    }.home .section-head__link svg{ transition: transform 200ms ease; }.home .section-head__link:hover{ text-decoration: none; color: var(--color-deep-teal); }.home .section-head__link:hover svg{ transform: translateX(3px); }.home /* ── TOPIC HUBS ────────────────────────────── */

    .hub-grid{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-lg);
    }.home .hub-card{
      display: flex;
      flex-direction: column;
      background: var(--color-warm-white);
      border: 1px solid var(--color-soft-taupe);
      border-radius: var(--radius-lg);
      overflow: hidden;
      text-decoration: none;
      color: inherit;
      transition: box-shadow 200ms ease, transform 200ms ease;
    }.home .hub-card:hover{
      text-decoration: none;
      box-shadow: var(--shadow-card);
      transform: translateY(-2px);
    }.home .hub-card__image{
      aspect-ratio: 16 / 9;
      background: var(--color-soft-taupe);
      overflow: hidden;
    }.home .hub-card__image img{ width: 100%; height: 100%; object-fit: cover; }.home .hub-card__content{
      padding: var(--space-lg);
      display: flex;
      flex-direction: column;
      flex: 1;
    }.home .hub-card h3{
      font-size: 1.25rem;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-sm);
    }.home .hub-card:hover h3{ color: var(--color-deep-teal); }.home .hub-card p{
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      line-height: 1.6;
      margin-bottom: var(--space-md);
    }.home .hub-card__link{
      margin-top: auto;
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
    }.home .hub-card__link svg{ transition: transform 200ms ease; }.home .hub-card:hover .hub-card__link svg{ transform: translateX(3px); }.home /* ── FEATURED ARTICLE ──────────────────────── */

    .featured-article{
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: var(--space-2xl);
      align-items: center;
      padding-bottom: var(--space-2xl);
      margin-bottom: var(--space-2xl);
      border-bottom: 1px solid var(--color-soft-taupe);
    }.home .featured-article__image{
      aspect-ratio: 16 / 9;
      border-radius: var(--radius-lg);
      overflow: hidden;
      background: var(--color-cream);
    }.home .featured-article__image img{ width: 100%; height: 100%; object-fit: cover; }.home .featured-article__category{
      display: inline-block;
      padding: 0.25rem 0.625rem;
      background: var(--color-cream);
      color: var(--color-forest-teal);
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      border-radius: var(--radius-sm);
      text-decoration: none;
      transition: background 200ms ease, color 200ms ease;
      width: fit-content;
    }.home .featured-article__category:hover{ background: var(--color-forest-teal); color: var(--color-cream); text-decoration: none; }.home .featured-article h3{
      font-size: var(--text-h2);
      margin-top: var(--space-md);
      margin-bottom: var(--space-sm);
    }.home .featured-article h3 a{ color: inherit; text-decoration: none; }.home .featured-article h3 a:hover{ color: var(--color-forest-teal); text-decoration: none; }.home .featured-article__excerpt{
      font-size: 1rem;
      color: var(--color-warm-gray);
      line-height: 1.7;
      margin-bottom: var(--space-md);
    }.home .reviewed-by{
      display: flex;
      align-items: center;
      gap: 0.375rem;
      font-size: var(--text-overline);
      color: var(--color-warm-gray);
    }.home .reviewed-by svg{ color: var(--color-forest-teal); flex-shrink: 0; }.home .reviewed-by strong{ color: var(--color-deep-charcoal); font-weight: 600; }.home /* ── LATEST ARTICLES GRID ──────────────────── */

    .article-grid{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-xl) var(--space-lg);
    }

    /* Article cards reuse the shared parts/card/article partial and its
       §13 styles. Home-specific .article-card overrides were removed
       2026-09-21 — they fought the global card border, leaving text flush
       against it with no padding. */
    /* ── BOOK PROMO ────────────────────────────── */

    .home .book-promo{
      background: var(--color-deep-teal);
      color: var(--color-cream);
      padding: var(--space-4xl) var(--space-lg);
    }.home .book-promo__inner{
      max-width: var(--width-content);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: clamp(40px, 6vw, 88px);
      align-items: center;
    }.home .book-promo__cover{
      position: relative;
      justify-self: center;
      /* The cover source is a transparent-PNG mockup: a shadow on the
         img outlines the whole PNG rectangle, not the book. Frame it
         on a cream panel (offset-framing pattern, gold rule accent)
         and let the opaque panel carry the shadow instead. */
      background: var(--color-cream);
      border-top: 3px solid var(--color-warm-gold);
      border-radius: var(--radius-lg);
      padding: var(--space-lg);
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
    }.home .book-promo__cover img{
      display: block;
      width: 100%;
      max-width: 240px;
    }.home .book-promo__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--color-warm-gold);
      margin-bottom: var(--space-sm);
    }.home .book-promo h2{
      font-size: clamp(2rem, 3.6vw, 3rem);
      color: var(--color-warm-white);
      margin-bottom: var(--space-md);
    }.home .book-promo__publisher{
      font-size: var(--text-caption);
      color: var(--color-cream);
      opacity: 0.8;
      margin-bottom: var(--space-md);
    }.home .book-promo__description{
      font-size: 1.0625rem;
      line-height: 1.75;
      color: var(--color-cream);
      opacity: 0.92;
      max-width: 560px;
      margin-bottom: var(--space-xl);
    }.home .book-promo__points{
      list-style: none;
      margin-bottom: var(--space-2xl);
      display: grid;
      gap: var(--space-md);
    }.home .book-promo__points li{
      display: flex;
      gap: 0.75rem;
      align-items: start;
      font-size: 1rem;
      line-height: 1.6;
      color: var(--color-cream);
    }.home .book-promo__points svg{ flex-shrink: 0; margin-top: 0.2rem; color: var(--color-warm-gold); }.home .book-promo__cta{ display: flex; align-items: center; gap: var(--space-lg); flex-wrap: wrap; }.home /* ── PODCAST ───────────────────────────────── */

    .podcast__grid{
      display: grid;
      grid-template-columns: 340px minmax(0, 1fr);
      gap: var(--space-2xl);
      align-items: start;
    }.home .podcast__show{
      position: sticky;
      top: calc(var(--header-height) + var(--space-lg));
    }.home .podcast__artwork{
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-card);
      margin-bottom: var(--space-lg);
    }.home .podcast__artwork img{ width: 100%; height: auto; }.home .podcast__show p{
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      line-height: 1.65;
      margin-bottom: var(--space-lg);
    }.home .podcast__platforms{
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-sm);
    }.home .platform-link{
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.5rem 0.875rem;
      border: 1.5px solid var(--color-forest-teal);
      color: var(--color-forest-teal);
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      border-radius: var(--radius-sm);
      text-decoration: none;
      transition: background 200ms ease, color 200ms ease;
    }.home .platform-link:hover{ background: var(--color-forest-teal); color: var(--color-cream); text-decoration: none; }.home .latest-episode{
      display: grid;
      grid-template-columns: 200px minmax(0, 1fr);
      gap: var(--space-xl);
      padding: var(--space-lg);
      background: var(--color-cream);
      border-radius: var(--radius-lg);
      margin-bottom: var(--space-lg);
    }.home .latest-episode__artwork{
      aspect-ratio: 16 / 9; /* YouTube thumbnail format — don't crop to square (matches .episode-card) */
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--color-soft-taupe);
    }.home .latest-episode__artwork img{ width: 100%; height: 100%; object-fit: cover; }.home .latest-episode__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      margin-bottom: var(--space-xs);
    }.home .latest-episode h3{
      font-size: 1.25rem;
      line-height: 1.3;
      margin-bottom: var(--space-sm);
    }.home .latest-episode h3 a{ color: inherit; text-decoration: none; }.home .latest-episode h3 a:hover{ color: var(--color-forest-teal); text-decoration: none; }.home .latest-episode__meta{
      font-size: var(--text-overline);
      color: var(--color-warm-gray);
      margin-bottom: var(--space-sm);
    }.home .latest-episode__excerpt{
      font-size: var(--text-caption);
      color: var(--color-warm-gray);
      line-height: 1.6;
      margin-bottom: var(--space-md);
    }.home .episode-row{
      display: grid;
      grid-template-columns: 100px minmax(0, 1fr) auto; /* matches the 16:9 artwork */
      gap: var(--space-lg);
      align-items: center;
      padding: var(--space-md) 0;
      border-top: 1px solid var(--color-soft-taupe);
      text-decoration: none;
      color: inherit;
    }.home .episode-row:hover{ text-decoration: none; }.home .episode-row:hover h4{ color: var(--color-forest-teal); }.home .episode-row__artwork{
      width: 100px;
      height: 56px; /* 16:9 — YouTube thumbnail format, subjects stay in frame */
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--color-soft-taupe);
    }.home .episode-row__artwork img{ width: 100%; height: 100%; object-fit: cover; }.home .episode-row h4{
      font-family: var(--font-body);
      font-size: 0.9375rem;
      font-weight: 600;
      line-height: 1.4;
      margin-bottom: 0.125rem;
      transition: color 200ms ease;
    }.home .episode-row__meta{
      font-size: var(--text-overline);
      color: var(--color-warm-gray);
    }.home .episode-row__number{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--color-forest-teal);
      white-space: nowrap;
    }.home .podcast__all{ margin-top: var(--space-lg); text-align: right; }/* ── NEWSLETTER ────────────────────────────── */

    .home .newsletter{
      background: var(--color-forest-teal);
      color: var(--color-cream);
      padding: var(--space-4xl) var(--space-lg);
    }.home .newsletter__inner{
      max-width: var(--width-content);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: clamp(40px, 6vw, 88px);
      align-items: center;
    }.home .newsletter__overline{
      font-size: var(--text-overline);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--color-cream);
      margin-bottom: var(--space-sm);
    }.home .newsletter h2{
      font-size: var(--text-h2);
      color: var(--color-warm-white);
      margin-bottom: var(--space-md);
      max-width: 440px;
    }.home .newsletter__description{
      font-size: 1rem;
      line-height: 1.7;
      color: var(--color-cream);
      opacity: 0.92;
      max-width: 460px;
    }.home .newsletter__form{
      display: flex;
      flex-direction: column;
      gap: var(--space-md);
    }.home .newsletter__field{
      display: flex;
      border: 1.5px solid rgba(245, 240, 232, 0.4);
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--color-warm-white);
    }.home .newsletter__field input{
      flex: 1;
      min-width: 0;
      border: none;
      background: transparent;
      padding: 1rem 1.25rem;
      font-family: var(--font-body);
      font-size: 1rem;
      color: var(--color-deep-charcoal);
    }.home .newsletter__field input::placeholder{ color: var(--color-warm-gray); }.home .newsletter__field input:focus{ outline-offset: -3px; border-radius: 0; }.home .newsletter__field button{
      padding: 1rem 1.5rem;
      background: var(--color-warm-gold);
      color: var(--color-deep-charcoal);
      border: none;
      font-family: var(--font-body);
      font-size: var(--text-caption);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: background 200ms ease;
      white-space: nowrap;
    }.home .newsletter__field button:hover{ background: var(--color-antique-gold); }.home .newsletter__benefits{
      list-style: none;
      display: grid;
      gap: var(--space-sm);
    }.home .newsletter__benefits li{
      display: flex;
      align-items: start;
      gap: 0.625rem;
      font-size: var(--text-caption);
      line-height: 1.6;
      color: var(--color-cream);
    }.home .newsletter__benefits svg{ flex-shrink: 0; margin-top: 0.15rem; color: var(--color-warm-gold); }.home .newsletter__privacy{
      font-size: var(--text-micro);
      color: rgba(245, 240, 232, 0.82); /* ≥4.5:1 on forest-teal; opacity .65 measured 3.9 */
    }.home .newsletter__privacy a{
      color: var(--color-cream);
      text-decoration: underline;
      text-underline-offset: 0.18em;
    }.home .newsletter__privacy a:hover{ color: var(--color-warm-white); }.home 
/* "Her books" renders as a real button matching its sibling (the design's
   text-link treatment — padding-left/right: 0 — is overridden per Bryce). */
.home .intro__cta .btn--ghost {
  padding: 0.75rem 1.5rem;
  border: 1.5px solid var(--color-warm-gold);
  text-decoration: none;
}


/* ── Responsive (ported from the design; scoped under .home) ── */

/* ── RESPONSIVE ────────────────────────────── */

    @media (max-width: 1024px) {.home .hub-grid, .home .article-grid{ grid-template-columns: repeat(2, 1fr); }.home .podcast__grid{ grid-template-columns: 280px minmax(0, 1fr); }.home /* Cinematic spread stacks: photo becomes a full-width banner
         that melts downward into the panel. */
      .intro__spread{ grid-template-columns: 1fr; }.home .intro__media{
        order: -1;
        justify-self: stretch;
        width: 100%;
        min-height: 0;
        aspect-ratio: 4 / 5;
        max-height: 480px;
      }.home .intro__media img{
        object-position: 50% 18%; /* banner keeps the centered crop */
      }.home .intro__media::after{
        background: linear-gradient(180deg, rgba(22, 63, 56, 0.25) 0%, rgba(22, 63, 56, 0) 28%, rgba(22, 63, 56, 0) 52%, var(--color-deep-teal) 100%);
      }.home .intro__panel{ padding: var(--space-xl) var(--space-lg) var(--space-3xl); }.home .intro h2{ max-width: none; }
    }

    @media (max-width: 768px) {.home .hero{ padding: var(--space-3xl) var(--space-lg) var(--space-2xl); }.home .hero__search{ flex-direction: column; }.home .hero__search button{ justify-content: center; }.home .trust-bar{ grid-template-columns: repeat(2, 1fr); gap: var(--space-lg) 0; }.home .trust-bar__stat:nth-child(3){ border-left: none; }.home .hub-grid, .home .article-grid{ grid-template-columns: 1fr; }.home .section-head{ flex-direction: column; align-items: start; gap: var(--space-sm); }.home .featured-article{ grid-template-columns: 1fr; gap: var(--space-lg); }.home .book-promo{ padding: var(--space-3xl) var(--space-lg); }.home .book-promo__inner{ grid-template-columns: 1fr; }.home .book-promo__cover{ justify-self: start; }.home .podcast__grid{ grid-template-columns: 1fr; }.home .podcast__show{ position: static; }.home .podcast__artwork{ max-width: 280px; }.home .latest-episode{ grid-template-columns: 1fr; }.home .latest-episode__artwork{ max-width: 200px; }.home .newsletter__inner{ grid-template-columns: 1fr; }}
