/* ═══════════════════════════════════════════════════════════════
   FIRESIDE PUBLISHING HOUSE — fireside.css
   Merged stylesheet for all pages
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Design Tokens ──────────────────────────────────────── */
  :root {
    --serif: 'Playfair Display', Georgia, serif;
    --sans: 'Inter', system-ui, sans-serif;
    --accent: #D8891F;
    --accent-pale: #F5E6D0;
    --accent-dim: rgba(216,137,31,0.12);
    --text: #2A2A2A;
    --grey-dark: #4A4A4A;
    --grey-mid: #7A7A7A;
    --grey-light: #EAEAEA;
    --bg: #F7F6F4;
    --white: #FFFFFF;
    --dark: #1A100A;
    --dark-mid: #271608;
  }

/* ── 2. Base Reset & Typography ────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

    html { scroll-behavior: smooth; overflow-x: hidden; }

    body {
      background-color: var(--bg);
      color: var(--text);
      font-family: var(--sans);
      font-size: 1rem;
      line-height: 1.7;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    h1, h2, h3, h4, h5 {
      font-family: var(--serif);
      font-weight: 500;
      line-height: 1.2;
      color: var(--text);
    }

    p { color: var(--grey-dark); }

    a {
      color: inherit;
      text-decoration: none;
    }

  body { margin: 0; }
  p { line-height: 1.8; }

/* ── 3. Utilities ──────────────────────────────────────────── */
.label-caps {
      font-family: var(--sans);
      font-size: 0.67rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--accent);
      display: inline-block;
    }
    .divider-warm {
      display: block;
      width: 40px;
      height: 1.5px;
      background: var(--accent);
      margin: 1rem 0 1.75rem;
    }
    .section-pad    { padding: 7rem 0; }
    .section-pad-md { padding: 5rem 0; }
    .section-pad-sm { padding: 3.5rem 0; }

/* ── 4. Buttons ────────────────────────────────────────────── */
.btn-fireside {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 0.75rem 2rem;
      border: 1.5px solid var(--accent);
      color: var(--accent);
      background: transparent;
      transition: background 0.25s, color 0.25s;
    }
    .btn-fireside:hover {
      background: var(--accent);
      color: var(--white);
    }
    .btn-fireside-solid {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 0.75rem 2rem;
      border: 1.5px solid var(--accent);
      color: var(--white);
      background: var(--accent);
      transition: background 0.25s, color 0.25s, border-color 0.25s;
    }
    .btn-fireside-solid:hover {
      background: transparent;
      color: var(--accent);
    }
    .btn-ghost-light {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 0.75rem 2rem;
      border: 1.5px solid rgba(255,255,255,0.55);
      color: var(--white);
      background: transparent;
      transition: background 0.25s, color 0.25s;
    }
    .btn-ghost-light:hover {
      background: rgba(255,255,255,0.12);
    }

.btn-primary-warm {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 0.9rem 2.25rem;
      background: var(--accent);
      color: var(--white);
      border: none;
      cursor: pointer;
      transition: background 0.25s ease, box-shadow 0.25s ease;
    }
    .btn-primary-warm:hover {
      background: #c07519;
      box-shadow: 0 4px 18px rgba(216,137,31,0.35);
      color: var(--white);
    }
    .btn-outline-light {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 0.9rem 2.25rem;
      background: transparent;
      color: rgba(255,255,255,0.85);
      border: 1px solid rgba(255,255,255,0.35);
      transition: border-color 0.25s, color 0.25s, background 0.25s;
    }
    .btn-outline-light:hover {
      border-color: rgba(255,255,255,0.7);
      color: var(--white);
      background: rgba(255,255,255,0.06);
    }
    .btn-outline-warm {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 0.9rem 2.25rem;
      background: transparent;
      color: var(--accent);
      border: 1px solid rgba(216,137,31,0.45);
      transition: background 0.25s, border-color 0.25s, color 0.25s;
    }
    .btn-outline-warm:hover {
      background: var(--accent-dim);
      border-color: var(--accent);
      color: var(--accent);
    }

/* lindsay-advocate button variants */
.btn-primary-warm {
      display: inline-block;
      background: var(--accent);
      color: var(--white);
      font-family: var(--sans);
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 0.9rem 2.25rem;
      text-decoration: none;
      border: 1px solid var(--accent);
      transition: background 0.25s, color 0.25s;
    }
    .btn-primary-warm:hover {
      background: transparent;
      color: var(--accent);
    }
    .btn-outline-dark {
      display: inline-block;
      background: transparent;
      color: var(--text);
      font-family: var(--sans);
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 0.9rem 2.25rem;
      text-decoration: none;
      border: 1px solid var(--grey-light);
      transition: color 0.25s, border-color 0.25s;
    }
    .btn-outline-dark:hover {
      color: var(--accent);
      border-color: var(--accent);
    }
    .btn-outline-warm {
      display: inline-block;
      background: transparent;
      color: rgba(255,255,255,0.7);
      font-family: var(--sans);
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 0.9rem 2.25rem;
      text-decoration: none;
      border: 1px solid rgba(255,255,255,0.28);
      transition: color 0.25s, border-color 0.25s;
    }
    .btn-outline-warm:hover {
      color: var(--white);
      border-color: rgba(255,255,255,0.6);
    }
    .btn-text-link {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--accent);
      text-decoration: none;
    }
    .btn-text-link::after {
      content: '→';
      transition: transform 0.2s ease;
    }
    .btn-text-link:hover::after { transform: translateX(4px); }

/* ── 5. Navigation ─────────────────────────────────────────── */
.site-nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 1100;
      padding: 1.75rem 0;
      transition: padding 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
    }
    .site-nav.scrolled {
      padding: 1.1rem 0;
      background: rgba(247,246,244,0.97);
      box-shadow: 0 1px 0 rgba(0,0,0,0.07);
      backdrop-filter: blur(8px);
    }
    .nav-logo { display:flex; align-items:center; gap:0.8rem; text-decoration:none; }
    .nav-logo-svg { height:48px; width:auto; flex-shrink:0; }
    .nav-logo-svg path { fill:rgba(255,255,255,0.92); transition:fill 0.35s; }
    .site-nav.scrolled .nav-logo-svg path { fill: var(--text); }
    .nav-logo-text {
      font-family: var(--sans);
      font-size: 0.82rem; font-weight:600;
      letter-spacing:0.04em;
      color: rgba(255,255,255,0.92);
      line-height:1.2; transition:color 0.35s;
    }
    .site-nav.scrolled .nav-logo-text { color: var(--text); }
    .nav-logo-sub { display:block; font-weight:300; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; opacity:0.7; }
    .nav-links { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:2.5rem; }
    .nav-links a {
      font-family:var(--sans); font-size:0.72rem; font-weight:600;
      letter-spacing:0.14em; text-transform:uppercase;
      color:rgba(255,255,255,0.8); text-decoration:none;
      position:relative; padding-bottom:3px; transition:color 0.25s;
    }
    .nav-links a::after {
      content:''; position:absolute; bottom:-2px; left:0; right:0;
      height:1.5px; background:var(--accent);
      transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease;
    }
    .nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }
    @keyframes nav-shimmer      { 0%,100%{color:#fff;}        50%{color:var(--accent);} }
    @keyframes nav-shimmer-dark { 0%,100%{color:var(--text);} 50%{color:var(--accent);} }
    .nav-links a:hover,.nav-links a.active { animation:nav-shimmer 1.8s ease-in-out infinite; }
    .site-nav.scrolled .nav-links a:hover,
    .site-nav.scrolled .nav-links a.active { animation:nav-shimmer-dark 1.8s ease-in-out infinite; }
    .site-nav.scrolled .nav-links a { color:var(--grey-dark); }
    .nav-cta {
      border:1px solid rgba(255,255,255,0.35) !important;
      padding:0.5rem 1.1rem !important;
    }
    .site-nav.scrolled .nav-cta { border-color:rgba(42,42,42,0.25) !important; }

/* ── 6. Mega Menu ──────────────────────────────────────────── */
.mega-trigger {
      display: inline-flex !important;
      align-items: center;
      gap: 0.3rem;
    }
    .mega-trigger-chevron { opacity: 0.65; transition: transform 0.25s ease; }
    .has-mega.mega-open .mega-trigger-chevron { transform: rotate(180deg); }

    .mega-menu {
      position: absolute;
      top: 100%;
      left: 0; right: 0;
      background: #1A100A;
      border-top: 1px solid rgba(216,137,31,0.18);
      box-shadow: 0 16px 48px rgba(0,0,0,0.55);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
      z-index: 99;
      pointer-events: none;
    }
    .has-mega.mega-open .mega-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }
    .mega-inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 2.25rem 2rem;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
    }
    /* Reset nav-link styles that would bleed into mega cards */
    .mega-card, .mega-card * {
      text-transform: none;
      letter-spacing: normal;
      font-size: inherit;
      font-weight: inherit;
      animation: none !important;
    }
    .mega-card {
      display: flex;
      gap: 1.25rem;
      align-items: flex-start;
      text-decoration: none;
      padding: 1.5rem 2rem;
      border-right: 1px solid rgba(255,255,255,0.07);
      transition: background 0.2s;
    }
    .mega-card::after { display: none !important; }
    .mega-card:last-child { border-right: none; }
    .mega-card:hover { background: rgba(255,255,255,0.04); }
    .mega-card:hover .mega-card-title { color: #fff; }

    .mega-card-img {
      width: 62px;
      flex-shrink: 0;
      border-radius: 2px;
      overflow: hidden;
      box-shadow: 0 6px 18px rgba(0,0,0,0.5);
    }
    .mega-card-img img { width: 100%; height: auto; display: block; }

    .mega-card-body { flex: 1; }
    .mega-card-tag {
      font-family: var(--sans);
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 0.4rem;
      display: block;
    }
    .mega-card-title {
      font-family: var(--serif);
      font-size: 1rem;
      font-weight: 500;
      color: rgba(255,255,255,0.88);
      line-height: 1.25;
      margin-bottom: 0.45rem;
      transition: color 0.2s;
    }
    .mega-card-desc {
      font-family: var(--sans);
      font-size: 0.7rem;
      color: rgba(255,255,255,0.42);
      line-height: 1.65;
      margin-bottom: 0.7rem;
    }
    .mega-card-link {
      font-family: var(--sans);
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--accent);
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      opacity: 0.85;
    }
    .mega-card-link svg { transition: transform 0.2s; }
    .mega-card:hover .mega-card-link svg { transform: translateX(4px); }
    .mega-card:hover .mega-card-link { opacity: 1; }
    .has-mega.mega-open .mega-trigger svg { transform: rotate(180deg); }

/* ── 7. Fire Glow Animations ───────────────────────────────── */
.fire-glow-layer {
      position: absolute;
      pointer-events: none;
      border-radius: 50%;
      will-change: transform, opacity;
      z-index: 0;
    }
    .fire-glow-a {
      width: 90%; height: 80%;
      bottom: -22%; left: 5%;
      background: radial-gradient(ellipse at 55% 80%, rgba(200,70,5,0.72) 0%, rgba(150,45,5,0.28) 42%, transparent 68%);
      animation: fire-pulse-a 6.5s ease-in-out infinite;
    }
    .fire-glow-b {
      width: 68%; height: 68%;
      bottom: -18%; left: 18%;
      background: radial-gradient(ellipse at 50% 82%, rgba(216,115,18,0.62) 0%, rgba(175,75,8,0.22) 46%, transparent 70%);
      animation: fire-pulse-b 2.8s ease-in-out infinite;
      animation-delay: -2.1s;
    }
    .fire-glow-c {
      width: 48%; height: 56%;
      bottom: -10%; left: 33%;
      background: radial-gradient(ellipse at 50% 88%, rgba(238,135,28,0.52) 0%, rgba(200,88,8,0.18) 52%, transparent 74%);
      animation: fire-pulse-c 3.3s ease-in-out infinite;
      animation-delay: -1.3s;
    }
    .fire-glow-d {
      width: 28%; height: 38%;
      bottom: -4%; left: 43%;
      background: radial-gradient(ellipse at 50% 92%, rgba(255,155,38,0.42) 0%, rgba(220,105,12,0.12) 55%, transparent 76%);
      animation: fire-pulse-d 4.1s ease-in-out infinite;
      animation-delay: -3.6s;
    }
    @keyframes fire-pulse-a {
      0%, 100% { opacity: 0.72; transform: scaleX(1)    scaleY(1)    translateY(0); }
      32%      { opacity: 1.0;  transform: scaleX(1.07) scaleY(1.11) translateY(-2.5%); }
      62%      { opacity: 0.78; transform: scaleX(0.96) scaleY(1.05) translateY(-0.8%); }
    }
    @keyframes fire-pulse-b {
      0%, 100% { opacity: 0.58; transform: scaleX(1)    scaleY(1)    translateY(0); }
      42%      { opacity: 0.88; transform: scaleX(1.09) scaleY(1.13) translateY(-3.2%); }
    }
    @keyframes fire-pulse-c {
      0%, 100% { opacity: 0.50; transform: scale(1)    translateY(0); }
      46%      { opacity: 0.84; transform: scale(1.16) translateY(-4.5%); }
    }
    @keyframes fire-pulse-d {
      0%, 100% { opacity: 0.38; transform: scale(1)    translateY(0); }
      50%      { opacity: 0.68; transform: scale(1.22) translateY(-5.5%); }
    }
    /* Fine film-grain texture overlay for depth */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
      background-size: 200px 200px;
      pointer-events: none;
      z-index: 0;
      opacity: 0.6;
      mix-blend-mode: overlay;
    }
    /* Thin warm vignette at edges */
    .hero-overlay {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(to right, rgba(7,4,2,0.55) 0%, transparent 40%, transparent 60%, rgba(7,4,2,0.35) 100%),
        linear-gradient(to bottom, rgba(7,4,2,0.4) 0%, transparent 25%, transparent 75%, rgba(7,4,2,0.6) 100%);
      z-index: 1;
    }
    /* Rising ember/heat column — centre-right */
    .hero-glow {
      position: absolute;
      bottom: -5%;
      left: 50%;
      width: 50%;
      height: 90%;
      background:
        radial-gradient(ellipse 65% 100% at 50% 100%, rgba(216,105,20,0.38) 0%, rgba(160,60,10,0.15) 45%, transparent 70%);
      pointer-events: none;
      z-index: 1;
    }

/* ── 8. Ember Animations ───────────────────────────────────── */
.hero-embers {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      pointer-events: none;
    }
    @keyframes ember-rise-1 {
      0%   { transform: translateY(0)     translateX(0)     scale(1);    opacity: 0.92; }
      30%  { transform: translateY(-70px)  translateX(12px)  scale(0.75); opacity: 0.72; }
      100% { transform: translateY(-200px) translateX(-8px)  scale(0.2);  opacity: 0; }
    }
    @keyframes ember-rise-2 {
      0%   { transform: translateY(0)     translateX(0)     scale(0.9);  opacity: 0.88; }
      45%  { transform: translateY(-60px)  translateX(-14px) scale(0.6);  opacity: 0.58; }
      100% { transform: translateY(-185px) translateX(10px)  scale(0.18); opacity: 0; }
    }
    @keyframes ember-rise-3 {
      0%   { transform: translateY(0)     translateX(0)     scale(1.1);  opacity: 0.85; }
      55%  { transform: translateY(-85px)  translateX(16px)  scale(0.5);  opacity: 0.45; }
      100% { transform: translateY(-210px) translateX(-5px)  scale(0.12); opacity: 0; }
    }
    @keyframes ember-rise-4 {
      0%   { transform: translateY(0)     translateX(0)     scale(0.95); opacity: 0.9; }
      40%  { transform: translateY(-65px)  translateX(-11px) scale(0.65); opacity: 0.62; }
      100% { transform: translateY(-195px) translateX(7px)   scale(0.15); opacity: 0; }
    }
    .e1  { animation: ember-rise-1 5.8s  0s    infinite ease-out; }
    .e2  { animation: ember-rise-2 5.2s  1.1s  infinite ease-out; }
    .e3  { animation: ember-rise-3 6.4s  2.0s  infinite ease-out; }
    .e4  { animation: ember-rise-4 5.6s  3.0s  infinite ease-out; }
    .e5  { animation: ember-rise-1 4.8s  4.2s  infinite ease-out; }
    .e6  { animation: ember-rise-2 6.1s  0.5s  infinite ease-out; }
    .e7  { animation: ember-rise-3 5.4s  5.0s  infinite ease-out; }
    .e8  { animation: ember-rise-4 4.9s  1.8s  infinite ease-out; }
    .e9  { animation: ember-rise-1 6.6s  6.2s  infinite ease-out; }
    .e10 { animation: ember-rise-2 5.1s  3.5s  infinite ease-out; }
    .e11 { animation: ember-rise-3 4.7s  7.1s  infinite ease-out; }
    .e12 { animation: ember-rise-4 5.9s  0.8s  infinite ease-out; }

/* ── 9. Scroll Reveal ──────────────────────────────────────── */
.reveal       { opacity:0; transform:translateY(28px); transition:opacity .75s ease,transform .75s ease; }
    .reveal-left  { opacity:0; transform:translateX(-36px); transition:opacity .75s ease,transform .75s ease; }
    .reveal-right { opacity:0; transform:translateX(36px); transition:opacity .75s ease,transform .75s ease; }
    .reveal.visible,.reveal-left.visible,.reveal-right.visible { opacity:1; transform:translate(0); }
    .reveal-delay-1 { transition-delay:.1s; }
    .reveal-delay-2 { transition-delay:.22s; }
    .reveal-delay-3 { transition-delay:.36s; }
    .reveal-delay-4 { transition-delay:.52s; }

/* ── 10. Footer ────────────────────────────────────────────── */
.site-footer {
      background: var(--dark);
      padding: 5rem 0 2.5rem;
    }
    .footer-logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      text-decoration: none;
      margin-bottom: 1.5rem;
    }
    .footer-logo-img { height: 40px; width: auto; filter: brightness(0) invert(1); opacity: 0.7; }
    .footer-logo-text {
      font-family: var(--sans);
      font-size: 0.82rem;
      font-weight: 600;
      color: rgba(255,255,255,0.7);
      line-height: 1.2;
    }
    .footer-logo-sub {
      display: block;
      font-weight: 300;
      font-size: 0.68rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      opacity: 0.6;
    }
    .footer-tagline {
      font-size: 0.83rem;
      font-weight: 300;
      line-height: 1.75;
      color: rgba(255,255,255,0.35);
      max-width: 280px;
      margin: 0;
    }
    .footer-heading {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.28);
      margin-bottom: 1.25rem;
    }
    .footer-links {
      list-style: none;
      margin: 0; padding: 0;
    }
    .footer-links li { margin-bottom: 0.7rem; }
    .footer-links a {
      font-size: 0.83rem;
      color: rgba(255,255,255,0.5);
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-links a:hover { color: rgba(255,255,255,0.85); }
    .footer-divider {
      border: none;
      border-top: 1px solid rgba(255,255,255,0.08);
      margin: 3.5rem 0 2rem;
    }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1rem;
      font-size: 0.72rem;
      color: rgba(255,255,255,0.25);
    }
    .footer-bottom a {
      color: rgba(255,255,255,0.28);
      text-decoration: none;
    }
    .footer-bottom a:hover { color: rgba(255,255,255,0.55); }


/* ══════════════════════════════════════════════════════════════
   PAGE: index.html
══════════════════════════════════════════════════════════════ */

/* ─── Hero ──────────────────────────────────────────────────── */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: linear-gradient(to bottom, #070402 0%, #0F0804 18%, #1A0E06 38%, #221208 55%, #1C0E06 72%, #120A04 88%, #0A0603 100%);
    }

/* ─── Hero ember SVG graphic ─────────────────────────────────── */
    .hero-graphic {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .pub-covers-stack {
      position: relative;
      width: 553px;
      height: 726px;
      transition: transform 0.5s ease;
    }
    .pub-cover-card {
      position: absolute;
      width: 346px;
      border-radius: 2px;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,0.7), 0 4px 16px rgba(0,0,0,0.5);
      transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s ease, opacity 0.5s ease;
    }
    .pub-cover-card img {
      width: 100%;
      height: auto;
      display: block;
    }
    /* Resting: stacked tightly, back two partially hidden */
    .pub-cover-card:nth-child(1) {
      bottom: 0;
      right: 14px;
      transform: rotate(6deg) translateY(17px);
      z-index: 1;
      opacity: 0.6;
      width: 320px;
    }
    .pub-cover-card:nth-child(2) {
      bottom: 29px;
      left: 14px;
      transform: rotate(-5deg) translateY(12px);
      z-index: 2;
      opacity: 0.72;
      width: 320px;
    }
    .pub-cover-card:nth-child(3) {
      bottom: 72px;
      left: 50%;
      transform: translateX(-50%) rotate(0.5deg);
      z-index: 3;
      width: 337px;
    }
    /* Hover: fan out wide so all three covers are fully visible */
    .pub-covers-stack:hover .pub-cover-card:nth-child(1) {
      transform: rotate(18deg) translateX(130px) translateY(43px);
      opacity: 1;
    }
    .pub-covers-stack:hover .pub-cover-card:nth-child(2) {
      transform: rotate(-16deg) translateX(-130px) translateY(43px);
      opacity: 1;
    }
    .pub-covers-stack:hover .pub-cover-card:nth-child(3) {
      transform: translateX(-50%) rotate(0deg) translateY(-26px);
      box-shadow: 0 36px 80px rgba(0,0,0,0.8), 0 8px 24px rgba(0,0,0,0.55);
    }
    /* Ember particles SVG */
    .hero-embers {
      position: absolute;
      top: 25%;
      width: 100%;
      left: -25%;
      /*inset: 0;*/
      z-index: 0;
      pointer-events: none;
      /*background: pink;*/
    }
    @keyframes ember-rise-1 {
      0%   { transform: translateY(0)     translateX(0)     scale(1);    opacity: 0.92; }
      30%  { transform: translateY(-70px)  translateX(12px)  scale(0.75); opacity: 0.72; }
      100% { transform: translateY(-200px) translateX(-8px)  scale(0.2);  opacity: 0; }
    }
    @keyframes ember-rise-2 {
      0%   { transform: translateY(0)     translateX(0)     scale(0.9);  opacity: 0.88; }
      45%  { transform: translateY(-60px)  translateX(-14px) scale(0.6);  opacity: 0.58; }
      100% { transform: translateY(-185px) translateX(10px)  scale(0.18); opacity: 0; }
    }
    @keyframes ember-rise-3 {
      0%   { transform: translateY(0)     translateX(0)     scale(1.1);  opacity: 0.85; }
      55%  { transform: translateY(-85px)  translateX(16px)  scale(0.5);  opacity: 0.45; }
      100% { transform: translateY(-210px) translateX(-5px)  scale(0.12); opacity: 0; }
    }
    @keyframes ember-rise-4 {
      0%   { transform: translateY(0)     translateX(0)     scale(0.95); opacity: 0.9; }
      40%  { transform: translateY(-65px)  translateX(-11px) scale(0.65); opacity: 0.62; }
      100% { transform: translateY(-195px) translateX(7px)   scale(0.15); opacity: 0; }
    }
    .e1  { animation: ember-rise-1 5.8s  0s    infinite ease-out; }
    .e2  { animation: ember-rise-2 5.2s  1.1s  infinite ease-out; }
    .e3  { animation: ember-rise-3 6.4s  2.0s  infinite ease-out; }
    .e4  { animation: ember-rise-4 5.6s  3.0s  infinite ease-out; }
    .e5  { animation: ember-rise-1 4.8s  4.2s  infinite ease-out; }
    .e6  { animation: ember-rise-2 6.1s  0.5s  infinite ease-out; }
    .e7  { animation: ember-rise-3 5.4s  5.0s  infinite ease-out; }
    .e8  { animation: ember-rise-4 4.9s  1.8s  infinite ease-out; }
    .e9  { animation: ember-rise-1 6.6s  6.2s  infinite ease-out; }
    .e10 { animation: ember-rise-2 5.1s  3.5s  infinite ease-out; }
    .e11 { animation: ember-rise-3 4.7s  7.1s  infinite ease-out; }
    .e12 { animation: ember-rise-4 5.9s  0.8s  infinite ease-out; }
    .hero-content {
      position: relative;
      z-index: 2;
      padding-top: 8rem;
      padding-bottom: 6rem;
    }
    .hero-eyebrow {
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.5rem;
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .hero-eyebrow::before {
      content: '';
      display: block;
      width: 32px;
      height: 1.5px;
      background: var(--accent);
      flex-shrink: 0;
    }
    .hero-headline {
      font-family: var(--serif);
      font-size: clamp(2.8rem, 6vw, 5.25rem);
      font-weight: 500;
      color: var(--white);
      line-height: 1.08;
      margin-bottom: 1.75rem;
      max-width: 820px;
    }
    .hero-headline em {
      font-style: italic;
      color: rgba(255,255,255,0.88);
    }
    .hero-sub {
      font-size: 1.05rem;
      font-weight: 300;
      color: rgba(255,255,255,0.72);
      max-width: 520px;
      margin-bottom: 2.75rem;
      line-height: 1.75;
    }
    .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }

    .hero-scroll-hint {
      position: absolute;
      bottom: 2.5rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.5rem;
    }
    .scroll-line {
      width: 1px;
      height: 40px;
      background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.4));
    }
    .scroll-label {
      font-size: 0.62rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.4);
    }

/* ─── Publications Intro (How We Serve) ─────────────────────── */
    .serve-section { background: var(--bg); }

    .serve-intro-text {
      font-family: var(--serif);
      font-size: clamp(1.5rem, 3vw, 2.25rem);
      font-weight: 400;
      line-height: 1.4;
      color: var(--text);
      max-width: 680px;
    }

    .serve-item {
      padding: 2.75rem 0;
      border-top: 1px solid var(--grey-light);
    }
    .serve-item:last-child { border-bottom: 1px solid var(--grey-light); }

    .serve-pub {
      font-family: var(--serif);
      font-size: 1.5rem;
      font-weight: 500;
      color: var(--text);
      margin-bottom: 0.2rem;
      line-height: 1.2;
    }
    .serve-verb {
      font-family: var(--sans);
      font-size: 0.72rem;
      font-weight: 500;
      font-style: italic;
      letter-spacing: 0.05em;
      color: var(--accent);
      margin-bottom: 0;
    }
    .serve-desc {
      font-size: 0.9rem;
      color: var(--grey-mid);
      margin: 0;
      max-width: 380px;
    }
    .serve-number {
      font-family: var(--serif);
      font-size: 3rem;
      font-weight: 400;
      color: var(--grey-light);
      line-height: 1;
    }

/* ─── Publications Feature ──────────────────────────────────── */
    .publications-section { background: var(--white); }

    .pub-block {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      min-height: 520px;
      overflow: hidden;
    }
    .pub-block.reverse { direction: rtl; }
    .pub-block.reverse > * { direction: ltr; }

    .pub-image {
      background-color: #160E05;
      min-height: 480px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
    }
    /* Warm radial glow behind the cover */
    .pub-image::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 60% at 50% 60%, rgba(180,80,15,0.18) 0%, transparent 70%);
      pointer-events: none;
    }
    /* Blurred ghost copy behind the sharp cover */
    .pub-cover-blur {
      position: absolute;
      width: 80%;
      max-width: 310px;
      filter: blur(32px) saturate(1.4);
      opacity: 0.45;
      transform: translateY(18px) scale(0.92);
      z-index: 0;
      border-radius: 4px;
      pointer-events: none;
      transition: opacity 0.4s ease, transform 0.4s ease;
    }
    .pub-image:hover .pub-cover-blur,
    .pub-cover-group:hover ~ .pub-cover-blur,
    .pub-image:has(.pub-view-btn:hover) .pub-cover-blur {
      opacity: 0.58;
      transform: translateY(22px) scale(0.94);
    }
    /* Group wrapping the cover image + view button, so button positions relative to cover */
    .pub-cover-group {
      position: relative;
      z-index: 1;
      width: 62%;
      max-width: 240px;
      flex-shrink: 0;
    }
    /* Link wrapper for the sharp cover */
    .pub-cover-link {
      display: block;
      width: 100%;
      border-radius: 2px;
      transition: transform 0.4s ease;
    }
    .pub-cover-img {
      width: 100%;
      display: block;
      border-radius: 2px;
      box-shadow:
        0 30px 70px rgba(0,0,0,0.75),
        0 8px 24px rgba(0,0,0,0.55),
        0 0 0 1px rgba(255,255,255,0.04);
      transition: box-shadow 0.4s ease;
    }
    .pub-image:hover .pub-cover-link,
    .pub-cover-group:hover .pub-cover-link,
    .pub-cover-group:has(.pub-view-btn:hover) .pub-cover-link {
      transform: translateY(-6px) scale(1.02);
    }
    .pub-image:hover .pub-cover-img,
    .pub-cover-group:has(.pub-view-btn:hover) .pub-cover-img {
      box-shadow:
        0 40px 80px rgba(0,0,0,0.8),
        0 10px 30px rgba(0,0,0,0.6),
        0 0 0 1px rgba(255,255,255,0.06);
    }
    .pub-image-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(22,14,5,0.3) 0%, rgba(22,14,5,0.0) 40%, rgba(22,14,5,0.5) 100%);
      z-index: 2;
      pointer-events: none;
    }
    /* View Publication button — positioned beside the cover image, lower third */
    .pub-view-btn {
      position: absolute;
      bottom: 28%;
      left: 100%;
      transform: translateX(-10px); /* overlap cover by 10px */
      z-index: 3;
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 0.6rem 1.4rem;
      border: 1px solid rgba(255,255,255,0.5);
      color: rgba(255,255,255,0.9);
      background: rgba(255,255,255,0.4);
      text-decoration: none;
      white-space: nowrap;
      box-shadow: 0 4px 18px rgba(0,0,0,0.35), 0 1px 4px rgba(0,0,0,0.2);
      backdrop-filter: blur(6px);
      transition: color 0.25s, border-color 0.25s, background 0.25s, box-shadow 0.25s;
    }
    .pub-view-btn:hover {
      color: var(--accent);
      border-color: var(--accent);
      background: rgba(255,255,255,0.55);
      box-shadow: 0 6px 24px rgba(0,0,0,0.4), 0 2px 6px rgba(0,0,0,0.2);
    }
    /* Mirror position for reversed blocks — button extends left of cover */
    .pub-block.reverse .pub-view-btn {
      left: auto;
      right: 100%;
      transform: translateX(10px);
    }

    .pub-content {
      padding: 4rem 4.5rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: var(--white);
    }
    .pub-tag {
      display: inline-block;
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      border: 1px solid var(--accent-pale);
      background: var(--accent-pale);
      padding: 0.3rem 0.75rem;
      margin-bottom: 1.5rem;
      width: fit-content;
    }
    .pub-title {
      font-family: var(--serif);
      font-size: clamp(1.75rem, 2.5vw, 2.5rem);
      font-weight: 500;
      color: var(--text);
      margin-bottom: 0.5rem;
      line-height: 1.15;
    }
    .pub-subtitle {
      font-family: var(--serif);
      font-size: 1rem;
      font-style: italic;
      color: var(--grey-mid);
      margin-bottom: 1.75rem;
    }
    .pub-body {
      font-size: 0.92rem;
      color: var(--grey-dark);
      line-height: 1.8;
      margin-bottom: 1.75rem;
      max-width: 440px;
    }
    .pub-meta {
      display: flex;
      gap: 2rem;
      flex-wrap: wrap;
      padding-top: 1.5rem;
      border-top: 1px solid var(--grey-light);
    }
    .pub-meta-item {}
    .pub-meta-label {
      font-size: 0.63rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--grey-mid);
      margin-bottom: 0.25rem;
    }
    .pub-meta-value {
      font-family: var(--serif);
      font-size: 0.95rem;
      color: var(--text);
    }

/* ─── Why Multiple Publications ─────────────────────────────── */
    .why-section {
      background: #1C1208;
      position: relative;
      overflow: hidden;
    }
    .why-warm-glow {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 80%;
      height: 80%;
      background: radial-gradient(ellipse at center, rgba(216,137,31,0.1) 0%, transparent 65%);
      pointer-events: none;
    }
    .why-headline {
      font-family: var(--serif);
      font-size: clamp(2rem, 4vw, 3.25rem);
      font-weight: 400;
      color: var(--white);
      line-height: 1.25;
      max-width: 620px;
    }
    .why-headline em {
      font-style: italic;
      color: rgba(255,255,255,0.7);
    }
    .why-item {
      padding: 1.75rem 0;
      border-top: 1px solid rgba(255,255,255,0.08);
    }
    .why-item:last-child { border-bottom: 1px solid rgba(255,255,255,0.08); }
    .why-item-title {
      font-family: var(--serif);
      font-size: 1.15rem;
      font-weight: 500;
      color: var(--white);
      margin-bottom: 0.4rem;
    }
    .why-item-body {
      font-size: 0.88rem;
      color: rgba(255,255,255,0.5);
      margin: 0;
      line-height: 1.7;
    }
    .why-accent-line {
      width: 40px;
      height: 1.5px;
      background: var(--accent);
      margin: 2rem 0;
    }

/* ─── Stats ──────────────────────────────────────────────────── */
    .stats-section { background: var(--bg); }

    .stat-block {
      padding: 3rem 2.5rem;
      border-left: 1px solid var(--grey-light);
    }
    .stat-block:first-child { border-left: none; }
    .stat-number {
      font-family: var(--serif);
      font-size: clamp(2.75rem, 4vw, 3.75rem);
      font-weight: 400;
      color: var(--text);
      line-height: 1;
      margin-bottom: 0.5rem;
    }
    .stat-number sup {
      font-size: 0.45em;
      vertical-align: super;
      color: var(--accent);
    }
    .stat-label {
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--grey-mid);
      margin-bottom: 0.5rem;
    }
    .stat-sub {
      font-size: 0.82rem;
      color: var(--grey-mid);
      line-height: 1.5;
    }

/* ─── Advertisers ────────────────────────────────────────────── */
    .advertisers-section { background: var(--white); }

    .advertise-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
    }
    .advertise-item {
      padding: 3rem 2.75rem;
      border-right: 1px solid var(--grey-light);
      border-top: 1px solid var(--grey-light);
    }
    .advertise-item:nth-child(-n+3) { border-top: none; }
    .advertise-item:nth-child(3n) { border-right: none; }
    .advertise-icon {
      width: 36px;
      height: 2px;
      background: var(--accent);
      margin-bottom: 1.75rem;
    }
    .advertise-title {
      font-family: var(--serif);
      font-size: 1.2rem;
      font-weight: 500;
      color: var(--text);
      margin-bottom: 0.75rem;
    }
    .advertise-body {
      font-size: 0.88rem;
      color: var(--grey-mid);
      line-height: 1.75;
      margin: 0;
    }

/* ─── Community & Contributors ──────────────────────────────── */
    .community-section {
      background: var(--bg);
      position: relative;
      overflow: hidden;
    }
    .community-shape {
      position: absolute;
      top: 0;
      right: 0;
      width: 45%;
      height: 100%;
      background: var(--white);
      clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0% 100%);
    }
    .community-content { position: relative; z-index: 1; }
    .community-headline {
      font-family: var(--serif);
      font-size: clamp(2rem, 3.5vw, 3rem);
      font-weight: 500;
      color: var(--text);
      line-height: 1.2;
      max-width: 520px;
      margin-bottom: 1.5rem;
    }
    .community-body {
      font-size: 0.95rem;
      color: var(--grey-dark);
      max-width: 480px;
      line-height: 1.8;
      margin-bottom: 2.5rem;
    }
    .contributor-types {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      max-width: 380px;
    }
    .contributor-type {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 1rem 1.25rem;
      background: var(--white);
      border: 1px solid var(--grey-light);
    }
    .contributor-dot {
      width: 8px;
      height: 8px;
      background: var(--accent);
      border-radius: 50%;
      flex-shrink: 0;
    }
    .contributor-name {
      font-family: var(--serif);
      font-size: 1rem;
      color: var(--text);
    }
    .contributor-desc {
      font-size: 0.8rem;
      color: var(--grey-mid);
      margin: 0;
    }

/* ─── Final CTA ──────────────────────────────────────────────── */
    .cta-section {
      background: #1C1208;
      position: relative;
      overflow: hidden;
      padding: 8rem 0;
    }
    .cta-bg {
      position: absolute;
      inset: 0;
      background-image: url('../static/cta-bg.jpg');
      background-size: cover;
      background-position: center;
      opacity: 0.2;
    }
    .cta-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(28,18,8,0.3), rgba(28,18,8,0.7));
    }
    .cta-glow {
      position: absolute;
      bottom: -20%;
      left: 50%;
      transform: translateX(-50%);
      width: 60%;
      height: 60%;
      background: radial-gradient(ellipse at center, rgba(216,137,31,0.22) 0%, transparent 70%);
      pointer-events: none;
    }
    .cta-content { position: relative; z-index: 2; text-align: center; }
    .cta-eyebrow {
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.5rem;
    }
    .cta-headline {
      font-family: var(--serif);
      font-size: clamp(2.25rem, 5vw, 4rem);
      font-weight: 400;
      color: var(--white);
      line-height: 1.15;
      max-width: 680px;
      margin: 0 auto 1.5rem;
    }
    .cta-headline em { font-style: italic; color: rgba(255,255,255,0.75); }
    .cta-sub {
      font-size: 0.95rem;
      color: rgba(255,255,255,0.55);
      max-width: 420px;
      margin: 0 auto 2.75rem;
      line-height: 1.75;
    }
    .cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }


/* ══════════════════════════════════════════════════════════════
   PAGE: about.html
══════════════════════════════════════════════════════════════ */

/* ─── Hero ────────────────────────────────────────────────────── */
    .about-hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      background: var(--dark);
    }
    .about-hero-img { display: none; }
    .about-hero-overlay {
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 70% 55% at 65% 100%, rgba(200,74,0,0.28) 0%, transparent 60%),
        radial-gradient(ellipse 45% 40% at 20% 85%, rgba(216,137,31,0.14) 0%, transparent 60%),
        radial-gradient(ellipse 55% 35% at 85% 90%, rgba(180,50,0,0.18) 0%, transparent 55%);
      z-index: 1;
      animation: hero-glow-pulse 6s ease-in-out infinite;
    }
    @keyframes hero-glow-pulse {
      0%,100% { opacity: 0.85; }
      50%      { opacity: 1; }
    }
    .about-hero-content {
      position: relative; z-index: 2;
      padding-bottom: 6rem; width: 100%;
    }
    .about-hero-tag {
      display: inline-flex; align-items: center; gap: 0.75rem;
      font-family: var(--sans); font-size: 0.65rem; font-weight: 600;
      letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--accent); margin-bottom: 2rem;
    }
    .about-hero-tag::before {
      content:''; display:block; width:28px; height:1.5px; background:var(--accent);
    }
    .about-hero-headline {
      font-family: var(--serif);
      font-size: clamp(2.8rem, 5.5vw, 5.2rem);
      font-weight: 600;
      color: var(--white);
      line-height: 1.08;
      margin-bottom: 2rem;
      max-width: 1000px;
    }
    .about-hero-headline em { font-style: italic; color: rgba(255,255,255,0.82); }
    .about-hero-sub {
      font-family: var(--sans); font-size: 1.05rem; font-weight: 300;
      color: rgba(255,255,255,0.62); max-width: 540px; line-height: 1.8;
      margin-bottom: 3rem;
    }
    .about-hero-scroll {
      position: absolute; bottom: 2.25rem; right: 2.5rem; z-index: 2;
      display: flex; flex-direction: column; align-items: center; gap: 0.6rem;
      font-size: 0.6rem; font-weight: 600; letter-spacing: 0.2em;
      text-transform: uppercase; color: rgba(255,255,255,0.35);
    }
    .about-hero-scroll::after {
      content:''; display:block; width:1px; height:48px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.35), transparent);
      animation: scroll-line 2s ease-in-out infinite;
    }
    @keyframes scroll-line {
      0%,100% { opacity:0.35; transform:scaleY(1); }
      50%      { opacity:0.7;  transform:scaleY(0.85); }
    }

/* ─── Our Story ───────────────────────────────────────────────── */
    .story-section { background: var(--white); }
    .story-intro {
      font-family: var(--serif);
      font-size: clamp(1.5rem, 2.8vw, 2.1rem);
      font-weight: 400;
      line-height: 1.5;
      color: var(--text);
    }
    .story-intro em { font-style: italic; color: var(--grey-dark); }
    .story-body {
      font-size: 1rem;
      line-height: 1.9;
      color: var(--grey-dark);
    }
    .story-body p { margin-bottom: 1.5rem; }
    .story-body p:last-child { margin-bottom: 0; }
    .story-pullquote {
      font-family: var(--serif);
      font-size: clamp(1.2rem, 2.2vw, 1.6rem);
      font-style: italic;
      font-weight: 400;
      line-height: 1.55;
      color: var(--text);
      padding: 2rem 0 2rem 2rem;
      border-left: 2.5px solid var(--accent);
      margin: 3rem 0;
    }
    .story-image-wrap {
      position: relative;
      overflow: hidden;
    }
    .story-image-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.8s ease;
    }
    .story-image-wrap:hover img { transform: scale(1.03); }
    .story-image-caption {
      font-size: 0.68rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      color: var(--grey-mid);
      text-transform: uppercase;
      margin-top: 0.85rem;
    }

/* ─── Stats Strip ─────────────────────────────────────────────── */
    .stats-strip {
      background: var(--dark);
      padding: 4.5rem 0;
    }
    .stat-item {
      text-align: center;
      padding: 0 2rem;
      border-right: 1px solid rgba(255,255,255,0.08);
    }
    .stat-item:last-child { border-right: none; }
    .stats-strip .stat-number {
      font-family: var(--serif);
      font-size: clamp(2.8rem, 4vw, 3.8rem);
      font-weight: 600;
      color: var(--white);
      line-height: 1;
      display: block;
    }
    .stats-strip .stat-number sup {
      font-size: 0.5em;
      color: var(--accent);
      vertical-align: super;
    }
    .stats-strip .stat-label {
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
      margin-top: 0.6rem;
      display: block;
    }

/* ─── Philosophy ──────────────────────────────────────────────── */
    .philosophy-section { background: var(--bg); }
    .philosophy-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border-top: 1px solid var(--grey-light);
      margin-top: 3.5rem;
    }
    .philosophy-item {
      padding: 2.5rem 2.5rem;
      border-right: 1px solid var(--grey-light);
    }
    .philosophy-item:last-child { border-right: none; }
    .philosophy-item:first-child { padding-left: 2.5rem; }
    .philosophy-num {
      font-family: var(--serif);
      font-size: 0.8rem;
      font-weight: 400;
      color: var(--accent);
      letter-spacing: 0.08em;
      margin-bottom: 1.25rem;
      display: block;
    }
    .philosophy-title {
      font-family: var(--serif);
      font-size: 1.2rem;
      font-weight: 500;
      color: var(--text);
      line-height: 1.3;
      margin-bottom: 0.85rem;
    }
    .philosophy-desc {
      font-size: 0.88rem;
      line-height: 1.8;
      color: var(--grey-dark);
      margin: 0;
    }

/* ─── Founders ────────────────────────────────────────────────── */
    .founders-section { background: var(--white); }
    .founders-intro-text {
      font-family: var(--serif);
      font-size: clamp(1.4rem, 2.5vw, 1.95rem);
      font-weight: 400;
      line-height: 1.5;
      color: var(--text);
      max-width: 680px;
    }
    .founder-spread {
      padding: 6rem 0;
      border-top: 1px solid var(--grey-light);
    }
    .founder-spread:last-of-type { border-bottom: 1px solid var(--grey-light); }
    .founder-portrait-wrap {
      position: relative;
      overflow: hidden;
    }
    .founder-portrait-wrap img {
      width: 100%; height: 580px;
      object-fit: cover; object-position: center top;
      display: block;
      transition: transform 0.9s ease;
    }
    .founder-portrait-wrap:hover img { transform: scale(1.04); }
    .founder-portrait-caption {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 3rem 1.75rem 1.5rem;
      background: linear-gradient(to top, rgba(10,6,2,0.75) 0%, transparent 100%);
    }
    .founder-portrait-name {
      font-family: var(--serif);
      font-size: 1.35rem;
      font-weight: 600;
      color: var(--white);
      line-height: 1.1;
      margin: 0;
    }
    .founder-portrait-title {
      font-size: 0.68rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--accent);
      margin-top: 0.35rem;
      display: block;
    }
    .founder-content { padding: 0 0 0 3rem; }
    .founder-content-rev { padding: 0 3rem 0 0; }
    .founder-name {
      font-family: var(--serif);
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 600;
      color: var(--text);
      line-height: 1.1;
      margin-bottom: 0.4rem;
    }
    .founder-title {
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 2rem;
      display: block;
    }
    .founder-bio {
      font-size: 0.97rem;
      line-height: 1.9;
      color: var(--grey-dark);
    }
    .founder-bio p { margin-bottom: 1.4rem; }
    .founder-bio p:last-child { margin-bottom: 0; }
    .founder-quote {
      font-family: var(--serif);
      font-size: clamp(1.1rem, 1.8vw, 1.35rem);
      font-style: italic;
      font-weight: 400;
      line-height: 1.6;
      color: var(--text);
      padding: 1.75rem 0 1.75rem 1.75rem;
      border-left: 2.5px solid var(--accent);
      margin: 2.5rem 0;
    }

/* ─── What We Do ──────────────────────────────────────────────── */
    .whatwedo-section { background: var(--bg); }
    .whatwedo-intro {
      font-family: var(--serif);
      font-size: clamp(1.4rem, 2.5vw, 2rem);
      font-weight: 400;
      line-height: 1.5;
      color: var(--text);
    }
    .publication-card {
      background: var(--white);
      padding: 2.5rem;
      height: 100%;
      border-top: 2.5px solid transparent;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .publication-card:hover {
      border-color: var(--accent);
      box-shadow: 0 8px 32px rgba(0,0,0,0.07);
    }
    .pub-card-label {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1rem;
      display: block;
    }
    .pub-card-name {
      font-family: var(--serif);
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--text);
      line-height: 1.2;
      margin-bottom: 1rem;
    }
    .pub-card-desc {
      font-size: 0.9rem;
      line-height: 1.8;
      color: var(--grey-dark);
      margin-bottom: 1.75rem;
    }
    .pub-card-meta {
      display: flex;
      gap: 1.75rem;
      padding-top: 1.5rem;
      border-top: 1px solid var(--grey-light);
    }
    .pub-card-meta-item {
      display: flex; flex-direction: column; gap: 0.2rem;
    }
    .pub-card-meta-label {
      font-size: 0.6rem; font-weight: 600; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--grey-mid);
    }
    .pub-card-meta-value {
      font-family: var(--serif); font-size: 0.88rem; color: var(--text);
    }
    .pub-card-link {
      font-size: 0.68rem; font-weight: 600; letter-spacing: 0.15em;
      text-transform: uppercase; color: var(--accent);
      text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem;
      margin-top: 1.5rem;
      transition: gap 0.25s ease;
    }
    .pub-card-link:hover { gap: 0.85rem; color: var(--accent); }
    .pub-card-link::after { content: '→'; }

/* ─── Community Impact ────────────────────────────────────────── */
    .impact-section { background: var(--white); }
    .impact-statement {
      font-family: var(--serif);
      font-size: clamp(1.6rem, 3.2vw, 2.6rem);
      font-weight: 400;
      line-height: 1.4;
      color: var(--text);
    }
    .impact-statement em { font-style: italic; color: var(--grey-dark); }
    .impact-image-wrap {
      position: relative; overflow: hidden;
    }
    .impact-image-wrap img {
      width: 100%; height: 440px;
      object-fit: cover; display: block;
      transition: transform 0.8s ease;
    }
    .impact-image-wrap:hover img { transform: scale(1.03); }
    .impact-tag-row {
      display: flex; flex-wrap: wrap; gap: 0.75rem;
      margin-top: 2rem;
    }
    .impact-tag {
      font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--grey-dark);
      padding: 0.55rem 1.1rem;
      border: 1px solid var(--grey-light);
      background: var(--bg);
    }
    .impact-list {
      list-style: none; padding: 0; margin: 0;
    }
    .impact-list li {
      padding: 1.5rem 0;
      border-bottom: 1px solid var(--grey-light);
      display: flex; gap: 1.25rem; align-items: flex-start;
    }
    .impact-list li:first-child { border-top: 1px solid var(--grey-light); }
    .impact-list-marker {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--accent);
      flex-shrink: 0; margin-top: 0.5rem;
    }
    .impact-list-text {
      font-size: 0.95rem; line-height: 1.7; color: var(--grey-dark);
    }
    .impact-list-title {
      font-family: var(--serif); font-size: 1.05rem;
      font-weight: 500; color: var(--text); display: block; margin-bottom: 0.25rem;
    }

/* ─── Closing CTA ─────────────────────────────────────────────── */
    .closing-section {
      background: var(--dark);
      padding: 8rem 0;
      position: relative;
      overflow: hidden;
    }
    .closing-section::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 60% 55% at 50% 100%, rgba(200,74,0,0.22) 0%, transparent 65%),
        radial-gradient(ellipse 40% 35% at 20% 80%, rgba(216,137,31,0.12) 0%, transparent 60%);
      pointer-events: none;
    }
    .closing-eyebrow {
      font-family: var(--sans); font-size: 0.65rem; font-weight: 600;
      letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent);
      display: inline-flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem;
    }
    .closing-eyebrow::before {
      content:''; width:28px; height:1.5px; background:var(--accent);
    }
    .closing-headline {
      font-family: var(--serif);
      font-size: clamp(2.2rem, 4.5vw, 4rem);
      font-weight: 600;
      color: var(--white);
      line-height: 1.12;
      margin-bottom: 1.75rem;
      max-width: 720px;
    }
    .closing-headline em { font-style: italic; color: rgba(255,255,255,0.75); }
    .closing-sub {
      font-size: 1rem; font-weight: 300;
      color: rgba(255,255,255,0.55);
      line-height: 1.8; max-width: 480px;
      margin-bottom: 3rem;
    }


/* ══════════════════════════════════════════════════════════════
   PAGE: advertise.html
══════════════════════════════════════════════════════════════ */

/* ─── Hero ────────────────────────────────────────────────────── */
    .adv-hero { position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--dark); }
    .adv-hero-img { display:none; }
    .adv-hero-overlay { position:absolute; inset:0; background:radial-gradient(ellipse 70% 55% at 65% 100%,rgba(200,74,0,0.28) 0%,transparent 60%),radial-gradient(ellipse 45% 40% at 20% 85%,rgba(216,137,31,0.14) 0%,transparent 60%),radial-gradient(ellipse 55% 35% at 85% 90%,rgba(180,50,0,0.18) 0%,transparent 55%); z-index:1; animation:hero-glow-pulse 6s ease-in-out infinite; }
    @keyframes hero-glow-pulse { 0%,100%{opacity:0.85;} 50%{opacity:1;} }
    .adv-hero-content { position:relative; z-index:2; padding-bottom:7rem; }
    .adv-hero-tag { font-family:var(--sans); font-size:0.67rem; font-weight:600; letter-spacing:0.26em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:1rem; margin-bottom:1.75rem; }
    .adv-hero-tag::before { content:''; display:inline-block; width:36px; height:1.5px; background:var(--accent); }
    .adv-hero-headline { font-family:var(--serif); font-size:clamp(2.75rem,5.5vw,5rem); font-weight:500; color:#fff; line-height:1.1; letter-spacing:-0.01em; max-width:820px; margin-bottom:2rem; }
    .adv-hero-headline em { font-style:italic; color:rgba(255,255,255,0.62); }
    .adv-hero-sub { font-family:var(--sans); font-size:clamp(1rem,1.4vw,1.15rem); color:rgba(255,255,255,0.55); line-height:1.75; max-width:520px; margin-bottom:3rem; }
    .adv-hero-scroll { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); z-index:2; font-family:var(--sans); font-size:0.6rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.38); display:flex; flex-direction:column; align-items:center; gap:0.5rem; }
    .adv-hero-scroll::after { content:''; display:block; width:1px; height:36px; background:linear-gradient(to bottom,rgba(255,255,255,0.35),transparent); animation:scroll-line 2.2s ease-in-out infinite; }
    @keyframes scroll-line { 0%,100%{opacity:0.38;} 50%{opacity:0.65;} }

/* ─── The Challenge ───────────────────────────────────────────── */
    .challenge-section { background:var(--white); }
    .challenge-intro { font-family:var(--serif); font-size:clamp(1.4rem,2.4vw,2rem); font-weight:400; line-height:1.55; color:var(--text); max-width:640px; }
    .challenge-intro em { font-style:italic; color:var(--accent); }
    .challenge-right-text { font-size:0.95rem; line-height:1.85; color:var(--grey-dark); max-width:380px; }
    .challenge-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin-top:4rem; border:1px solid var(--grey-light); }
    .challenge-item { padding:3rem; border-right:1px solid var(--grey-light); border-bottom:1px solid var(--grey-light); }
    .challenge-item:nth-child(2n) { border-right:none; }
    .challenge-item:nth-last-child(-n+2) { border-bottom:none; }
    .challenge-num { font-family:var(--sans); font-size:0.58rem; font-weight:600; letter-spacing:0.2em; color:var(--accent); display:block; margin-bottom:1rem; }
    .challenge-title { font-family:var(--serif); font-size:1.25rem; font-weight:500; color:var(--text); margin-bottom:0.85rem; }
    .challenge-desc { font-size:0.9rem; line-height:1.8; color:var(--grey-dark); margin:0; }

/* ─── Fireside Advantage ──────────────────────────────────────── */
    .advantage-section { background:var(--white); padding:8rem 0; }
    .advantage-statement { font-family:var(--serif); font-size:clamp(1.75rem,3.2vw,2.9rem); font-weight:400; line-height:1.38; color:var(--text); max-width:920px; margin:0; }
    .advantage-statement em { font-style:italic; color:var(--accent); }
    .advantage-cta-row { margin-top:3.5rem; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
    .advantage-cta-note { font-family:var(--sans); font-size:0.8rem; color:var(--grey-mid); }

/* ─── CTA Strip ───────────────────────────────────────────────── */
    .cta-strip { background:var(--dark); border-top:1px solid rgba(255,255,255,0.06); border-bottom:1px solid rgba(255,255,255,0.06); padding:2.75rem 0; }
    .cta-strip-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
    .cta-strip-text { font-family:var(--serif); font-size:1.15rem; font-weight:400; color:rgba(255,255,255,0.85); max-width:520px; line-height:1.5; }
    .cta-strip-text em { font-style:italic; color:var(--accent); }
    .cta-strip-btns { display:flex; gap:1rem; flex-wrap:wrap; flex-shrink:0; }

/* ─── Our Reach ───────────────────────────────────────────────── */
    .reach-section { background:var(--dark); padding:8rem 0; position:relative; overflow:hidden; }
    .reach-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 65% 55% at 80% 100%,rgba(216,137,31,0.2) 0%,transparent 60%),radial-gradient(ellipse 40% 45% at 15% 85%,rgba(200,74,0,0.14) 0%,transparent 60%); pointer-events:none; }
    .reach-tag { font-family:var(--sans); font-size:0.65rem; font-weight:600; letter-spacing:0.24em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:1rem; margin-bottom:2.5rem; position:relative; }
    .reach-tag::before { content:''; display:inline-block; width:32px; height:1.5px; background:var(--accent); }
    .reach-headline { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:500; color:var(--text); max-width:520px; line-height:1.2; margin-bottom:5rem; position:relative; }
    .reach-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-top:1px solid var(--grey-light); position:relative; }
    .reach-stat { padding:3rem 2.5rem; border-right:1px solid rgba(255,255,255,0.08); }
    .reach-stat:last-child { border-right:none; }
    .reach-num { font-family:var(--serif); font-size:clamp(2.5rem,4vw,3.5rem); font-weight:500; color:var(--text); line-height:1; margin-bottom:0.65rem; display:block; }
    .reach-num em { font-style:normal; color:var(--accent); }
    .reach-label { font-family:var(--sans); font-size:0.75rem; color:var(--grey-dark); line-height:1.55; }

/* ─── Our Channels ────────────────────────────────────────────── */
    .channels-section { background:var(--white); }
    .channels-headline { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:500; color:var(--text); line-height:1.2; margin-bottom:1.5rem; }
    .channels-lead { font-size:1rem; line-height:1.85; color:var(--grey-dark); max-width:560px; margin-bottom:4rem; }
    .channels-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--grey-light); }
    .channel-group { padding:2.5rem 2rem; border-right:1px solid var(--grey-light); }
    .channel-group:last-child { border-right:none; }
    .channel-group-label { font-family:var(--sans); font-size:0.6rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:1.35rem; padding-bottom:1rem; border-bottom:1px solid var(--grey-light); }
    .channel-list { list-style:none; padding:0; margin:0; }
    .channel-list li { font-family:var(--sans); font-size:0.86rem; color:var(--grey-dark); padding:0.55rem 0; border-bottom:1px solid rgba(0,0,0,0.04); display:flex; align-items:flex-start; gap:0.65rem; line-height:1.4; }
    .channel-list li:last-child { border-bottom:none; }
    .channel-list li::before { content:''; flex-shrink:0; width:3px; height:3px; border-radius:50%; background:var(--accent); margin-top:0.6rem; }
    .channel-list strong { color:var(--text); font-weight:500; display:block; font-size:0.86rem; }
    .channel-list span { font-size:0.78rem; color:var(--grey-mid); display:block; }

/* ─── How It Works Together ───────────────────────────────────── */
    .together-section { background:var(--bg); }
    .together-headline { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:500; color:var(--text); line-height:1.2; margin-bottom:1.25rem; }
    .together-lead { font-size:1rem; line-height:1.85; color:var(--grey-dark); max-width:560px; margin-bottom:4.5rem; }
    .together-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
    .together-step { padding:3rem; border:1px solid var(--grey-light); border-right:none; position:relative; }
    .together-step:last-child { border-right:1px solid var(--grey-light); }
    .together-step-num { font-family:var(--serif); font-size:3.5rem; font-weight:400; color:rgba(216,137,31,0.13); line-height:1; margin-bottom:1.25rem; display:block; }
    .together-step-tag { font-family:var(--sans); font-size:0.6rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:0.85rem; }
    .together-step-title { font-family:var(--serif); font-size:1.2rem; font-weight:500; color:var(--text); margin-bottom:0.85rem; }
    .together-step-desc { font-size:0.88rem; line-height:1.8; color:var(--grey-dark); margin:0; }
    .together-arrow { position:absolute; right:-14px; top:3.5rem; width:28px; height:28px; background:var(--white); border:1px solid var(--grey-light); border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:2; }
    .together-step:last-child .together-arrow { display:none; }
    .together-cta { margin-top:4rem; padding-top:3rem; border-top:1px solid var(--grey-light); }

/* ─── Advertising Pathways ────────────────────────────────────── */
    .pathways-section { background:var(--white); }
    .pathways-headline { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:500; color:var(--text); line-height:1.2; margin-bottom:1.25rem; }
    .pathways-lead { font-size:1rem; line-height:1.85; color:var(--grey-dark); max-width:560px; margin-bottom:4rem; }
    .pathways-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
    .pathway-card { border:1px solid var(--grey-light); padding:2.75rem; transition:border-color .25s,box-shadow .25s; }
    .pathway-card:hover { border-color:rgba(216,137,31,0.35); box-shadow:0 8px 32px rgba(0,0,0,0.06); }
    .pathway-goal { font-family:var(--sans); font-size:0.6rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:0.85rem; }
    .pathway-title { font-family:var(--serif); font-size:1.45rem; font-weight:500; color:var(--text); margin-bottom:1rem; }
    .pathway-desc { font-size:0.9rem; line-height:1.8; color:var(--grey-dark); margin-bottom:1.5rem; }
    .pathway-channels { display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:2rem; }
    .pathway-channel-tag { font-family:var(--sans); font-size:0.65rem; font-weight:500; color:var(--grey-dark); background:var(--bg); border:1px solid var(--grey-light); padding:0.3rem 0.8rem; letter-spacing:0.04em; }
    .pathway-link { font-family:var(--sans); font-size:0.62rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); display:inline-flex; align-items:center; gap:0.4rem; transition:gap .2s; }
    .pathway-link:hover { gap:0.7rem; }

/* ─── Budget-Friendly ─────────────────────────────────────────── */
    .budget-section { background:var(--bg); }
    .budget-headline { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:500; color:var(--text); line-height:1.2; margin-bottom:1.5rem; }
    .budget-lead { font-size:1.05rem; line-height:1.85; color:var(--grey-dark); max-width:580px; }
    .budget-list { list-style:none; padding:0; margin:2.5rem 0 0; }
    .budget-list li { display:flex; align-items:flex-start; gap:1.1rem; padding:1.2rem 0; border-bottom:1px solid var(--grey-light); font-size:0.92rem; line-height:1.7; color:var(--grey-dark); }
    .budget-list li:first-child { border-top:1px solid var(--grey-light); }
    .budget-list li::before { content:''; flex-shrink:0; width:4px; height:4px; border-radius:50%; background:var(--accent); margin-top:0.65rem; }
    .budget-list strong { color:var(--text); font-weight:600; }
    .budget-note { margin-top:3rem; padding:2rem 2.5rem; border-left:2px solid var(--accent); background:var(--white); }
    .budget-note p { font-size:0.95rem; line-height:1.85; color:var(--grey-dark); font-style:italic; margin:0; }

/* ─── Toolkit ─────────────────────────────────────────────────── */
    .toolkit-section { background:var(--dark-mid); padding:9rem 0; position:relative; overflow:hidden; }
    .toolkit-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 50% at 85% 100%,rgba(216,137,31,0.2) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 10% 90%,rgba(200,74,0,0.12) 0%,transparent 60%); pointer-events:none; }
    .toolkit-tag { font-family:var(--sans); font-size:0.65rem; font-weight:600; letter-spacing:0.24em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:1rem; margin-bottom:1.75rem; position:relative; }
    .toolkit-tag::before { content:''; display:inline-block; width:32px; height:1.5px; background:var(--accent); }
    .toolkit-headline { font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.2rem); font-weight:500; color:#fff; line-height:1.1; max-width:640px; margin-bottom:1rem; position:relative; }
    .toolkit-sub { font-size:1rem; line-height:1.85; color:rgba(255,255,255,0.5); max-width:560px; margin-bottom:3.5rem; position:relative; }
    /* Cover mockup + synopsis layout */
    .toolkit-layout { display:grid; grid-template-columns:280px 1fr; gap:5rem; align-items:start; margin-bottom:3rem; position:relative; }
    .toolkit-cover { background:linear-gradient(155deg,#2e1505 0%,#1A100A 55%,#221005 100%); aspect-ratio:3/4; position:relative; overflow:hidden; border:1px solid rgba(216,137,31,0.22); box-shadow:0 32px 80px rgba(0,0,0,0.65); display:flex; flex-direction:column; padding:2rem; }
    .toolkit-cover::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 100% 60% at 50% 110%,rgba(216,137,31,0.25) 0%,transparent 65%); pointer-events:none; }
    .toolkit-cover-badge { font-family:var(--sans); font-size:0.54rem; font-weight:700; letter-spacing:0.28em; text-transform:uppercase; color:var(--accent); border:1px solid rgba(216,137,31,0.45); display:inline-block; padding:0.3rem 0.8rem; position:relative; align-self:flex-start; }
    .toolkit-cover-spacer { flex:1; }
    .toolkit-cover-rule { width:28px; height:1.5px; background:var(--accent); opacity:0.55; margin-bottom:1.25rem; position:relative; }
    .toolkit-cover-title { font-family:var(--serif); font-size:1.35rem; font-weight:500; color:#fff; line-height:1.2; margin-bottom:0.6rem; position:relative; }
    .toolkit-cover-sub { font-family:var(--sans); font-size:0.68rem; color:rgba(255,255,255,0.38); letter-spacing:0.08em; position:relative; margin-bottom:1.5rem; }
    .toolkit-cover-logo { font-family:var(--sans); font-size:0.58rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.22); padding-top:1rem; border-top:1px solid rgba(255,255,255,0.08); position:relative; }
    /* Synopsis list */
    .synopsis-intro { font-size:1rem; line-height:1.85; color:rgba(255,255,255,0.5); max-width:520px; margin-bottom:2.5rem; }
    .synopsis-list { list-style:none; padding:0; margin:0 0 2.5rem; }
    .synopsis-item { display:flex; gap:1.5rem; align-items:flex-start; padding:1.35rem 0; border-bottom:1px solid rgba(255,255,255,0.08); }
    .synopsis-item:first-child { border-top:1px solid rgba(255,255,255,0.08); }
    .synopsis-num { flex-shrink:0; font-family:var(--sans); font-size:0.58rem; font-weight:700; letter-spacing:0.18em; color:var(--accent); padding-top:0.2rem; width:22px; }
    .synopsis-title { font-family:var(--serif); font-size:1rem; font-weight:500; color:rgba(255,255,255,0.88); margin-bottom:0.3rem; }
    .synopsis-desc { font-size:0.82rem; line-height:1.7; color:rgba(255,255,255,0.4); margin:0; }

/* ─── Get Started ─────────────────────────────────────────────── */
    .getstarted-section { background:var(--bg); }
    .getstarted-headline { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:500; color:var(--text); line-height:1.2; margin-bottom:1.25rem; }
    .getstarted-lead { font-size:1rem; line-height:1.85; color:var(--grey-dark); max-width:520px; margin-bottom:4.5rem; }
    .steps-row { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
    .step-item { padding:0 3rem; border-right:1px solid var(--grey-light); }
    .step-item:first-child { padding-left:0; }
    .step-item:last-child { border-right:none; }
    .step-num { font-family:var(--serif); font-size:4.5rem; font-weight:400; color:rgba(216,137,31,0.14); line-height:1; display:block; margin-bottom:1.25rem; }
    .step-title { font-family:var(--serif); font-size:1.3rem; font-weight:500; color:var(--text); margin-bottom:0.85rem; }
    .step-desc { font-size:0.9rem; line-height:1.8; color:var(--grey-dark); margin:0; }
    .getstarted-cta { margin-top:4.5rem; padding-top:3rem; border-top:1px solid var(--grey-light); display:flex; align-items:center; gap:3.5rem; flex-wrap:wrap; }
    .getstarted-cta-text { font-family:var(--serif); font-size:1.15rem; font-weight:400; color:var(--text); max-width:380px; line-height:1.55; }

/* ─── Closing CTA ─────────────────────────────────────────────── */
    .closing-section { background:var(--dark-mid); padding:9rem 0; position:relative; overflow:hidden; }
    .closing-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 50% at 70% 100%,rgba(216,137,31,0.22) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 20% 80%,rgba(200,80,0,0.12) 0%,transparent 60%); pointer-events:none; }
    .closing-eyebrow { font-family:var(--sans); font-size:0.65rem; font-weight:600; letter-spacing:0.24em; text-transform:uppercase; color:var(--accent); margin-bottom:1.5rem; position:relative; }
    .closing-headline { font-family:var(--serif); font-size:clamp(2.5rem,5vw,4.5rem); font-weight:500; color:#fff; line-height:1.1; margin-bottom:2rem; position:relative; }
    .closing-headline em { font-style:italic; color:rgba(255,255,255,0.6); }
    .closing-sub { font-size:1rem; line-height:1.8; color:rgba(255,255,255,0.5); max-width:500px; margin-bottom:3rem; position:relative; }


/* ══════════════════════════════════════════════════════════════
   PAGE: contribute.html
══════════════════════════════════════════════════════════════ */

/* ─── Hero ────────────────────────────────────────────────────── */
    .contribute-hero {
      position: relative; min-height: 100vh;
      display: flex; align-items: flex-end; overflow: hidden;
    }
    .contribute-hero-img {
      position: absolute; inset: 0;
      width: 100%; height: 100%; object-fit: cover;
      object-position: center 25%; z-index: 0;
    }
    .contribute-hero-overlay {
      position: absolute; inset: 0;
      background:
        linear-gradient(to top, rgba(15,8,3,0.96) 0%, rgba(15,8,3,0.75) 40%, rgba(15,8,3,0.3) 75%, rgba(15,8,3,0.15) 100%),
        linear-gradient(to right, rgba(15,8,3,0.45) 0%, transparent 55%);
      z-index: 1;
    }
    .contribute-hero-content { position: relative; z-index: 2; padding-bottom: 7rem; }
    .contribute-hero-tag {
      font-family: var(--sans); font-size: 0.67rem; font-weight: 600;
      letter-spacing: 0.26em; text-transform: uppercase; color: var(--accent);
      display: flex; align-items: center; gap: 1rem; margin-bottom: 1.75rem;
    }
    .contribute-hero-tag::before { content: ''; display: inline-block; width: 36px; height: 1.5px; background: var(--accent); }
    .contribute-hero-headline {
      font-family: var(--serif); font-size: clamp(3rem, 6vw, 5.5rem);
      font-weight: 500; color: #fff; line-height: 1.08;
      letter-spacing: -0.01em; max-width: 780px; margin-bottom: 2rem;
    }
    .contribute-hero-headline em { font-style: italic; color: rgba(255,255,255,0.7); }
    .contribute-hero-sub {
      font-family: var(--sans); font-size: clamp(1rem, 1.4vw, 1.15rem);
      color: rgba(255,255,255,0.6); line-height: 1.75; max-width: 520px; margin-bottom: 3rem;
    }
    .contribute-hero-scroll {
      position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
      z-index: 2; font-family: var(--sans); font-size: 0.6rem; font-weight: 600;
      letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.38);
      display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
    }
    .contribute-hero-scroll::after {
      content: ''; display: block; width: 1px; height: 36px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.35), transparent);
      animation: scroll-line 2.2s ease-in-out infinite;
    }
    @keyframes scroll-line { 0%,100%{opacity:0.38;} 50%{opacity:0.65;} }

/* ─── Why Contribute ──────────────────────────────────────────── */
    .why-section { background: var(--white); }
    .why-intro {
      font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 2rem);
      font-weight: 400; line-height: 1.5; color: #fff; max-width: 640px;
    }
    .why-intro em { font-style: italic; color: var(--accent); }
    .why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin-top: 4rem; border: 1px solid rgba(255,255,255,0.08); }
    .why-item { padding: 2.5rem 3rem; border-right: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); }
    .why-item:nth-child(2n) { border-right: none; }
    .why-item:nth-last-child(-n+2) { border-bottom: none; }
    .why-num { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.2em; color: var(--accent); display: block; margin-bottom: 1rem; }
    .why-title { font-family: var(--serif); font-size: 1.2rem; font-weight: 500; color: #fff; margin-bottom: 0.75rem; }
    .why-desc { font-size: 0.9rem; line-height: 1.8; color: rgba(255,255,255,0.65); margin: 0; }

/* ─── Who Should Contribute ───────────────────────────────────── */
    .who-section { background: var(--bg); }
    .who-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1.5rem; }
    .who-lead { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); margin-bottom: 3rem; max-width: 560px; }
    .who-list { list-style: none; padding: 0; margin: 0; }
    .who-list li {
      display: flex; align-items: flex-start; gap: 1.1rem;
      padding: 1.2rem 0; border-bottom: 1px solid var(--grey-light); font-size: 0.92rem;
    }
    .who-list li:first-child { border-top: 1px solid var(--grey-light); }
    .who-list-dot { flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); margin-top: 0.55rem; }
    .who-list-title { font-family: var(--sans); font-size: 0.78rem; font-weight: 600; color: var(--text); display: block; margin-bottom: 0.2rem; }
    .who-list-body { font-size: 0.85rem; line-height: 1.7; color: var(--grey-dark); margin: 0; }
    .who-image-wrap { position: relative; height: 580px; overflow: hidden; }
    .who-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }

/* ─── What We're Looking For ──────────────────────────────────── */
    .looking-section { background: var(--white); }
    .looking-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1.5rem; }
    .looking-lead { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); max-width: 560px; }
    .content-types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--grey-light); margin-top: 3.5rem; }
    .content-type-item {
      padding: 2rem 2rem;
      border-right: 1px solid var(--grey-light);
      border-bottom: 1px solid var(--grey-light);
    }
    .content-type-item:nth-child(4n) { border-right: none; }
    .content-type-item:nth-last-child(-n+4) { border-bottom: none; }
    .content-type-label { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 0.6rem; }
    .content-type-title { font-family: var(--serif); font-size: 1rem; font-weight: 500; color: var(--text); margin-bottom: 0.5rem; }
    .content-type-desc { font-size: 0.82rem; line-height: 1.75; color: var(--grey-dark); margin: 0; }

/* ─── Strong Pitch ────────────────────────────────────────────── */
    .pitch-section { background: var(--dark); padding: 8rem 0; }
    .pitch-tag { font-family: var(--sans); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent); display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
    .pitch-tag::before { content: ''; display: inline-block; width: 32px; height: 1.5px; background: var(--accent); }
    .pitch-headline { font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 500; color: #fff; line-height: 1.15; max-width: 680px; margin-bottom: 1.5rem; }
    .pitch-lead { font-size: 1rem; line-height: 1.85; color: rgba(255,255,255,0.5); max-width: 560px; margin-bottom: 4rem; }
    .pitch-items {
      display: grid; grid-template-columns: repeat(5, 1fr); gap: 0;
      border-top: 1px solid rgba(255,255,255,0.08);
    }
    .pitch-item {
      padding: 2.5rem 2.5rem 2.5rem 0;
      border-right: 1px solid rgba(255,255,255,0.08);
      padding-right: 2.5rem;
      padding-left: 2.5rem;
    }
    .pitch-item:first-child { padding-left: 0; }
    .pitch-item:last-child { border-right: none; }
    .pitch-item-num { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.2em; color: var(--accent); display: block; margin-bottom: 1rem; }
    .pitch-item-title { font-family: var(--serif); font-size: 0.95rem; font-weight: 500; color: rgba(255,255,255,0.88); margin-bottom: 0.5rem; }
    .pitch-item-body { font-size: 0.82rem; line-height: 1.75; color: rgba(255,255,255,0.4); margin: 0; }

/* ─── Opportunities ───────────────────────────────────────────── */
    .opportunities-section { background: var(--bg); }
    .opp-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1.5rem; }
    .opp-lead { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); max-width: 540px; }
    .opp-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 3.5rem; }
    .opp-card {
      background: var(--white);
      padding: 2.5rem;
      border: 1px solid var(--grey-light);
      display: flex; flex-direction: column;
      transition: border-color 0.25s, box-shadow 0.25s;
    }
    .opp-card:hover { border-color: rgba(216,137,31,0.35); box-shadow: 0 8px 32px rgba(0,0,0,0.06); }
    .opp-card-tag { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 0.85rem; }
    .opp-card-title { font-family: var(--serif); font-size: 1.3rem; font-weight: 500; color: var(--text); margin-bottom: 0.85rem; }
    .opp-card-desc { font-size: 0.9rem; line-height: 1.8; color: var(--grey-dark); flex: 1; margin-bottom: 1.75rem; }
    .opp-card-link { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); display: inline-flex; align-items: center; gap: 0.4rem; text-decoration: none; transition: gap 0.2s; }
    .opp-card-link:hover { gap: 0.7rem; }

/* ─── Submission Form ─────────────────────────────────────────── */
    .form-section { background: var(--white); }
    .form-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1rem; }
    .form-lead { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); margin-bottom: 3rem; max-width: 600px; }
    .form-group-label {
      font-family: var(--sans); font-size: 0.6rem; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent);
      display: block; margin-bottom: 1.5rem; margin-top: 3rem;
      padding-bottom: 0.65rem; border-bottom: 1px solid var(--grey-light);
    }
    .form-group-label:first-of-type { margin-top: 0; }
    .contribute-form label {
      font-family: var(--sans); font-size: 0.78rem; font-weight: 500;
      color: var(--text); display: block; margin-bottom: 0.5rem;
    }
    .contribute-form .optional {
      font-weight: 400; color: var(--grey-mid); font-size: 0.72rem; margin-left: 0.35rem;
    }
    .contribute-form .required-mark {
      color: var(--accent); margin-left: 0.2rem; font-size: 0.8rem;
    }
    @keyframes fs-shake {
      0%,100% { transform: translateX(0); }
      20%     { transform: translateX(-5px); }
      40%     { transform: translateX(5px); }
      60%     { transform: translateX(-3px); }
      80%     { transform: translateX(3px); }
    }
    .contribute-form .field-invalid > label { color: #b04040; }
    .contribute-form .field-invalid input[type="text"],
    .contribute-form .field-invalid input[type="email"],
    .contribute-form .field-invalid input[type="tel"],
    .contribute-form .field-invalid select,
    .contribute-form .field-invalid textarea {
      border-color: #b04040;
      box-shadow: 0 0 0 3px rgba(176,64,64,0.1);
      animation: fs-shake 0.4s ease;
    }
    .contribute-form .field-invalid .select-wrap::after { border-top-color: #b04040; }
    .contribute-form .field-invalid input[type="checkbox"] {
      outline: 2px solid #b04040; outline-offset: 2px;
      animation: fs-shake 0.4s ease;
    }
    .contribute-form .field-msg {
      font-family: var(--sans); font-size: 0.72rem;
      color: #b04040; margin-top: 0.35rem; display: none;
    }
    .contribute-form .field-invalid .field-msg { display: block; }
    .contribute-form input[type="text"],
    .contribute-form input[type="email"],
    .contribute-form input[type="tel"],
    .contribute-form select,
    .contribute-form textarea {
      width: 100%;
      font-family: var(--sans); font-size: 0.9rem; color: var(--text);
      background: var(--bg); border: 1px solid var(--grey-light);
      border-radius: 0; padding: 0.85rem 1rem;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      appearance: none; -webkit-appearance: none;
    }
    .contribute-form input:focus,
    .contribute-form select:focus,
    .contribute-form textarea:focus {
      border-color: var(--accent);
      background: var(--white);
      box-shadow: 0 0 0 3px rgba(216,137,31,0.08);
    }
    .contribute-form textarea { resize: vertical; min-height: 130px; line-height: 1.7; }
    .contribute-form .select-wrap { position: relative; }
    .contribute-form .select-wrap::after {
      content: '';
      position: absolute; right: 1rem; top: 50%; transform: translateY(-50%);
      width: 0; height: 0;
      border-left: 4px solid transparent; border-right: 4px solid transparent;
      border-top: 5px solid var(--grey-mid); pointer-events: none;
    }
    .contribute-form .file-input-wrap {
      border: 1px dashed var(--grey-light); padding: 1.75rem 1.25rem;
      text-align: center; background: var(--bg); cursor: pointer;
      transition: border-color 0.2s;
    }
    .contribute-form .file-input-wrap:hover { border-color: var(--accent); }
    .contribute-form .file-input-wrap.drag-over {
      border-color: var(--accent); background: var(--accent-pale);
    }
    .contribute-form .file-input-wrap.has-files span {
      color: var(--text);
    }
    .contribute-form .file-input-wrap input { display: none; }
    .contribute-form .file-input-wrap p { font-size: 0.82rem; color: var(--grey-mid); margin: 0; }
    .contribute-form .file-input-wrap span { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; color: var(--accent); text-transform: uppercase; }
    .consent-row { display: flex; align-items: flex-start; gap: 0.85rem; }
    .consent-row input[type="checkbox"] { flex-shrink: 0; width: 16px; height: 16px; margin-top: 3px; accent-color: var(--accent); cursor: pointer; }
    .consent-row label { font-size: 0.85rem; line-height: 1.6; color: var(--grey-dark); cursor: pointer; }
    .form-hint { font-size: 0.78rem; color: var(--grey-mid); margin-top: 0.4rem; }
    .form-submit-row { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--grey-light); }

/* ─── Two Paths ───────────────────────────────────────────────── */
    .two-paths-section { background: var(--bg); }
    .two-paths-headline { font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 500; color: var(--text); line-height: 1.25; margin-bottom: 0.75rem; }
    .two-paths-sub { font-size: 0.95rem; line-height: 1.8; color: var(--grey-dark); }
    .path-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3.5rem; }
    .path-card {
      border: 1px solid var(--grey-light); padding: 2.75rem 2.5rem;
      display: flex; flex-direction: column;
      transition: border-color 0.25s, box-shadow 0.25s;
      background: var(--white);
    }
    .path-card:hover { border-color: rgba(216,137,31,0.35); box-shadow: 0 8px 32px rgba(0,0,0,0.06); }
    .path-card--featured { background: var(--accent-pale); border-color: rgba(216,137,31,0.25); }
    .path-card--featured:hover { border-color: rgba(216,137,31,0.55); }
    .path-card-tag { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 1rem; }
    .path-card-title { font-family: var(--serif); font-size: 1.6rem; font-weight: 500; color: var(--text); margin-bottom: 1rem; line-height: 1.25; }
    .path-card-desc { font-size: 0.92rem; line-height: 1.8; color: var(--grey-dark); flex: 1; margin-bottom: 2rem; }
    .path-card-use { list-style: none; padding: 0; margin: 0 0 2rem; }
    .path-card-use li { font-size: 0.85rem; line-height: 1.65; color: var(--grey-dark); padding: 0.35rem 0 0.35rem 1rem; position: relative; }
    .path-card-use li::before { content: ''; position: absolute; left: 0; top: 0.68rem; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
    .path-card-link { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); display: inline-flex; align-items: center; gap: 0.4rem; text-decoration: none; transition: gap 0.2s; margin-top: auto; }
    .path-card-link:hover { gap: 0.7rem; }

/* ─── Guest Writer Section ────────────────────────────────────── */
    .guest-section { background: var(--white); }
    .guest-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1.25rem; }
    .guest-lead { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); margin-bottom: 2.5rem; max-width: 640px; }
    .guest-topics { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.5rem 0 2.5rem; }
    .topic-tag { font-family: var(--sans); font-size: 0.75rem; font-weight: 500; padding: 0.4rem 0.9rem; border: 1px solid var(--grey-light); color: var(--grey-dark); background: var(--bg); line-height: 1.4; }
    .guest-examples-label { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--grey-mid); margin-bottom: 1rem; display: block; }
    .example-articles { list-style: none; padding: 0; margin: 0 0 3rem; }
    .example-articles li { font-family: var(--serif); font-size: 1rem; font-style: italic; color: var(--text); padding: 0.85rem 0 0.85rem 1.25rem; border-left: 3px solid var(--accent); margin-bottom: 0.65rem; line-height: 1.5; }
    .reassurance-block { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 3rem 0; padding: 2.5rem 0; border-top: 1px solid var(--grey-light); border-bottom: 1px solid var(--grey-light); }
    .reassurance-item { display: flex; flex-direction: column; gap: 0.4rem; }
    .reassurance-icon { color: var(--accent); margin-bottom: 0.35rem; line-height: 1; }
    .reassurance-title { font-family: var(--sans); font-size: 0.85rem; font-weight: 600; color: var(--text); }
    .reassurance-desc { font-size: 0.85rem; line-height: 1.65; color: var(--grey-dark); }
    .guest-form-intro { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin-bottom: 1rem; display: block; }
    .guest-form-headline { font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 1.9rem); font-weight: 500; color: var(--text); line-height: 1.25; margin-bottom: 0.75rem; }
    .guest-form-lead { font-size: 0.95rem; line-height: 1.8; color: var(--grey-dark); margin-bottom: 2.5rem; }

/* ─── What Happens Next ───────────────────────────────────────── */
    .next-section { background: var(--bg); }
    .next-headline { font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 500; color: var(--text); line-height: 1.25; margin-bottom: 0.5rem; }
    .next-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 3.5rem; }
    .next-step { padding: 2.5rem 2.5rem 2.5rem 0; border-right: 1px solid var(--grey-light); }
    .next-step:last-child { border-right: none; padding-right: 0; padding-left: 2.5rem; }
    .next-step:nth-child(2) { padding-left: 2.5rem; }
    .next-step-num { font-family: var(--serif); font-size: 2.5rem; font-weight: 500; color: var(--accent); opacity: 0.35; line-height: 1; margin-bottom: 1.25rem; }
    .next-step-title { font-family: var(--serif); font-size: 1.2rem; font-weight: 500; color: var(--text); margin-bottom: 0.6rem; }
    .next-step-desc { font-size: 0.88rem; line-height: 1.75; color: var(--grey-dark); }

/* ─── Guidelines ──────────────────────────────────────────────── */
    .guidelines-section { background: var(--bg); }
    .guidelines-headline { font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1.5rem; }
    .guidelines-list { list-style: none; padding: 0; margin: 0; }
    .guidelines-list li { display: flex; gap: 1.1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--grey-light); font-size: 0.9rem; line-height: 1.75; color: var(--grey-dark); }
    .guidelines-list li:first-child { border-top: 1px solid var(--grey-light); }
    .guidelines-list li::before { content: ''; flex-shrink: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); margin-top: 0.65rem; }

/* ─── FAQ ─────────────────────────────────────────────────────── */
    .faq-section { background: var(--white); }
    .faq-headline { font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 0.5rem; }
    .faq-lead { font-size: 1rem; line-height: 1.8; color: var(--grey-dark); margin-bottom: 3rem; }
    .faq-item { border-bottom: 1px solid var(--grey-light); }
    .faq-item:first-of-type { border-top: 1px solid var(--grey-light); }
    .faq-question {
      font-family: var(--serif); font-size: 1.05rem; font-weight: 500;
      color: var(--text); padding: 1.5rem 0;
      display: flex; justify-content: space-between; align-items: center;
      cursor: pointer; gap: 1rem;
      background: none; border: none; width: 100%; text-align: left;
    }
    .faq-question-icon { flex-shrink: 0; width: 20px; height: 20px; position: relative; }
    .faq-question-icon::before,.faq-question-icon::after {
      content: ''; position: absolute; background: var(--accent);
      transition: transform 0.3s, opacity 0.3s;
    }
    .faq-question-icon::before { width: 12px; height: 1.5px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
    .faq-question-icon::after { width: 1.5px; height: 12px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
    .faq-item.open .faq-question-icon::after { transform: translate(-50%,-50%) rotate(90deg); opacity: 0; }
    .faq-answer { font-size: 0.9rem; line-height: 1.85; color: var(--grey-dark); max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease; }
    .faq-item.open .faq-answer { max-height: 300px; padding-bottom: 1.5rem; }

/* ─── Closing CTA ─────────────────────────────────────────────── */
    .closing-section {
      background: var(--dark-mid); padding: 9rem 0; position: relative; overflow: hidden;
    }
    .closing-section::before {
      content: ''; position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 60% 50% at 70% 100%, rgba(216,137,31,0.22) 0%, transparent 60%),
        radial-gradient(ellipse 40% 40% at 20% 80%, rgba(200,80,0,0.12) 0%, transparent 60%);
      pointer-events: none;
    }
    .closing-eyebrow { font-family: var(--sans); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.5rem; }
    .closing-headline { font-family: var(--serif); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 500; color: #fff; line-height: 1.1; margin-bottom: 2rem; }
    .closing-headline em { font-style: italic; color: rgba(255,255,255,0.65); }
    .closing-sub { font-size: 1rem; line-height: 1.8; color: rgba(255,255,255,0.5); max-width: 500px; margin-bottom: 3rem; }


/* ══════════════════════════════════════════════════════════════
   PAGE: lindsay-advocate.html
══════════════════════════════════════════════════════════════ */

/* ─── Hero ──────────────────────────────────────────────────── */
    .pub-hero {
      position: relative;
      min-height: 95vh;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      background: var(--dark);
    }
    .pub-hero-img {
      position: absolute;
      inset: 0;
      object-fit: cover;
      width: 100%;
      height: 100%;
      opacity: 0.52;
      transition: opacity 0.6s ease;
    }
    .pub-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(10,6,2,0.25) 0%,
        rgba(10,6,2,0.1)  30%,
        rgba(10,6,2,0.55) 65%,
        rgba(10,6,2,0.88) 100%
      );
      z-index: 1;
    }
    .pub-hero-content {
      position: relative;
      z-index: 2;
      padding-bottom: 5.5rem;
      width: 100%;
    }
    .pub-hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      font-family: var(--sans);
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.5rem;
    }
    .pub-hero-tag::before {
      content: '';
      display: block;
      width: 28px;
      height: 1.5px;
      background: var(--accent);
    }
    .pub-hero-headline {
      font-family: var(--serif);
      font-size: clamp(2.4rem, 4.2vw, 4.2rem);
      white-space: nowrap;
      font-weight: 600;
      color: var(--white);
      line-height: 1.04;
      margin-bottom: 1.5rem;
      max-width: 760px;
    }
    .pub-hero-headline em {
      font-style: italic;
      color: rgba(255,255,255,0.85);
    }
    .pub-hero-sub {
      font-family: var(--sans);
      font-size: 1.05rem;
      font-weight: 300;
      color: rgba(255,255,255,0.65);
      max-width: 500px;
      line-height: 1.75;
      margin-bottom: 2.5rem;
    }
    .pub-hero-meta {
      display: flex;
      gap: 2.5rem;
      flex-wrap: wrap;
    }
    .pub-hero-meta-item {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }
    .pub-hero-meta-label {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.38);
    }
    .pub-hero-meta-value {
      font-family: var(--serif);
      font-size: 0.92rem;
      color: rgba(255,255,255,0.72);
    }
    .pub-hero-scroll {
      position: absolute;
      bottom: 2.25rem;
      right: 2.5rem;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.6rem;
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
    }
    .pub-hero-scroll::after {
      content: '';
      display: block;
      width: 1px;
      height: 48px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.35), transparent);
      animation: scroll-line 2s ease-in-out infinite;
    }
    @keyframes scroll-line {
      0%,100% { opacity:0.35; transform:scaleY(1); }
      50%      { opacity:0.7;  transform:scaleY(0.85); }
    }

/* ─── Hero Layout Columns ───────────────────────────────────── */
    .hero-text-col {
      flex: 0 0 60%;
      max-width: 60%;
      padding-right: 3rem;
    }
    .hero-covers-col {
      flex: 0 0 40%;
      max-width: 45%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding-bottom: 0.25rem;
      position: relative;
    }
    /* Mobile: stack publication hero columns vertically */
    @media (max-width: 991px) {
      .pub-hero { padding-top: 7rem; min-height: auto; }
      .pub-hero-content { padding-top: 1rem; }
      .hero-text-col {
        flex: 0 0 100%;
        max-width: 100%;
        padding-right: 0;
        margin-bottom: 2.5rem;
      }
      .hero-covers-col {
        flex: 0 0 100%;
        max-width: 100%;
        padding-bottom: 1rem;
      }
    }
    .hero-covers-col::before {
      content: '';
      position: absolute;
      inset: -15% -10%;
      background:
        radial-gradient(ellipse 70% 55% at 50% 75%, rgba(200,74,0,0.38) 0%, transparent 65%),
        radial-gradient(ellipse 50% 40% at 50% 95%, rgba(216,137,31,0.28) 0%, transparent 60%);
      pointer-events: none;
      z-index: 0;
      animation: covers-glow 3s ease-in-out infinite;
    }
    @keyframes covers-glow {
      0%,100% { opacity: 0.85; transform: scaleY(1); }
      50%      { opacity: 1;    transform: scaleY(4); }
    }
    .cover-grid-wrap { position: relative; z-index: 1; }

/* ─── Cover Grid ─────────────────────────────────────────────── */
    .cover-grid-wrap {
      position: relative;
      width: 100%;
    }
    .cover-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 15px;
      width: 100%;
      transition: gap 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .cover-grid-wrap:hover .cover-grid {
      gap: 45px;
    }
    /* Mobile: give containers more breathing room than Bootstrap's 12px default */
    @media (max-width: 767px) {
      .container, .container-fluid {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
      }
    }

    /* ─── Mobile Hamburger + Drawer ──────────────────────────────── */
    .nav-hamburger {
      display: none;
      background: none;
      border: 0;
      padding: 0.5rem;
      cursor: pointer;
      width: 40px;
      height: 40px;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      z-index: 1001;
      position: relative;
    }
    .nav-hamburger span {
      display: block;
      width: 22px;
      height: 1.5px;
      background: var(--white);
      transition: transform 0.3s ease, opacity 0.25s ease, background 0.25s ease;
      transform-origin: center;
    }
    .site-nav.scrolled .nav-hamburger span { background: var(--text); }
    .nav-hamburger.is-open span { background: var(--white); }
    .nav-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
    .nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

    .mobile-menu {
      position: fixed;
      inset: 0;
      background: var(--dark, #160E05);
      z-index: 1000;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 5rem 2rem 2rem;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-12px);
      transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
      overflow-y: auto;
    }
    .mobile-menu.is-open {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s;
    }
    .mobile-menu-inner {
      max-width: 480px;
      width: 100%;
      margin: 0 auto;
    }
    .mobile-menu-section {
      padding: 1.25rem 0;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .mobile-menu-section:last-child { border-bottom: 0; }
    .mobile-menu-heading {
      display: block;
      font-family: var(--sans);
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--accent, #D8891F);
      margin-bottom: 1rem;
    }
    .mobile-menu a {
      display: block;
      font-family: var(--serif);
      font-size: 1.4rem;
      font-weight: 400;
      color: rgba(255,255,255,0.85);
      text-decoration: none;
      padding: 0.5rem 0;
      transition: color 0.2s ease;
    }
    .mobile-menu a:hover { color: var(--accent, #D8891F); }
    .mobile-menu a.active { color: var(--accent, #D8891F); }
    .mobile-menu a.mobile-menu-cta {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--white);
      background: var(--accent, #D8891F);
      padding: 0.85rem 1.75rem;
      margin-top: 0.75rem;
    }
    .mobile-menu a.mobile-menu-cta:hover { background: var(--text); color: var(--white); }

    @media (max-width: 991px) {
      .nav-hamburger { display: flex; }
    }

    /* Cover-grid modifiers: layout per-publication */
    .cover-grid--klw { grid-template-columns: repeat(4, 1fr); gap: 10px; }
    .cover-grid-wrap:hover .cover-grid--klw { gap: 28px; }
    .cover-grid--psl { grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 92%; margin: 0 auto; }
    .cover-grid-wrap:hover .cover-grid--psl { gap: 36px; }
    .ghost-grid-inner--klw { grid-template-columns: repeat(4, 1fr); }
    .ghost-grid-inner--psl { grid-template-columns: repeat(2, 1fr); }
    /* Mobile: limit hero covers to a single row of 3, hide decorative ghost grid */
    @media (max-width: 767px) {
      .hero-ghost-grid { display: none; }
      .cover-grid,
      .cover-grid--klw {
        grid-template-columns: repeat(3, 1fr);
      }
      .cover-grid > *:nth-child(n+4) { display: none; }
    }
    .cover-grid-item {
      overflow: hidden;
      display: block;
    }
    .cover-grid-item img {
      width: 100%;
      height: auto;
      display: block;
      box-shadow: 0 4px 18px rgba(0,0,0,0.45), 0 2px 6px rgba(0,0,0,0.25);
      transition: transform 0.4s ease, box-shadow 0.4s ease;
    }
    .cover-grid-item:hover img {
      transform: scale(1.03);
      box-shadow: 0 8px 32px rgba(0,0,0,0.6), 0 3px 10px rgba(0,0,0,0.35);
    }

/* ─── Cover Grid Button ──────────────────────────────────────── */
    .cover-grid-btn {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.88);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.35s ease, transform 0.35s ease;
      z-index: 10;
      /* layout */
      display: inline-block;
      white-space: nowrap;
      text-decoration: none;
      text-align: center;
      padding: 0.85rem 2.25rem;
      /* text */
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.95);
      /* border */
      border: 1px solid rgba(255,255,255,0.7);
      /* fire bg via pseudo */
      overflow: hidden;
      box-shadow:
              0 4px 6px rgba(0, 0, 0, 0.2),
              0 10px 20px rgba(0, 0, 0, 0.4);
    }
    .cover-grid-wrap:hover .cover-grid-btn {
      opacity: 1;
      pointer-events: auto;
      transform: translate(-50%, -50%) scale(1);
    }
    .cover-grid-btn::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        110deg,
        #2A0800 0%,
        #7A1E00 15%,
        #C84A00 30%,
        #D8891F 45%,
        #E8AA38 55%,
        #D8891F 65%,
        #C04000 80%,
        #6A1400 100%
      );
      background-size: 280% 280%;
      animation: fire-btn-flow 3.2s ease-in-out infinite;
      opacity: 0.88;
      z-index: -1;
    }
    @keyframes fire-btn-flow {
      0%   { background-position: 0%   60%; }
      40%  { background-position: 100% 40%; }
      100% { background-position: 0%   60%; }
    }
    .cover-grid-btn span { position: relative; z-index: 1; }

/* ─── Hero Ghost Grid (decorative background, left side) ─────── */
    .hero-ghost-grid {
      position: absolute;
      bottom: -12%;
      left: -7%;
      z-index: 1;
      pointer-events: none;
      opacity: 0.117;
      filter: blur(2px);
      width: 46%;
      will-change: transform;
    }
    .ghost-grid-inner {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      width: 100%;
      transform: scale(1.2);
      transform-origin: bottom left;
    }
    .ghost-grid-inner img {
      width: 100%;
      height: auto;
      display: block;
    }

/* ─── Publication Intro ──────────────────────────────────────── */
    .intro-section { background: var(--white); }
    .intro-statement {
      font-family: var(--serif);
      font-size: clamp(1.55rem, 3vw, 2.25rem);
      font-weight: 400;
      line-height: 1.45;
      color: var(--text);
    }
    .intro-statement em {
      font-style: italic;
      color: var(--grey-dark);
    }
    .pub-details-strip {
      border-top: 1px solid var(--grey-light);
      padding-top: 2.5rem;
      margin-top: 3.5rem;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
    }
    .pub-detail {
      padding-right: 2rem;
      border-right: 1px solid var(--grey-light);
      padding-left: 0.5rem;
    }
    .pub-detail:first-child { padding-left: 0; }
    .pub-detail:last-child { border-right: none; }
    .pub-detail-label {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--grey-mid);
      margin-bottom: 0.5rem;
    }
    .pub-detail-value {
      font-family: var(--serif);
      font-size: 1rem;
      color: var(--text);
      font-weight: 500;
    }

/* ─── Who It's For ───────────────────────────────────────────── */
    .audience-section { background: var(--bg); }
    .audience-quote {
      font-family: var(--serif);
      font-size: clamp(1.3rem, 2.5vw, 1.85rem);
      font-style: italic;
      font-weight: 400;
      line-height: 1.55;
      color: var(--grey-dark);
      padding-left: 2rem;
      border-left: 2.5px solid var(--accent);
      margin: 0;
    }
    .audience-desc {
      font-size: 0.93rem;
      line-height: 1.85;
      color: var(--grey-dark);
      font-weight: 300;
    }
    .audience-tag-list {
      list-style: none;
      margin: 2rem 0 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
    }
    .audience-tag-list li {
      font-family: var(--sans);
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--grey-dark);
      border: 1px solid var(--grey-light);
      padding: 0.45rem 1rem;
      background: var(--white);
    }

/* ─── What We Cover ─────────────────────────────────────────── */
    .covers-section { background: var(--white); }
    .cover-category {
      padding: 2.25rem 0;
      border-bottom: 1px solid var(--grey-light);
      display: grid;
      grid-template-columns: 200px 1fr auto;
      align-items: baseline;
      gap: 2.5rem;
    }
    .cover-category:first-of-type { border-top: 1px solid var(--grey-light); }
    .cover-cat-number {
      font-family: var(--serif);
      font-size: 0.72rem;
      color: var(--grey-mid);
      letter-spacing: 0.08em;
    }
    .cover-cat-title {
      font-family: var(--serif);
      font-size: 1.35rem;
      font-weight: 500;
      color: var(--text);
      margin: 0;
    }
    .cover-cat-desc {
      font-size: 0.85rem;
      color: var(--grey-mid);
      line-height: 1.7;
      max-width: 480px;
      margin: 0.35rem 0 0;
      grid-column: 2;
    }
    .cover-cat-tag {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--accent);
      white-space: nowrap;
      align-self: center;
    }

/* ─── Why It Exists ─────────────────────────────────────────── */
    .why-section {
      background: var(--dark);
      position: relative;
      overflow: hidden;
    }
    .why-section-img {
      position: absolute;
      inset: 0;
      object-fit: cover;
      width: 100%;
      height: 100%;
      opacity: 0.18;
    }
    .why-section-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(26,16,10,0.9) 40%, rgba(26,16,10,0.6) 100%);
    }
    .why-content { position: relative; z-index: 1; }
    .why-pub-headline {
      font-family: var(--serif);
      font-size: clamp(2rem, 4vw, 3.5rem);
      font-weight: 500;
      line-height: 1.15;
      color: var(--white);
      margin-bottom: 2rem;
    }
    .why-pub-headline em { font-style: italic; color: rgba(255,255,255,0.7); }
    .why-pub-body {
      font-size: 0.95rem;
      font-weight: 300;
      line-height: 1.9;
      color: rgba(255,255,255,0.55);
      max-width: 520px;
    }
    .why-pull-quote {
      font-family: var(--serif);
      font-size: clamp(1.4rem, 2.8vw, 2.1rem);
      font-style: italic;
      font-weight: 400;
      line-height: 1.5;
      color: rgba(255,255,255,0.88);
      padding: 2.5rem 0 2.5rem 2.5rem;
      border-left: 2px solid var(--accent);
      margin: 0;
    }
    .why-pull-attribution {
      font-family: var(--sans);
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--accent);
      padding-left: 2.5rem;
      margin-top: 1.25rem;
      display: block;
    }

/* ─── Editorial Spread ──────────────────────────────────────── */
    .spread-section { background: var(--bg); overflow: hidden; }
    .spread-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      grid-template-rows: auto auto;
      gap: 1rem;
    }
    .spread-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.7s ease;
    }
    .spread-cell { overflow: hidden; position: relative; }
    .spread-cell:hover .spread-img { transform: scale(1.03); }
    .spread-cell-main   { grid-column: 1; grid-row: 1 / 3; }
    .spread-cell-top    { grid-column: 2; grid-row: 1; }
    .spread-cell-bottom { grid-column: 2; grid-row: 2; }
    .spread-cell-main   { height: 640px; }
    .spread-cell-top    { height: 310px; }
    .spread-cell-bottom { height: 310px; }

    .spread-caption {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 1.5rem;
      background: linear-gradient(transparent, rgba(0,0,0,0.65));
      font-family: var(--sans);
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.7);
      z-index: 1;
    }
    .spread-full-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 1rem;
      margin-top: 1rem;
    }
    .spread-full-row .spread-cell { height: 260px; }

    .spread-text-cell {
      background: var(--dark);
      padding: 3rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .spread-text-cell .spread-pull {
      font-family: var(--serif);
      font-size: 1.6rem;
      font-style: italic;
      line-height: 1.45;
      color: rgba(255,255,255,0.88);
      margin-bottom: 1.25rem;
    }
    .spread-text-cell .spread-pull-attr {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--accent);
    }

/* ─── Distribution & Reach ──────────────────────────────────── */
    .reach-section { background: var(--white); }
    .reach-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border: 1px solid var(--grey-light);
    }
    .reach-grid--3 { grid-template-columns: repeat(3, 1fr); }
    .reach-stat {
      padding: 3rem 2.5rem;
      border-right: 1px solid var(--grey-light);
    }
    .reach-stat:last-child { border-right: none; }
    .reach-stat-label {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--grey-mid);
      margin-bottom: 1rem;
      display: block;
    }
    .reach-stat-number {
      font-family: var(--serif);
      font-size: clamp(2.5rem, 4vw, 3.75rem);
      font-weight: 500;
      color: var(--text);
      line-height: 1;
    }
    .reach-stat-number sup {
      font-size: 0.45em;
      color: var(--accent);
      vertical-align: super;
    }
    .reach-stat-sub {
      font-size: 0.8rem;
      color: var(--grey-mid);
      line-height: 1.6;
      margin-top: 0.6rem;
    }

/* ─── For Advertisers ────────────────────────────────────────── */
    .advertiser-section { background: var(--bg); }
    .advertiser-headline {
      font-family: var(--serif);
      font-size: clamp(1.75rem, 3.5vw, 2.75rem);
      font-weight: 500;
      line-height: 1.2;
      color: var(--text);
      margin-bottom: 1.5rem;
    }
    .advertiser-headline em { font-style: italic; color: var(--grey-dark); }
    .advertiser-body {
      font-size: 0.93rem;
      font-weight: 300;
      line-height: 1.9;
      color: var(--grey-dark);
    }
    .advertiser-points {
      list-style: none;
      margin: 0; padding: 0;
    }
    .advertiser-points li {
      padding: 1.5rem 0;
      border-bottom: 1px solid var(--grey-light);
      display: flex;
      gap: 1.25rem;
      align-items: flex-start;
    }
    .advertiser-points li:first-child { border-top: 1px solid var(--grey-light); }
    .adv-point-marker {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--accent);
      flex-shrink: 0;
      margin-top: 0.45rem;
    }
    .adv-point-title {
      font-family: var(--sans);
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 0.25rem;
    }
    .adv-point-desc {
      font-size: 0.8rem;
      color: var(--grey-mid);
      line-height: 1.7;
      margin: 0;
    }

/* ─── Fireside Connection ────────────────────────────────────── */
    .fireside-section {
      background: var(--white);
      border-top: 1px solid var(--grey-light);
      border-bottom: 1px solid var(--grey-light);
    }
    .fireside-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.6rem 1.25rem 0.6rem 0.75rem;
      border: 1px solid var(--grey-light);
      background: var(--bg);
      margin-bottom: 2rem;
    }
    .fireside-badge-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--accent);
    }
    .fireside-badge-text {
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--grey-mid);
    }
    .fireside-headline {
      font-family: var(--serif);
      font-size: clamp(1.5rem, 3vw, 2.25rem);
      font-weight: 500;
      line-height: 1.3;
      color: var(--text);
      margin-bottom: 1.25rem;
    }
    .fireside-body {
      font-size: 0.9rem;
      font-weight: 300;
      line-height: 1.9;
      color: var(--grey-dark);
      max-width: 460px;
    }
    .sibling-pub-list {
      list-style: none;
      margin: 0; padding: 0;
    }
    .sibling-pub-list li {
      padding: 1.25rem 0;
      border-bottom: 1px solid var(--grey-light);
    }
    .sibling-pub-list li:first-child { border-top: 1px solid var(--grey-light); }
    .sibling-pub-name {
      font-family: var(--serif);
      font-size: 1.05rem;
      font-weight: 500;
      color: var(--text);
      display: block;
      margin-bottom: 0.2rem;
    }
    .sibling-pub-desc {
      font-size: 0.78rem;
      color: var(--grey-mid);
      line-height: 1.6;
    }
    .sibling-pub-link {
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--accent);
      text-decoration: none;
      display: inline-block;
      margin-top: 0.5rem;
    }
    .sibling-pub-link:hover { text-decoration: underline; }

/* ─── CTA Section ────────────────────────────────────────────── */
    .pub-cta-section {
      background: var(--dark-mid);
      position: relative;
      overflow: hidden;
      padding: 8rem 0;
      text-align: center;
    }
    .pub-cta-bg {
      position: absolute;
      inset: 0;
      object-fit: cover;
      width: 100%;
      height: 100%;
      opacity: 0.14;
    }
    .pub-cta-overlay {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 70% at 50% 100%, rgba(216,137,31,0.18) 0%, transparent 70%);
    }
    .pub-cta-content { position: relative; z-index: 1; }
    .pub-cta-eyebrow {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.25rem;
    }
    .pub-cta-headline {
      font-family: var(--serif);
      font-size: clamp(2.2rem, 5vw, 4rem);
      font-weight: 500;
      color: var(--white);
      line-height: 1.1;
      margin-bottom: 1.25rem;
    }
    .pub-cta-headline em { font-style: italic; color: rgba(255,255,255,0.7); }
    .pub-cta-sub {
      font-size: 0.95rem;
      font-weight: 300;
      color: rgba(255,255,255,0.5);
      max-width: 460px;
      margin: 0 auto 3rem;
      line-height: 1.8;
    }
    .pub-cta-actions {
      display: flex;
      justify-content: center;
      gap: 1.25rem;
      flex-wrap: wrap;
    }


/* ══════════════════════════════════════════════════════════════
   PAGE: voices.html
══════════════════════════════════════════════════════════════ */

/* ─── Hero ────────────────────────────────────────────────────── */
    .voices-hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      background: var(--dark);
    }
    .voices-hero-img { display: none; }
    .voices-hero-overlay {
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 70% 55% at 65% 100%, rgba(200,74,0,0.28) 0%, transparent 60%),
        radial-gradient(ellipse 45% 40% at 20% 85%, rgba(216,137,31,0.14) 0%, transparent 60%),
        radial-gradient(ellipse 55% 35% at 85% 90%, rgba(180,50,0,0.18) 0%, transparent 55%);
      z-index: 1;
      animation: hero-glow-pulse 6s ease-in-out infinite;
    }
    @keyframes hero-glow-pulse {
      0%,100% { opacity: 0.85; }
      50%      { opacity: 1; }
    }
    .voices-hero-content {
      position: relative;
      z-index: 2;
      padding-bottom: 7rem;
    }
    .voices-hero-tag {
      font-family: var(--sans);
      font-size: 0.67rem; font-weight: 600;
      letter-spacing: 0.26em; text-transform: uppercase;
      color: var(--accent);
      display: flex; align-items: center; gap: 1rem;
      margin-bottom: 1.75rem;
    }
    .voices-hero-tag::before {
      content: '';
      display: inline-block;
      width: 36px; height: 1.5px;
      background: var(--accent);
    }
    .voices-hero-headline {
      font-family: var(--serif);
      font-size: clamp(3rem, 6vw, 5.5rem);
      font-weight: 500;
      color: #fff;
      line-height: 1.08;
      letter-spacing: -0.01em;
      max-width: 780px;
      margin-bottom: 2rem;
    }
    .voices-hero-headline em { font-style: italic; color: rgba(255,255,255,0.75); }
    .voices-hero-sub {
      font-family: var(--sans);
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      color: rgba(255,255,255,0.62);
      line-height: 1.7;
      max-width: 540px;
      margin-bottom: 3rem;
    }
    .voices-hero-scroll {
      position: absolute;
      bottom: 2.5rem; left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      font-family: var(--sans);
      font-size: 0.6rem; font-weight: 600;
      letter-spacing: 0.22em; text-transform: uppercase;
      color: rgba(255,255,255,0.38);
      display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
    }
    .voices-hero-scroll::after {
      content: '';
      display: block;
      width: 1px; height: 36px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.35), transparent);
      animation: scroll-line 2.2s ease-in-out infinite;
    }
    @keyframes scroll-line { 0%,100%{transform:scaleY(1);opacity:0.38;} 50%{transform:scaleY(0.6);opacity:0.65;} }

/* ─── Why This Matters ────────────────────────────────────────── */
    .matters-section { background: var(--white); }
    .matters-lede {
      font-family: var(--serif);
      font-size: clamp(1.4rem, 2.4vw, 2rem);
      font-weight: 400;
      line-height: 1.5;
      color: var(--text);
      max-width: 660px;
    }
    .matters-lede em { font-style: italic; color: var(--accent); }
    .matters-body { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); }
    .matters-pullquote {
      font-family: var(--serif);
      font-size: clamp(1.2rem, 1.8vw, 1.6rem);
      font-style: italic;
      font-weight: 400;
      line-height: 1.55;
      color: var(--text);
      border-left: 2.5px solid var(--accent);
      padding-left: 1.75rem;
      margin: 0;
    }
    .matters-image-wrap {
      position: relative;
      height: 520px;
      overflow: hidden;
    }
    .matters-image-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
    .matters-image-caption {
      font-family: var(--sans);
      font-size: 0.68rem;
      color: var(--grey-mid);
      letter-spacing: 0.06em;
      margin-top: 0.9rem;
    }

/* ─── Our Approach ────────────────────────────────────────────── */
    .approach-section { background: var(--bg); }
    .approach-intro {
      font-family: var(--sans);
      font-size: 1.05rem;
      line-height: 1.8;
      color: var(--grey-dark);
      max-width: 580px;
    }
    .approach-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0;
      border: 1px solid var(--grey-light);
      margin-top: 4rem;
    }
    .approach-item {
      padding: 2.75rem 3rem;
      border-right: 1px solid var(--grey-light);
      border-bottom: 1px solid var(--grey-light);
    }
    .approach-item:nth-child(2n) { border-right: none; }
    .approach-item:nth-last-child(-n+2) { border-bottom: none; }
    .approach-num {
      font-family: var(--sans);
      font-size: 0.62rem; font-weight: 600;
      letter-spacing: 0.18em;
      color: var(--accent);
      display: block;
      margin-bottom: 1.1rem;
    }
    .approach-title {
      font-family: var(--serif);
      font-size: 1.2rem; font-weight: 500;
      color: var(--text);
      margin-bottom: 0.8rem;
    }
    .approach-desc { font-size: 0.9rem; line-height: 1.8; color: var(--grey-dark); margin: 0; }

/* ─── Featured Initiatives ────────────────────────────────────── */
    .initiatives-section { background: var(--white); }
    .initiatives-intro {
      font-family: var(--sans);
      font-size: 1.05rem; line-height: 1.8;
      color: var(--grey-dark);
      max-width: 520px;
    }
    .initiative-card {
      background: var(--bg);
      overflow: hidden;
      height: 100%;
      display: flex; flex-direction: column;
    }
    .initiative-card-img {
      height: 260px;
      overflow: hidden;
      position: relative;
    }
    .initiative-card-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s ease;
    }
    .initiative-card:hover .initiative-card-img img { transform: scale(1.04); }
    .initiative-card-body { padding: 2rem 2.25rem; flex: 1; display: flex; flex-direction: column; }
    .initiative-card-tag {
      font-family: var(--sans);
      font-size: 0.6rem; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 0.75rem;
      display: block;
    }
    .initiative-card-title {
      font-family: var(--serif);
      font-size: 1.45rem; font-weight: 500;
      color: var(--text);
      margin-bottom: 0.9rem;
      line-height: 1.25;
    }
    .initiative-card-desc {
      font-size: 0.9rem; line-height: 1.8;
      color: var(--grey-dark);
      flex: 1;
      margin-bottom: 1.5rem;
    }
    .initiative-card-link {
      font-family: var(--sans);
      font-size: 0.62rem; font-weight: 600;
      letter-spacing: 0.16em; text-transform: uppercase;
      color: var(--accent);
      display: inline-flex; align-items: center; gap: 0.4rem;
      text-decoration: none;
      transition: gap 0.2s;
    }
    .initiative-card-link:hover { gap: 0.7rem; }
    .initiative-card-link svg { transition: transform 0.2s; }
    .initiative-card-link:hover svg { transform: translateX(3px); }

/* ─── Share Your Voice ────────────────────────────────────────── */
    .share-section {
      background: var(--bg);
      border-top: 1px solid var(--grey-light);
    }
    .share-headline {
      font-family: var(--serif);
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      font-weight: 500;
      color: var(--text);
      line-height: 1.15;
      margin-bottom: 1.5rem;
    }
    .share-headline em { font-style: italic; color: var(--accent); }
    .share-lead { font-size: 1.05rem; line-height: 1.85; color: var(--grey-dark); margin-bottom: 2.5rem; }
    .contributor-types {
      display: flex;
      flex-wrap: wrap;
      gap: 0.65rem;
      margin-bottom: 2.5rem;
    }
    .contributor-tag {
      font-family: var(--sans);
      font-size: 0.72rem; font-weight: 500;
      letter-spacing: 0.08em;
      color: var(--grey-dark);
      background: var(--white);
      border: 1px solid var(--grey-light);
      padding: 0.45rem 1rem;
      border-radius: 2px;
    }
    .submission-list {
      list-style: none;
      padding: 0; margin: 0 0 2.5rem;
    }
    .submission-list li {
      font-size: 0.9rem;
      color: var(--grey-dark);
      padding: 0.7rem 0;
      border-bottom: 1px solid var(--grey-light);
      display: flex; align-items: flex-start; gap: 0.9rem;
    }
    .submission-list li::before {
      content: '';
      display: block;
      flex-shrink: 0;
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--accent);
      margin-top: 0.55rem;
    }
    .share-image-wrap {
      position: relative;
      height: 100%;
      min-height: 600px;
      overflow: hidden;
    }
    .share-image-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
    }
    .share-image-caption {
      position: absolute;
      bottom: 1.5rem; left: 1.5rem;
      font-family: var(--sans);
      font-size: 0.66rem; font-weight: 500;
      letter-spacing: 0.1em;
      color: rgba(255,255,255,0.65);
      text-transform: uppercase;
    }

/* ─── Get Involved ────────────────────────────────────────────── */
    .involved-section { background: var(--white); }
    .involved-headline {
      font-family: var(--serif);
      font-size: clamp(1.8rem, 3vw, 2.8rem);
      font-weight: 500;
      color: var(--text);
      line-height: 1.2;
      margin-bottom: 1.5rem;
    }
    .involved-lead { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); margin-bottom: 2.5rem; }
    .involved-list {
      list-style: none;
      padding: 0; margin: 0 0 3rem;
    }
    .involved-list li {
      display: flex;
      gap: 1.25rem;
      padding: 1.4rem 0;
      border-bottom: 1px solid var(--grey-light);
    }
    .involved-list li:first-child { border-top: 1px solid var(--grey-light); }
    .involved-marker {
      flex-shrink: 0;
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--accent);
      margin-top: 0.55rem;
    }
    .involved-list-title {
      font-family: var(--sans);
      font-size: 0.78rem; font-weight: 600;
      color: var(--text);
      display: block;
      margin-bottom: 0.3rem;
    }
    .involved-list-body { font-size: 0.88rem; line-height: 1.75; color: var(--grey-dark); margin: 0; }
    .involved-image-wrap {
      position: relative;
      height: 580px;
      overflow: hidden;
    }
    .involved-image-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }

/* ─── Our Commitment ──────────────────────────────────────────── */
    .commitment-section {
      background: var(--dark);
      padding: 8rem 0;
    }
    .commitment-tag {
      font-family: var(--sans);
      font-size: 0.65rem; font-weight: 600;
      letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--accent);
      display: flex; align-items: center; gap: 1rem;
      margin-bottom: 2rem;
    }
    .commitment-tag::before {
      content: '';
      display: inline-block;
      width: 32px; height: 1.5px;
      background: var(--accent);
    }
    .commitment-headline {
      font-family: var(--serif);
      font-size: clamp(2rem, 4vw, 3.6rem);
      font-weight: 500;
      color: #fff;
      line-height: 1.15;
      max-width: 760px;
      margin-bottom: 2.5rem;
    }
    .commitment-headline em { font-style: italic; color: rgba(255,255,255,0.6); }
    .commitment-body { font-size: 1rem; line-height: 1.85; color: rgba(255,255,255,0.5); max-width: 620px; }
    .commitment-items {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      border-top: 1px solid rgba(255,255,255,0.08);
      margin-top: 5rem;
    }
    .commitment-item {
      padding: 2.5rem 0 2.5rem 0;
      border-right: 1px solid rgba(255,255,255,0.08);
      padding-right: 2.5rem;
      padding-left: 2.5rem;
    }
    .commitment-item:first-child { padding-left: 0; }
    .commitment-item:last-child { border-right: none; }
    .commitment-item-num {
      font-family: var(--sans);
      font-size: 0.6rem; font-weight: 600;
      letter-spacing: 0.2em;
      color: var(--accent);
      margin-bottom: 1rem; display: block;
    }
    .commitment-item-title {
      font-family: var(--serif);
      font-size: 1.05rem; font-weight: 500;
      color: rgba(255,255,255,0.88);
      margin-bottom: 0.6rem;
    }
    .commitment-item-body { font-size: 0.85rem; line-height: 1.75; color: rgba(255,255,255,0.42); margin: 0; }

/* ─── Looking Ahead ───────────────────────────────────────────── */
    .ahead-section { background: var(--bg); }
    .ahead-headline {
      font-family: var(--serif);
      font-size: clamp(1.6rem, 2.8vw, 2.5rem);
      font-weight: 500;
      color: var(--text);
      line-height: 1.25;
      margin-bottom: 1.5rem;
    }
    .ahead-body { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); }
    .ahead-themes {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-top: 2rem;
    }
    .ahead-theme {
      font-family: var(--sans);
      font-size: 0.72rem; font-weight: 500;
      letter-spacing: 0.06em;
      color: var(--grey-dark);
      background: var(--white);
      border: 1px solid var(--grey-light);
      padding: 0.5rem 1.1rem;
    }

/* ─── Closing CTA ─────────────────────────────────────────────── */
    .closing-section {
      background: var(--dark-mid);
      padding: 9rem 0;
      position: relative;
      overflow: hidden;
    }
    .closing-section::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 60% 50% at 70% 100%, rgba(216,137,31,0.22) 0%, transparent 60%),
        radial-gradient(ellipse 40% 40% at 20% 80%, rgba(200,80,0,0.12) 0%, transparent 60%);
      pointer-events: none;
    }
    .closing-eyebrow {
      font-family: var(--sans);
      font-size: 0.65rem; font-weight: 600;
      letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.5rem;
    }
    .closing-headline {
      font-family: var(--serif);
      font-size: clamp(2.5rem, 5vw, 4.5rem);
      font-weight: 500;
      color: #fff;
      line-height: 1.1;
      margin-bottom: 2rem;
    }
    .closing-headline em { font-style: italic; color: rgba(255,255,255,0.65); }
    .closing-sub {
      font-size: 1rem; line-height: 1.8;
      color: rgba(255,255,255,0.5);
      max-width: 520px;
      margin-bottom: 3rem;
    }


/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */

/* Responsive — index.html */
@media (max-width: 991px) {
      .pub-block,
      .pub-block.reverse {
        grid-template-columns: 1fr;
        direction: ltr;
      }
      .pub-block.reverse .pub-image { order: -1; }
      .pub-content { padding: 3rem 2.25rem; }
      .pub-image { min-height: 300px; }

      /* On mobile, drop the View Publication button below the cover (it overflows when positioned beside it) */
      .pub-image { padding: 3rem 1rem; }
      .pub-cover-group {
        display: flex;
        flex-direction: column;
        align-items: center;
      }
      .pub-view-btn,
      .pub-block.reverse .pub-view-btn {
        position: static;
        transform: none;
        left: auto;
        right: auto;
        bottom: auto;
        display: block;
        width: max-content;
        margin: 1.75rem auto 0;
      }

      .advertise-grid {
        grid-template-columns: 1fr 1fr;
      }
      .advertise-item:nth-child(3n) { border-right: 1px solid var(--grey-light); }
      .advertise-item:nth-child(2n) { border-right: none; }
      .advertise-item:nth-child(n+3) { border-top: 1px solid var(--grey-light); }

      .stat-block { border-left: none; border-top: 1px solid var(--grey-light); padding: 2.25rem 1.5rem; }
      .stat-block:first-child { border-top: none; }

      .community-shape { display: none; }
    }
@media (max-width: 575px) {
      .section-pad { padding: 4rem 0; }
      .advertise-grid { grid-template-columns: 1fr; }
      .advertise-item { border-right: none !important; }
      .nav-links { display: none; }
      .hero-headline { font-size: 2.5rem; }
    }

/* Responsive — about.html */
@media (max-width: 991px) {
      .philosophy-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
      .philosophy-item { border-right: none; padding: 2rem 0; border-bottom: 1px solid var(--grey-light); }
      .philosophy-item:last-child { border-bottom: none; }
      .founder-content, .founder-content-rev { padding: 3rem 0 0; }
      .founder-portrait-wrap img { height: 480px; }
    }
@media (max-width: 767px) {
      .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); padding: 2rem; }
      .stat-item:last-child { border-bottom: none; }
      .about-hero-headline { font-size: 2.6rem; }
      .story-pullquote { margin: 2rem 0; }
    }
@media (max-width: 575px) {
      .nav-links { display: none; }
      .section-pad { padding: 4rem 0; }
      .philosophy-grid { grid-template-columns: 1fr; }
      .closing-section { padding: 5rem 0; }
    }

/* Responsive — advertise.html */
@media (max-width:1199px) {
      .reach-stats { grid-template-columns:repeat(3,1fr); }
      .reach-stat:nth-child(3) { border-right:none; }
      .reach-stat:nth-child(n+4) { border-top:1px solid rgba(255,255,255,0.08); padding-top:2.5rem; }
      .channels-grid { grid-template-columns:repeat(2,1fr); }
      .channel-group:nth-child(2n) { border-right:none; }
      .channel-group:nth-child(n+3) { border-top:1px solid var(--grey-light); }
    }
@media (max-width:991px) {
      .challenge-grid { grid-template-columns:1fr; }
      .challenge-item { border-right:none; }
      .challenge-item:nth-last-child(-n+2) { border-bottom:1px solid var(--grey-light); }
      .challenge-item:last-child { border-bottom:none; }
      .advantage-image-wrap { height:380px; margin-top:3rem; }
      .together-steps { grid-template-columns:1fr; }
      .together-step { border-right:1px solid var(--grey-light); border-bottom:none; }
      .together-step:last-child { border-bottom:none; }
      .together-arrow { display:none; }
      .pathways-grid { grid-template-columns:1fr; }
      .steps-row { grid-template-columns:1fr; }
      .step-item { border-right:none; border-bottom:1px solid var(--grey-light); padding:2.5rem 0; }
      .step-item:last-child { border-bottom:none; }
      .toolkit-layout { grid-template-columns:1fr; gap:3rem; }
      .toolkit-cover { aspect-ratio:unset; min-height:240px; flex-direction:row; align-items:center; gap:2rem; padding:1.75rem 2rem; }
      .toolkit-cover-spacer { display:none; }
      .getstarted-cta { flex-direction:column; align-items:flex-start; }
    }
@media (max-width:767px) {
      .nav-links { display:none; }
      .channels-grid { grid-template-columns:1fr; }
      .channel-group { border-right:none; border-bottom:1px solid var(--grey-light); }
      .channel-group:last-child { border-bottom:none; }
      .reach-stats { grid-template-columns:repeat(2,1fr); }
      .reach-stat:nth-child(2n) { border-right:none; }
    }

/* Responsive — contribute.html */
@media (max-width: 1199px) {
      .pitch-items { grid-template-columns: repeat(3, 1fr); }
      .pitch-item:nth-child(3) { border-right: none; }
      .pitch-item:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,0.08); }
      .content-types { grid-template-columns: repeat(2, 1fr); }
      .content-type-item:nth-child(2n) { border-right: none; }
      .content-type-item:nth-last-child(-n+2) { border-bottom: none; }
      .content-type-item:nth-child(2n-1):not(:nth-last-child(-n+2)) { border-bottom: 1px solid var(--grey-light); }
    }
@media (max-width: 991px) {
      .why-grid { grid-template-columns: 1fr; }
      .why-item { border-right: none; }
      .why-item:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,0.08); }
      .why-item:last-child { border-bottom: none; }
      .opp-cards { grid-template-columns: 1fr; }
      .pitch-items { grid-template-columns: repeat(2, 1fr); }
      .pitch-item:nth-child(2n) { border-right: none; }
      .who-image-wrap { height: 360px; margin-top: 3rem; }
    }
@media (max-width: 767px) {
      .nav-links { display: none; }
      .content-types { grid-template-columns: 1fr; }
      .content-type-item { border-right: none; }
      .pitch-items { grid-template-columns: 1fr; }
      .pitch-item { border-right: none; border-top: 1px solid rgba(255,255,255,0.08); }
      .pitch-item:first-child { border-top: none; }
    }

@media (max-width: 991px) {
      .path-cards { grid-template-columns: 1fr; gap: 1.25rem; }
      .reassurance-block { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.75rem 0; }
      .next-steps { grid-template-columns: 1fr; }
      .next-step { border-right: none; border-bottom: 1px solid var(--grey-light); padding: 2rem 0; }
      .next-step:nth-child(2) { padding-left: 0; }
      .next-step:last-child { border-bottom: none; padding-left: 0; }
    }
@media (max-width: 767px) {
      .path-card { padding: 2rem 1.75rem; }
    }

/* Responsive — lindsay-advocate.html */
@media (max-width: 991px) {
      .pub-details-strip { grid-template-columns: 1fr 1fr; gap: 2rem; }
      .pub-detail { border-right: none; padding-left: 0; padding-right: 0; }
      .cover-category { grid-template-columns: 80px 1fr; gap: 1.5rem; }
      .cover-cat-tag { display: none; }
      .cover-cat-desc { grid-column: 2; }
      .spread-grid { grid-template-columns: 1fr; }
      .spread-cell-main,
      .spread-cell-top,
      .spread-cell-bottom {
        grid-column: 1;
        grid-row: auto;
      }
      .spread-cell-main { height: 420px; }
      .spread-cell-top, .spread-cell-bottom { height: 280px; }
      .spread-full-row { grid-template-columns: 1fr 1fr; }
      .reach-grid { grid-template-columns: 1fr 1fr; }
      .reach-stat { border-bottom: 1px solid var(--grey-light); }
    }
@media (max-width: 575px) {
      .section-pad { padding: 4rem 0; }
      .pub-hero-headline { font-size: 2.6rem; }
      .pub-details-strip { grid-template-columns: 1fr; }
      .spread-full-row { grid-template-columns: 1fr; }
      .reach-grid { grid-template-columns: 1fr; }
      .nav-links { display: none; }
      .cover-category { grid-template-columns: 1fr; gap: 0.5rem; }
      .cover-cat-number { display: none; }
    }

/* Responsive — voices.html */
@media (max-width: 991px) {
      .approach-grid { grid-template-columns: 1fr; }
      .approach-item { border-right: none; }
      .approach-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--grey-light); }
      .approach-item:last-child { border-bottom: none; }
      .commitment-items { grid-template-columns: 1fr; }
      .commitment-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); padding-left: 0; }
      .commitment-item:last-child { border-bottom: none; }
      .share-image-wrap { min-height: 360px; height: 360px; margin-top: 3rem; }
      .involved-image-wrap { height: 380px; margin-top: 3rem; }
    }
@media (max-width: 767px) {
      .nav-links { display: none; }
      .voices-hero-headline { font-size: clamp(2.5rem, 9vw, 3.5rem); }
      .approach-grid { grid-template-columns: 1fr; }
    }

/* ─── Advertising Planner ────────────────────────────────────── */

/* Hero */
    .planner-hero {
      position: relative; min-height: 82vh;
      display: flex; align-items: flex-end; padding-bottom: 4rem;
      color: var(--white);
      background: linear-gradient(150deg, var(--dark) 0%, var(--dark-mid) 100%);
      overflow: hidden;
    }
    .planner-hero-overlay {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 65% 55% at 70% 105%, rgba(200,74,0,0.3) 0%, transparent 60%);
      z-index: 1; animation: hero-glow-pulse 6s ease-in-out infinite;
    }
    .planner-hero-content { position: relative; z-index: 2; }
    .planner-hero-tag { font-family: var(--sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.25rem; }
    .planner-hero-headline { font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 500; line-height: 1.1; margin-bottom: 1.5rem; color: #fff; }
    .planner-hero-headline em { font-style: italic; color: var(--accent); }
    .planner-hero-sub { font-size: 1.05rem; line-height: 1.8; color: rgba(255,255,255,0.7); max-width: 620px; margin-bottom: 2.5rem; }
    .planner-hero-scroll { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.35); z-index: 2; animation: scroll-line 2.5s ease-in-out infinite; }

/* How It Works strip */
    .planner-intro-section { background: var(--bg); }
    .planner-intro-headline { font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 500; color: var(--text); margin-bottom: 0.5rem; }

/* Main Planner Interface */
    .planner-section { background: var(--white); }
    .planner-initial { max-width: 700px; }
    .planner-textarea {
      width: 100%; font-family: var(--sans); font-size: 0.95rem; color: var(--text);
      background: var(--bg); border: 1px solid var(--grey-light);
      padding: 1.25rem 1.25rem; min-height: 160px; resize: vertical;
      outline: none; line-height: 1.75;
      transition: border-color 0.2s, background 0.2s;
      appearance: none; -webkit-appearance: none;
    }
    .planner-textarea:focus { border-color: var(--accent); background: var(--white); box-shadow: 0 0 0 3px rgba(216,137,31,0.08); }
    .planner-textarea::placeholder { color: var(--grey-mid); }
    .planner-start-row { margin-top: 1.25rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }

/* Chat wrap */
    .planner-chat-wrap { display: none; }
    .planner-chat-wrap.active { display: flex; gap: 2.5rem; align-items: flex-start; }
    .planner-chat-col { flex: 1; min-width: 0; }
    .planner-chat {
      background: var(--bg); border: 1px solid var(--grey-light);
      padding: 1.5rem; min-height: 280px; max-height: 460px;
      overflow-y: auto; display: flex; flex-direction: column; gap: 1rem;
      scroll-behavior: smooth;
    }
    .chat-message { display: flex; align-items: flex-end; gap: 0.75rem; animation: chat-pop 0.25s ease; }
    .chat-message.user { flex-direction: row-reverse; }
    .chat-bubble {
      max-width: 78%; padding: 0.9rem 1.1rem;
      font-family: var(--sans); font-size: 0.9rem; line-height: 1.7;
    }
    .chat-message.assistant .chat-bubble { background: var(--white); border: 1px solid var(--grey-light); color: var(--text); }
    .chat-message.user .chat-bubble { background: var(--accent); color: var(--white); }
    .chat-avatar { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.04em; }
    .chat-message.assistant .chat-avatar { background: var(--dark-mid); color: var(--accent); font-family: var(--serif); }
    .chat-message.user .chat-avatar { background: var(--accent); color: white; font-family: var(--sans); }

/* Typing indicator */
    .chat-typing { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; }
    .chat-typing .chat-bubble { display: flex; align-items: center; gap: 5px; padding: 0.75rem 1rem; min-width: 56px; }
    .chat-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--grey-mid); animation: dot-bounce 1.3s infinite ease-in-out; }
    .chat-typing span:nth-child(2) { animation-delay: 0.15s; }
    .chat-typing span:nth-child(3) { animation-delay: 0.3s; }

/* Chat input row */
    .chat-input-row { margin-top: 1rem; display: flex; gap: 0.75rem; align-items: flex-end; }
    .chat-input-wrap { flex: 1; position: relative; }
    .chat-textarea {
      width: 100%; font-family: var(--sans); font-size: 0.9rem; color: var(--text);
      background: var(--bg); border: 1px solid var(--grey-light);
      padding: 0.85rem 1rem; min-height: 52px; max-height: 130px;
      resize: none; outline: none; line-height: 1.65; overflow-y: auto;
      transition: border-color 0.2s, background 0.2s;
    }
    .chat-textarea:focus { border-color: var(--accent); background: var(--white); box-shadow: 0 0 0 3px rgba(216,137,31,0.08); }
    .chat-send-btn {
      flex-shrink: 0; height: 52px; padding: 0 1.4rem;
      background: var(--accent); color: white; border: none; cursor: pointer;
      font-family: var(--sans); font-size: 0.65rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      transition: background 0.2s;
      display: flex; align-items: center; gap: 0.5rem;
    }
    .chat-send-btn:hover { background: #c07519; }
    .chat-hint { font-size: 0.72rem; color: var(--grey-mid); margin-top: 0.5rem; }

/* Progress sidebar */
    .planner-progress { flex-shrink: 0; width: 200px; position: sticky; top: 120px; }
    .progress-label { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.5rem; display: block; }
    .progress-steps { display: flex; flex-direction: column; gap: 1rem; }
    .progress-step { display: flex; align-items: flex-start; gap: 0.75rem; }
    .progress-dot { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--grey-light); background: var(--white); flex-shrink: 0; margin-top: 0.25rem; transition: all 0.3s; }
    .progress-step.done .progress-dot { background: var(--accent); border-color: var(--accent); }
    .progress-step.active .progress-dot { background: var(--white); border-color: var(--accent); box-shadow: 0 0 0 3px rgba(216,137,31,0.18); }
    .progress-step-label { font-size: 0.82rem; color: var(--grey-mid); line-height: 1.5; }
    .progress-step.active .progress-step-label { color: var(--text); font-weight: 500; }
    .progress-step.done .progress-step-label { color: var(--grey-dark); }

/* Loader */
    .planner-loader { display: none; text-align: center; padding: 5rem 1rem; }
    .planner-loader.active { display: block; }
    .loader-spinner {
      width: 36px; height: 36px; border-radius: 50%;
      border: 2px solid var(--grey-light); border-top-color: var(--accent);
      animation: spin-ring 0.9s linear infinite;
      margin: 0 auto 2.5rem;
    }
    .loader-lines { display: flex; flex-direction: column; gap: 0.75rem; align-items: center; }
    .loader-line { font-family: var(--serif); font-size: 1.1rem; font-style: italic; color: var(--grey-dark); opacity: 0; }
    .loader-line.visible { animation: loader-line-in 0.5s ease forwards; }

/* Results section */
    .planner-results-section { background: var(--white); display: none; }
    .planner-results-section.active { display: block; }
    .results-headline { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 500; color: var(--text); line-height: 1.2; margin-bottom: 1rem; }
    .results-summary { font-size: 1rem; line-height: 1.85; color: var(--grey-dark); max-width: 620px; margin-bottom: 3.5rem; }
    /* Results profile block */
    .results-profile { margin-bottom: 2.5rem; padding: 1.1rem 1.5rem; background: var(--bg); border-left: 3px solid var(--accent); }
    .profile-intro { display: flex; align-items: baseline; gap: 1.25rem; margin-bottom: 0.75rem; flex-wrap: wrap; }
    .profile-heading { font-family: var(--sans); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin: 0; }
    .profile-subhead { font-size: 0.75rem; color: var(--grey); margin: 0; }
    .profile-restart-link { color: var(--accent); text-decoration: underline; }
    .profile-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem 2rem; }
    .profile-fact { display: flex; flex-direction: column; gap: 0.1rem; }
    .profile-fact--full { grid-column: 1 / -1; }
    .profile-fact-label { font-family: var(--sans); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--grey); }
    .profile-fact-value { font-size: 0.82rem; color: var(--text); line-height: 1.45; }

    .plan-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 3rem; }
    .plan-card {
      border: 1px solid var(--grey-light); padding: 2.25rem 2rem;
      display: flex; flex-direction: column; position: relative;
      transition: border-color 0.25s, box-shadow 0.25s;
    }
    .plan-card:hover { border-color: rgba(216,137,31,0.35); box-shadow: 0 8px 32px rgba(0,0,0,0.06); }
    .plan-card--featured { background: var(--accent-pale); border-color: rgba(216,137,31,0.3); }
    .plan-card--featured:hover { border-color: rgba(216,137,31,0.6); }
    .plan-tier { font-family: var(--sans); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 0.5rem; }
    .plan-badge { position: absolute; top: -1px; right: -1px; background: var(--accent); color: white; font-family: var(--sans); font-size: 0.52rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.35rem 0.75rem; }
    .plan-name { font-family: var(--serif); font-size: 1.4rem; font-weight: 500; color: var(--text); margin-bottom: 0.4rem; line-height: 1.25; }
    .plan-best-for { font-family: var(--sans); font-size: 0.8rem; font-style: italic; color: var(--grey-mid); margin-bottom: 1.25rem; }
    .plan-channels { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.5rem; }
    .plan-channel { font-family: var(--sans); font-size: 0.68rem; font-weight: 500; padding: 0.3rem 0.7rem; border: 1px solid var(--grey-light); color: var(--grey-dark); background: var(--white); }
    .plan-card--featured .plan-channel { background: rgba(255,255,255,0.6); }
    .plan-investment { font-family: var(--sans); font-size: 1.05rem; font-weight: 700; color: var(--accent); margin-bottom: 0.25rem; }
    .plan-duration { font-family: var(--sans); font-size: 0.75rem; color: var(--grey-mid); margin-bottom: 1.25rem; }
    .plan-desc { font-size: 0.88rem; line-height: 1.75; color: var(--grey-dark); flex: 1; margin-bottom: 2rem; }
    .plan-cta { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); display: inline-flex; align-items: center; gap: 0.4rem; text-decoration: none; transition: gap 0.2s; margin-top: auto; }
    .plan-cta:hover { gap: 0.7rem; }
    .results-reassurance { font-size: 0.88rem; line-height: 1.75; color: var(--grey-mid); text-align: center; margin-bottom: 2.5rem; padding: 1.5rem; background: var(--bg); border: 1px solid var(--grey-light); }
    .results-actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* Keyframes */
    @keyframes dot-bounce {
      0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
      40% { transform: translateY(-5px); opacity: 1; }
    }
    @keyframes loader-line-in {
      from { opacity: 0; transform: translateY(8px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes spin-ring { to { transform: rotate(360deg); } }
    @keyframes chat-pop {
      from { opacity: 0; transform: translateY(6px); }
      to   { opacity: 1; transform: translateY(0); }
    }

/* ─── Package Detail Pods ─────────────────────────────────── */
    .plan-card-actions { display: flex; flex-direction: column; gap: 0.75rem; margin-top: auto; }
    .plan-detail-btn {
      background: none; border: none; cursor: pointer; padding: 0;
      font-family: var(--sans); font-size: 0.62rem; font-weight: 600;
      letter-spacing: 0.16em; text-transform: uppercase; color: var(--grey-dark);
      display: inline-flex; align-items: center; gap: 0.4rem;
      transition: color 0.2s, gap 0.2s;
    }
    .plan-detail-btn:hover { color: var(--accent); gap: 0.65rem; }
    .package-details-section { background: var(--bg); }
    .detail-pods-header { padding: 3.5rem 0 0; }
    .detail-pods-title { font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 500; color: var(--text); margin-bottom: 0.4rem; }
    .detail-pods-sub { font-size: 0.9rem; color: var(--grey-dark); line-height: 1.75; }
    .detail-pod { padding: 4.5rem 0; border-top: 1px solid var(--grey-light); background: var(--white); scroll-margin-top: 80px; }
    .detail-pod--featured { border-top: 3px solid var(--accent); }
    .detail-pod-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 3rem; margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--grey-light); flex-wrap: wrap; }
    .detail-pod-name { font-family: var(--serif); font-size: 2rem; font-weight: 500; color: var(--text); margin: 0.3rem 0 0.5rem; line-height: 1.15; }
    .detail-pod-best-for { font-size: 0.9rem; color: var(--grey-dark); font-style: italic; margin: 0; }
    .detail-pod-investment-block { text-align: right; flex-shrink: 0; }
    .detail-pod-investment-block .plan-investment { font-size: 1.25rem; }
    .detail-section-heading { font-family: var(--sans); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); margin: 2.5rem 0 1.25rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--grey-light); }
    .detail-channel { border: 1px solid var(--grey-light); margin-bottom: 1.25rem; background: var(--white); }
    .detail-channel-header { background: var(--bg); padding: 0.9rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; border-bottom: 1px solid var(--grey-light); flex-wrap: wrap; }
    .detail-channel-name { font-family: var(--sans); font-size: 0.92rem; font-weight: 700; color: var(--text); }
    .detail-channel-pub { font-family: var(--sans); font-size: 0.75rem; color: var(--grey-mid); }
    .detail-specs-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
    .detail-spec { padding: 1.25rem 1.5rem; border-right: 1px solid var(--grey-light); border-bottom: 1px solid var(--grey-light); }
    .detail-spec:nth-child(3n) { border-right: none; }
    .detail-spec:nth-last-child(-n+3) { border-bottom: none; }
    .detail-spec-label { font-family: var(--sans); font-size: 0.57rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 0.4rem; }
    .detail-spec-value { font-size: 0.86rem; line-height: 1.65; color: var(--grey-dark); }
    .detail-terms-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--grey-light); margin-bottom: 2.5rem; background: var(--white); }
    .detail-term { padding: 1.5rem; border-right: 1px solid var(--grey-light); border-bottom: 1px solid var(--grey-light); }
    .detail-term:nth-child(3n) { border-right: none; }
    .detail-term:nth-last-child(-n+3) { border-bottom: none; }
    .detail-term-label { font-family: var(--sans); font-size: 0.57rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 0.4rem; }
    .detail-term-value { font-size: 0.86rem; line-height: 1.65; color: var(--grey-dark); }
    .detail-pod-ctas { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; padding-top: 2rem; border-top: 1px solid var(--grey-light); }

/* Responsive — advertising-planner.html */
@media (max-width: 991px) {
      .planner-chat-wrap.active { flex-direction: column; gap: 1.5rem; }
      .planner-progress { width: 100%; position: static; }
      .progress-steps { flex-direction: row; gap: 1.5rem; }
      .plan-cards { grid-template-columns: 1fr; }
      .profile-facts { grid-template-columns: 1fr 1fr; }
      .detail-specs-grid { grid-template-columns: repeat(2, 1fr); }
      .detail-spec:nth-child(3n) { border-right: 1px solid var(--grey-light); }
      .detail-spec:nth-child(2n) { border-right: none; }
      .detail-spec:nth-last-child(-n+3) { border-bottom: 1px solid var(--grey-light); }
      .detail-spec:nth-last-child(-n+2) { border-bottom: none; }
      .detail-terms-grid { grid-template-columns: repeat(2, 1fr); }
      .detail-term:nth-child(3n) { border-right: 1px solid var(--grey-light); }
      .detail-term:nth-child(2n) { border-right: none; }
      .detail-term:nth-last-child(-n+3) { border-bottom: 1px solid var(--grey-light); }
      .detail-term:nth-last-child(-n+2) { border-bottom: none; }
      .detail-pod-header { flex-direction: column; gap: 1.5rem; }
      .detail-pod-investment-block { text-align: left; }
    }
@media (max-width: 767px) {
      .planner-start-row { flex-direction: column; align-items: flex-start; }
      .planner-chat { max-height: 360px; }
      .detail-specs-grid { grid-template-columns: 1fr; }
      .detail-spec:nth-child(2n) { border-right: none; }
      .detail-spec:nth-last-child(-n+2) { border-bottom: 1px solid var(--grey-light); }
      .detail-spec:last-child { border-bottom: none; }
      .detail-terms-grid { grid-template-columns: 1fr; }
      .detail-term:nth-child(2n) { border-right: none; }
      .detail-term:last-child { border-bottom: none; }
    }

/* ── Error Pages ─────────────────────────────────────────── */
.error-section {
  min-height: 100vh;
  background: var(--dark);
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  padding: 8rem 1.5rem 5rem;
  position: relative;
  overflow: hidden;
}
.error-code {
  font-family: var(--serif);
  font-size: clamp(7rem, 20vw, 14rem);
  font-weight: 300;
  line-height: 1;
  color: var(--accent);
  opacity: 0.12;
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
}
.error-content {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto;
}
.error-content .label-caps { color: var(--accent); margin-bottom: 1.5rem; display: block; }
.error-headline {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 600; color: #fff;
  margin-bottom: 1.25rem; line-height: 1.25;
}
.error-sub {
  font-family: var(--sans);
  font-size: 1rem; font-weight: 300;
  color: rgba(255,255,255,0.6);
  margin-bottom: 2.5rem; line-height: 1.7;
}
