/*
Theme Name:  Faithful Witness Child
Template:    kadence
Description: Bold editorial child theme for the Faithful Witness Campaign.
             Inspired by charity:water, Jews for Jesus, Undivided.
             Parent: Kadence (free). Version: 2.30
Text Domain: faithful-witness
*/

/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS — edit here to update the entire site
════════════════════════════════════════════════════════════ */
:root {
  /* Logo brand colors — do not change */
  --fw-navy:    #333858;
  --fw-navy-d:  #22253d;
  --fw-navy-m:  #4a4f78;
  --fw-navy-lt: #eeeef5;
  --fw-gold:    #cc9966;
  --fw-gold-d:  #9a6a30;
  --fw-gold-lt: #fdf4e8;
  --fw-coral:   #c05a3a;
  --fw-coral-d: #a04828;
  --fw-coral-lt:#fdf0eb;
  --fw-cream:   #f8f6f2;
  --fw-sand:    #f0ece4;
  --fw-border:  #e4e0d8;
  --fw-border-lt:#ede9e2;

  /* Text — all pass WCAG AA */
  --fw-text:   #18192a;
  --fw-text-2: #2d2e42;
  --fw-text-3: #767890;   /* 5.2:1 on white */

  /* Typography — bold display + warm serif accent */
  --fw-display: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --fw-serif:   'Libre Baskerville', Georgia, serif;
  --fw-sans:    'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

  /* Override Kadence's font variables so its generated CSS also uses our font */
  --global-body-font-family:    'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --global-heading-font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

  /* Geometry */
  --fw-r:    12px;
  --fw-r-sm: 8px;
  --fw-r-lg: 20px;
  --fw-max-w: 1100px;
  --fw-narrow: 760px;

  /* Event type badge colors */
  --fw-evt-gathering:    #4a4f78;
  --fw-evt-meeting:      #4a7c6f;
  --fw-evt-mobilization: #c05a3a;
  --fw-evt-prayer:       #7b5ea7;
  --fw-evt-training:     #2b6cb0;

  /* ── Spacing scale ─────────────────────────────────────── */
  --sp-1:  8px;   /* micro: tag gaps, icon spacing          */
  --sp-2:  12px;  /* tight: label→title, desc→button        */
  --sp-3:  16px;  /* base: within-card element gaps         */
  --sp-4:  24px;  /* card: card padding (sm), grid gaps     */
  --sp-5:  32px;  /* card: card padding (lg)                */
  --sp-6:  48px;  /* block: between sub-sections on a page  */
  --sp-7:  64px;  /* section: fw-sec top/bottom padding     */
}

/* ═══════════════════════════════════════════════════════════
   GOOGLE FONTS — enqueued in functions.php
   Plus Jakarta Sans 400/500/700/800 (display + body)
   Libre Baskerville 400/italic (scripture, pull-quotes only)
════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   BASE
════════════════════════════════════════════════════════════ */
html, body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 17px;
  font-weight: 500;
  color: var(--fw-text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* Headlines use bold display — not italic serif */
h1, h2, h3, h4, h5, h6 { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important; }

/* Prevent Kadence content-wrapper text-align from bleeding into FW sections */
.entry-content [class*="fw-"] { text-align: inherit; }
a { color: var(--fw-navy); }
a:hover { color: var(--fw-gold-d); }

/* ═══════════════════════════════════════════════════════════
   SITE HEADER / NAV (Kadence Header Builder)
════════════════════════════════════════════════════════════ */
.site-header,
#masthead,
.kadence-header-row {
  background: linear-gradient(135deg, #1e2140 0%, var(--fw-navy) 60%, #2a3060 100%) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.25) !important;
}

/* Branding — logo mark + wordmark + lang pill side by side */
.site-header-section {
  align-items: center !important;
}
.fw-branding {
  display: flex !important;
  align-items: center !important;
}
.fw-branding .fw-brand-link {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
}
.fw-logo-mark {
  height: 62px;
  width: auto;
  display: block;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.3));
}
.fw-brand-name {
  font-family: var(--fw-display);
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  line-height: 1.15;
  white-space: nowrap;
  text-shadow: 0 1px 4px rgba(0,0,0,.2);
}
@media (max-width: 640px) {
  .fw-logo-mark { height: 44px; }
  .fw-brand-name { font-size: 15px; }
  .fw-branding .fw-brand-link { gap: 10px !important; }
  /* Leave room for Kadence hamburger button (~52px) */
  .fw-branding { max-width: calc(100% - 60px); }
}

/* Nav links — white on navy */
#primary-navigation a,
.kadence-navigation a,
.primary-navigation a {
  font-family: var(--fw-sans);
  font-size: 13.5px;
  font-weight: 500;
  color: rgba(255,255,255,.75) !important;
  transition: color .15s;
  letter-spacing: .01em;
}
#primary-navigation a:hover,
.kadence-navigation a:hover {
  color: #fff !important;
}
#primary-navigation a:focus-visible,
.kadence-navigation a:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 3px; border-radius: 3px; }

/* Current page nav link — gold underline */
#primary-navigation .current-menu-item > a,
.kadence-navigation .current-menu-item > a {
  color: #fff !important;
  border-bottom: 2px solid var(--fw-gold);
  padding-bottom: 2px;
}

/* Site title fallback */
.site-title, .site-title a { color: #fff !important; }

/* Join Us CTA — add class fw-nav-cta via Kadence nav settings */
/* Always one line — never wrap "Join Us" or any CTA text */
#main-header .header-button,
#main-header .button,
#main-header a.button {
  white-space: nowrap !important;
}
.fw-nav-cta {
  background: var(--fw-gold) !important;
  color: #fff !important;
  padding: 9px 22px !important;
  border-radius: 28px !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: .01em !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
  transition: background .15s, box-shadow .15s !important;
}
.fw-nav-cta:hover {
  background: var(--fw-gold-d) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.25) !important;
  opacity: 1 !important;
}
.fw-nav-cta:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px !important; }
.custom-logo, .site-logo img { max-height: 62px; }

/* ═══════════════════════════════════════════════════════════
   EMERGENCY HELP STRIP
════════════════════════════════════════════════════════════ */
.fw-help-strip {
  background: #c49a3c; color: #fff;
  padding: 10px 40px 10px 32px;
  display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap;
  font-family: var(--fw-sans);
  position: relative;
}
.fw-help-strip p { font-size: 14px; font-weight: 500; }
.fw-help-strip__btn {
  font-size: 13px; font-weight: 700; color: #c49a3c;
  background: #fff;
  border: 1.5px solid #fff;
  padding: 6px 18px; border-radius: 20px;
  transition: background .15s, color .15s, border-color .15s, transform .12s;
  text-decoration: none;
  white-space: nowrap;
}
.fw-help-strip__btn:hover {
  background: #f5f0e8;
  border-color: #f5f0e8;
  color: #a07d28;
  transform: translateY(-1px);
}
.fw-help-strip__inline {
  display: none;
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  background: none;
  border: none;
  padding: 0;
  border-radius: 0;
}
.fw-help-strip__inline:hover { color: #f5f0e8; background: none; border: none; transform: none; }
.fw-help-strip__close {
  position: absolute; right: 12px; top: 50%;
  transform: translateY(-50%);
  background: none; border: none;
  color: #fff; font-size: 18px; line-height: 1;
  cursor: pointer; padding: 4px 6px;
  opacity: 0.75;
  transition: opacity .15s;
}
.fw-help-strip__close:hover,
.fw-help-strip__close:focus {
  opacity: 1;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #fff !important;
  transform: translateY(-50%) !important;
  outline: none;
}
@media ( max-width: 600px ) {
  /* Intentional 2-line layout: message text above, button below (compact) */
  .fw-help-strip {
    padding: 10px 36px 10px 14px;
    gap: 6px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .fw-help-strip p {
    font-size: 13px;
    margin: 0;
    line-height: 1.4;
    width: 100%;
  }
  .fw-help-strip__btn {
    display: inline-flex !important;
    font-size: 12px !important;
    padding: 5px 14px !important;
    white-space: nowrap !important;
    width: auto !important;
    align-self: flex-start !important;
  }
  .fw-help-strip__inline { display: none !important; }
  .fw-help-strip__close  { right: 8px; top: 12px; transform: none; }
}
/* Alert bar style variants */
.fw-help-strip--gold    { background: #c49a3c; color: #fff; }
.fw-help-strip--gold    .fw-help-strip__btn { color: #c49a3c; background: #fff; border-color: #fff; }
.fw-help-strip--navy    { background: #333858; color: #fff; }
.fw-help-strip--navy    .fw-help-strip__btn { color: #333858; background: #fff; border-color: #fff; }
.fw-help-strip--info    { background: #1d6fa4; color: #fff; }
.fw-help-strip--info    .fw-help-strip__btn { color: #1d6fa4; background: #fff; border-color: #fff; }
.fw-help-strip--success { background: #1a7245; color: #fff; }
.fw-help-strip--success .fw-help-strip__btn { color: #1a7245; background: #fff; border-color: #fff; }
.fw-help-strip--warning { background: #b45309; color: #fff; }
.fw-help-strip--warning .fw-help-strip__btn { color: #b45309; background: #fff; border-color: #fff; }
.fw-help-strip--alert   { background: #b91c1c; color: #fff; }
.fw-help-strip--alert   .fw-help-strip__btn { color: #b91c1c; background: #fff; border-color: #fff; }

/* ═══════════════════════════════════════════════════════════
   HERO — full-bleed, large bold type (charity:water scale)
════════════════════════════════════════════════════════════ */
.fw-hero {
  position: relative;
  background: var(--fw-navy);
  overflow: hidden;
  padding-left: 48px;
  padding-right: 48px;
}
.fw-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    135deg,
    rgba(22,24,42,.96) 0%,
    rgba(51,56,88,.86) 55%,
    rgba(51,56,88,.5) 100%
  );
  z-index: 1;
}
.fw-hero__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
}
.fw-hero__inner {
  position: relative; z-index: 2;
  padding: 80px 0 72px;
  max-width: var(--fw-max-w);
  margin: 0 auto;
}

/* Eyebrow — thin line + uppercase label */
.fw-hero-eyebrow {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
  color: var(--fw-gold); margin-bottom: 12px; font-family: var(--fw-sans);
}
.fw-hero-eyebrow::before {
  content: ''; display: block; width: 28px; height: 2px; background: var(--fw-gold); flex-shrink: 0;
}

/* THE KEY DIFFERENCE: 800-weight display type, massive, not italic */
.fw-hero h1,
.fw-hero .entry-title {
  font-family: var(--fw-display);
  font-size: clamp(44px, 6.5vw, 72px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.025em;
  color: #fff;
  margin-top: 0 !important;
  margin-bottom: 24px;
}
/* Italic serif accent — used on one word or phrase only */
.fw-hero h1 em,
.fw-hero .entry-title em {
  font-family: var(--fw-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.01em;
}
.fw-hero__lead {
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 400;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  max-width: 540px;
  margin-bottom: 36px;
}
.fw-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Short hero — interior pages */
.fw-hero--short .fw-hero__inner { padding: 56px 0 48px; }
.fw-hero--short h1,
.fw-hero--short .entry-title { font-size: clamp(34px, 4.5vw, 60px); }

/* ═══════════════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════════════════ */
.fw-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--fw-sans); font-size: 15px; font-weight: 700;
  padding: 13px 26px; border-radius: 32px;
  cursor: pointer; border: none; transition: background .18s, color .18s, border-color .18s, box-shadow .18s, transform .18s; text-decoration: none;
}
.fw-btn:focus-visible { outline: 3px solid var(--fw-gold); outline-offset: 3px; }
.fw-btn--gold         { background: var(--fw-gold); color: #fff; }
.fw-btn--gold:hover   { background: var(--fw-gold-d); color: #fff; }
.fw-btn--navy         { background: var(--fw-navy); color: #fff; }
.fw-btn--navy:hover   { background: var(--fw-navy-d); color: #fff; }
.fw-btn--ghost        { background: transparent; border: 1.5px solid var(--fw-border); color: var(--fw-text-2); }
.fw-btn--ghost:hover  { border-color: var(--fw-navy); color: var(--fw-navy); background: var(--fw-navy-lt); }
.fw-btn--coral        { background: var(--fw-coral); color: #fff; }
.fw-btn--coral:hover  { background: var(--fw-coral-d); color: #fff; }
.fw-btn--outline-white{ background: transparent; border: 2px solid rgba(255,255,255,.45); color: rgba(255,255,255,.92); }
.fw-btn--outline-white:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.8); color: #fff; }
.fw-btn--outline-dark { background: transparent; border: 1.5px solid var(--fw-border); color: var(--fw-text); }
.fw-btn--outline-dark:hover { border-color: var(--fw-navy); color: var(--fw-navy); }
.fw-btn--sm  { font-size: 13px; padding: 9px 20px; }
.fw-btn--lg  { font-size: 16px; padding: 15px 30px; }

/* Kadence block button overrides */
.wp-block-button__link {
  background: var(--fw-navy); color: #fff;
  border-radius: 32px; font-family: var(--fw-sans); font-weight: 700;
}
.wp-block-button__link:hover { background: var(--fw-navy-d); }
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--fw-gold); }

/* ═══════════════════════════════════════════════════════════
   SECTIONS (base bg utilities — layout defined further below)
════════════════════════════════════════════════════════════ */
.fw-sec--navy  { background: var(--fw-navy); }
.fw-sec--dark  { background: var(--fw-navy-d); }
.fw-sec--gold  { background: var(--fw-gold-lt); }

.fw-wrap        { max-width: var(--fw-max-w); margin: 0 auto; }
.fw-wrap--narrow{ max-width: var(--fw-narrow); margin: 0 auto; }

/* Section eyebrow — line + uppercase */
.fw-eyebrow {
  font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
  color: var(--fw-gold-d); margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px; font-family: var(--fw-sans);
}
.fw-eyebrow::before { content: ''; display: block; width: 28px; height: 2px; background: var(--fw-gold); flex-shrink: 0; }
.fw-eyebrow--light  { color: rgba(255,255,255,.55); }
.fw-eyebrow--light::before { background: var(--fw-gold); }

/* BOLD section title — primary voice (not italic serif) */
.fw-h2 {
  font-family: var(--fw-display);
  font-size: clamp(28px, 3.5vw, 50px);
  font-weight: 800; letter-spacing: -.022em;
  color: var(--fw-text); line-height: 1.1; margin-bottom: 14px;
}
.fw-h2--light { color: #fff; }

/* Serif italic variant — pastoral/devotional moments only */
.fw-h2-serif {
  font-family: var(--fw-serif);
  font-size: clamp(26px, 3vw, 42px);
  font-style: italic; font-weight: 400;
  color: var(--fw-text); line-height: 1.22; margin-bottom: 14px;
}
.fw-lead {
  font-size: 18px; font-weight: 400;
  color: var(--fw-text-2); line-height: 1.75; max-width: 580px; margin-bottom: 32px;
}
.fw-lead--light { color: rgba(255,255,255,.7); }

/* ═══════════════════════════════════════════════════════════
   RIGHT NOW / MOMENT SECTION
════════════════════════════════════════════════════════════ */
.fw-moment {
  background: #fff;
  padding: 80px 48px;
}
.fw-moment__inner { max-width: var(--fw-max-w); margin: 0 auto; }
.fw-moment__heading {
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  color: var(--fw-navy);
  margin-top: 8px !important;
  margin-bottom: 16px !important;
  word-break: break-word;
}
.fw-moment__intro {
  font-size: 17px;
  color: var(--fw-text);
  max-width: 720px;
  line-height: 1.7;
  margin-bottom: 36px;
}
.fw-moment__card {
  display: flex;
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
  cursor: pointer;
}
.fw-moment__card:hover {
  box-shadow: 0 6px 28px rgba(0,0,0,.12);
  transform: translateY(-2px);
}
.fw-moment__card-left {
  background: var(--fw-gold);
  color: #fff;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 0 0 30%;
}
.fw-moment__card-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-bottom: 8px;
  display: block;
}
.fw-moment__card-name {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}
.fw-moment__card-right {
  background: var(--fw-cream);
  padding: 36px 40px;
  flex: 1;
}
.fw-moment__card-date {
  font-size: 18px;
  font-weight: 700;
  color: var(--fw-navy);
  margin-bottom: 12px;
}
.fw-moment__card-body {
  font-size: 15px;
  color: var(--fw-text);
  line-height: 1.7;
  margin-bottom: 20px;
}
.fw-moment__card-link {
  font-size: 14px;
  font-weight: 700;
  color: var(--fw-gold-d);
  text-decoration: none;
}
.fw-moment__card-link:hover { text-decoration: underline; }
@media (max-width: 640px) {
  .fw-moment { padding: 60px 28px; }
  .fw-moment__card { flex-direction: column; }
  .fw-moment__card-left { min-width: unset; flex: none; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   SCRIPTURE BAND  (homepage full-width section)
════════════════════════════════════════════════════════════ */
.fw-scripture {
  background: #fdf8f0;
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 88px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.fw-scripture blockquote {
  font-family: var(--fw-serif);
  font-size: clamp(22px, 3vw, 36px);
  font-style: italic;
  font-weight: 400;
  color: var(--fw-navy, #1e2d4d);
  line-height: 1.55;
  max-width: 720px;
  margin: 0 auto 32px;
  border: none;
  padding: 0;
  text-align: center !important;
}
.fw-scripture cite {
  font-size: 13px;
  color: var(--fw-gold-d, #a0743a);
  font-style: normal;
  font-weight: 500;
  letter-spacing: .04em;
  display: block;
}

/* ═══════════════════════════════════════════════════════════
   IMPACT STATS BAND — charity:water style
   Full-width dark grid, enormous bold numbers
════════════════════════════════════════════════════════════ */
.fw-stats-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  background: var(--fw-navy-d);
}
.fw-stat-cell {
  padding: 64px 32px; text-align: center !important;
  border-right: 1px solid rgba(255,255,255,.06);
}
.fw-stat-cell:last-child { border-right: none; }
.fw-stat-num {
  font-family: var(--fw-display);
  font-size: clamp(44px, 5.5vw, 72px);
  font-weight: 800; letter-spacing: -.03em;
  color: #fff; line-height: 1; margin-bottom: 10px;
}
.fw-stat-label {
  font-size: 13px; font-weight: 500;
  color: rgba(255,255,255,.48); letter-spacing: .03em; line-height: 1.5;
  font-family: var(--fw-sans);
}

/* ═══════════════════════════════════════════════════════════
   AUDIENCE ROUTING — full-width slabs, Undivided energy
════════════════════════════════════════════════════════════ */
.fw-audience-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

.fw-aud-panel {
  padding: 64px 44px; cursor: pointer;
  display: flex; flex-direction: column;
  min-height: 380px; transition: filter .15s;
  position: relative; overflow: hidden;
}
.fw-aud-panel:hover { filter: brightness(.96); }
.fw-aud-panel,
.fw-aud-panel * { text-decoration: none; }
.fw-aud-panel--discern  { background: #f5f2ed; }
.fw-aud-panel--act      { background: #f5f2ed; }
.fw-aud-panel--affected { background: #f5f2ed; }

.fw-aud-tag { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; position: relative; font-family: var(--fw-sans); }
.fw-aud-panel--discern .fw-aud-tag,
.fw-aud-panel--act .fw-aud-tag,
.fw-aud-panel--affected .fw-aud-tag { color: #c49a3c; }

.fw-aud-heading {
  font-family: var(--fw-display);
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800; letter-spacing: -.02em;
  line-height: 1.1; margin-bottom: 14px; position: relative;
}
.fw-aud-panel--discern .fw-aud-heading,
.fw-aud-panel--act .fw-aud-heading,
.fw-aud-panel--affected .fw-aud-heading { color: var(--fw-text); }

.fw-aud-desc { font-size: 15px; font-weight: 400; line-height: 1.72; flex: 1; position: relative; }
.fw-aud-panel--discern .fw-aud-desc,
.fw-aud-panel--act .fw-aud-desc,
.fw-aud-panel--affected .fw-aud-desc { color: var(--fw-text-2); }

.fw-aud-cta {
  margin-top: 28px; font-size: 15px; font-weight: 700;
  display: inline-flex; align-items: center; gap: 8px;
  position: relative; transition: gap .18s;
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
.fw-aud-panel:hover .fw-aud-cta { gap: 14px; text-decoration: underline; }

/* Featured initiative card text CTAs */
.fw-init-text-cta {
  font-family: var(--fw-sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--fw-gold);
  display: inline-flex;
  align-items: center;
  transition: opacity .15s;
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
.fw-init-featured:hover .fw-init-text-cta { opacity: .8; text-decoration: underline; }
.fw-init-text-cta--secondary { color: rgba(255,255,255,.7); }
.fw-init-featured:hover .fw-init-text-cta--secondary { opacity: .9; }

/* Standalone text CTA — bold arrow link, no border */
.fw-text-cta {
  font-family: var(--fw-sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--fw-navy);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .18s;
}
.fw-text-cta:hover { gap: 10px; color: var(--fw-navy); text-decoration: underline; }
.fw-aud-panel--discern .fw-aud-cta,
.fw-aud-panel--act .fw-aud-cta,
.fw-aud-panel--affected .fw-aud-cta { color: #c49a3c; }

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS — Jews for Jesus / Undivided style
   Real quotes, large and generous
════════════════════════════════════════════════════════════ */
.fw-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 28px;
}
.fw-testimonial {
  background: #fff; border-radius: var(--fw-r-lg); padding: 36px;
  border: 1px solid var(--fw-border);
  display: flex; flex-direction: column; gap: 22px;
  transition: box-shadow .2s, transform .2s;
}
.fw-testimonial:hover { box-shadow: 0 12px 40px rgba(51,56,88,.1); transform: translateY(-3px); }
.fw-testimonial__quote {
  font-family: var(--fw-serif);
  font-size: 19px; font-style: italic; font-weight: 400;
  color: var(--fw-text); line-height: 1.65; flex: 1;
}
.fw-testimonial__quote::before {
  content: '\201C';
  display: block;
  font-size: 56px; font-family: var(--fw-serif);
  color: var(--fw-gold); line-height: .6; margin-bottom: 14px;
}
.fw-testimonial__person { display: flex; align-items: center; gap: 14px; }
.fw-testimonial__avatar {
  width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
  background: var(--fw-navy);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fw-display); font-size: 18px; font-weight: 800;
  color: rgba(255,255,255,.5);
  overflow: hidden; /* for when real photos are used */
}
.fw-testimonial__avatar img { width: 100%; height: 100%; object-fit: cover; }
.fw-testimonial__name { font-size: 15px; font-weight: 700; color: var(--fw-text); }
.fw-testimonial__role { font-size: 13px; color: var(--fw-text-3); margin-top: 2px; line-height: 1.4; }

/* ═══════════════════════════════════════════════════════════
   COMMITMENT CARDS
════════════════════════════════════════════════════════════ */
.fw-commit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
.fw-commit {
  padding: 36px 30px; border-radius: var(--fw-r-lg);
  background: #fff; border: 1px solid var(--fw-border); position: relative;
}
.fw-commit::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--fw-gold); border-radius: var(--fw-r-lg) var(--fw-r-lg) 0 0;
}
.fw-commit__num {
  font-family: var(--fw-display); font-size: 52px; font-weight: 800;
  color: rgba(204,153,102,.2); line-height: 1; margin-bottom: 18px; letter-spacing: -.03em;
}
.fw-commit h3 { font-size: 17px; font-weight: 700; color: var(--fw-text); margin-bottom: 10px; line-height: 1.35; }
.fw-commit p  { font-size: 15px; font-weight: 400; color: var(--fw-text-2); line-height: 1.7; }

/* ═══════════════════════════════════════════════════════════
   WE CHOOSE — dark contrast panels (Undivided energy)
════════════════════════════════════════════════════════════ */
.fw-choose-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  width: 100%;
}
/* Eyebrow label above the choose-grid (Gutenberg block context) */
.fw-choose-grid + * { max-width: var(--fw-max-w); margin-left: auto; margin-right: auto; }
/* Section containing choose-grid: remove inner padding so grid goes edge-to-edge */
.wp-block-group:has(.fw-choose-grid) > .wp-block-group__inner-container,
.wp-block-group:has(.fw-choose-grid) > div > .wp-block-group__inner-container { padding: 0 !important; }
/* Eyebrow before the grid should match the page content width */
.wp-block-group:has(.fw-choose-grid) .fw-hero-eyebrow,
.wp-block-group:has(.fw-choose-grid) > .wp-block-group__inner-container > p:first-child {
  width: fit-content;
  max-width: var(--fw-max-w);
  margin-left: auto;
  margin-right: auto;
  padding: 52px 0 24px;
}
.fw-choose-cell { padding: 52px 44px; }
.fw-choose-instead { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; opacity: .5; color: #fff; font-family: var(--fw-sans); }
.fw-choose-value { font-family: var(--fw-display); font-size: clamp(36px, 4.5vw, 56px); font-weight: 800; color: #fff; line-height: 1; letter-spacing: -.03em; }
.fw-choose-cell:nth-child(1) { background: #22253d; }
.fw-choose-cell:nth-child(2) { background: #2a2e4a; }
.fw-choose-cell:nth-child(3) { background: #252945; }
.fw-choose-cell:nth-child(4) { background: #1e2138; }

/* ═══════════════════════════════════════════════════════════
   FEATURED STRIP (dark navy, for resource hub and homepage)
════════════════════════════════════════════════════════════ */
.fw-feat-strip { background: var(--fw-navy); border-radius: var(--fw-r-lg); padding: 28px; margin-bottom: 28px; }
.fw-feat-strip__eye { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.65); margin-bottom: 18px; font-family: var(--fw-sans); }
.fw-feat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.fw-feat-card {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--fw-r); padding: 18px;
  text-decoration: none; display: flex; flex-direction: column;
  transition: background .15s;
}
.fw-feat-card:hover { background: rgba(255,255,255,.18); color: #fff; }
.fw-feat-card__type { font-size: 11px; font-weight: 700; color: var(--fw-gold); letter-spacing: .06em; margin-bottom: 8px; display: block; font-family: var(--fw-sans); }
.fw-feat-card h4   { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 7px; line-height: 1.35; }
.fw-feat-card p    { font-size: 13px; font-weight: 400; color: rgba(255,255,255,.90); line-height: 1.6; margin-bottom: 10px; flex: 1; }
.fw-feat-card__cta { font-size: 13px; font-weight: 700; color: var(--fw-gold); }

/* ── Featured resources — horizontal scroll on mobile ───────── */
@media (max-width: 640px) {
  .fw-feat-strip {
    padding: 20px 0 20px 16px;
    border-radius: var(--fw-r);
    overflow: hidden;
  }
  .fw-feat-strip__eye { padding-right: 16px; }
  .fw-feat-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 10px;
    padding-right: 16px;
    padding-bottom: 4px;
  }
  .fw-feat-grid::-webkit-scrollbar { display: none; }
  .fw-feat-card {
    flex: 0 0 80vw !important;
    max-width: 300px;
    scroll-snap-align: start;
  }
}

/* ═══════════════════════════════════════════════════════════
   RESOURCE CARDS
════════════════════════════════════════════════════════════ */
.fw-res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fw-res-grid--2col { grid-template-columns: repeat(2, 1fr); }
.fw-res-card {
  border-radius: var(--fw-r-lg); overflow: hidden; background: #fff;
  border: 1px solid var(--fw-border); text-decoration: none;
  display: flex; flex-direction: column;
  transition: border-color .15s, box-shadow .2s, transform .2s;
}
.fw-res-card:hover { border-color: var(--fw-gold); box-shadow: 0 10px 32px rgba(51,56,88,.11); transform: translateY(-3px); color: var(--fw-text); }
.fw-res-card:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 2px; }
.fw-res-card__top  { height: 5px; }
.fw-res-card__body { padding: var(--sp-4) var(--sp-4) 29px; flex: 1; display: flex; flex-direction: column; }
.fw-res-card__tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.fw-res-card h3 { font-size: 16px; font-weight: 700; color: var(--fw-text); margin-bottom: 8px; line-height: 1.4; }
.fw-res-card p  { font-size: 14px; font-weight: 400; color: var(--fw-text-2); line-height: 1.65; margin-bottom: 14px; flex: 1; }
.fw-res-card__foot { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--fw-border-lt); padding-top: 12px; }
.fw-res-card__meta { font-size: 12px; color: var(--fw-text-3); }
.fw-res-card__read { font-size: 14px; font-weight: 700; color: var(--fw-navy); }

/* ═══════════════════════════════════════════════════════════
   TAGS / BADGES
════════════════════════════════════════════════════════════ */
.fw-tag { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 10px; letter-spacing: .02em; font-family: var(--fw-sans); }
.fw-tag--navy    { background: rgba(51,56,88,.08); color: var(--fw-navy); }
.fw-tag--gold    { background: var(--fw-gold-lt); color: var(--fw-gold-d); }
.fw-tag--neutral { background: var(--fw-cream); color: var(--fw-text-2); }
.fw-tag--coral   { background: var(--fw-coral-lt); color: var(--fw-coral); }

.fw-badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 10px; font-family: var(--fw-sans); }
.fw-badge--local       { background: #e8f4ea; color: #2a6635; }
.fw-badge--national    { background: rgba(51,56,88,.08); color: var(--fw-navy); }
.fw-badge--virtual     { background: var(--fw-cream); color: var(--fw-text-2); }
.fw-badge--inperson    { background: var(--fw-gold-lt); color: var(--fw-gold-d); }
.fw-badge--prayer      { background: #f0e8f4; color: #6a3080; }
.fw-badge--training    { background: rgba(51,56,88,.08); color: var(--fw-navy); }
.fw-badge--gathering   { background: #e8f4f0; color: #2a6658; }
.fw-badge--meeting     { background: var(--fw-gold-lt); color: var(--fw-gold-d); }
.fw-badge--mobilization{ background: var(--fw-coral-lt); color: var(--fw-coral); }

/* ── Page subnav (navy bar, sits below main nav, gold active underline) ─── */
.fw-res-subnav,
.fw-page-subnav { background: var(--fw-navy-d); border-bottom: 1px solid rgba(255,255,255,.1); }
.fw-res-subnav__inner,
.fw-page-subnav__inner { max-width: var(--fw-max-w); margin: 0 auto; padding: 0 48px; display: flex; align-items: center; }
@media (max-width: 768px) {
  .fw-res-subnav__inner,
  .fw-page-subnav__inner { padding: 0 20px; }
}
@media (max-width: 640px) {
  .fw-res-subnav__inner,
  .fw-page-subnav__inner { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; flex-wrap: nowrap; padding: 0 16px; }
  .fw-res-subnav__inner::-webkit-scrollbar,
  .fw-page-subnav__inner::-webkit-scrollbar { display: none; }
}
.fw-res-subnav .sna,
.fw-page-subnav .sna { display: inline-block; padding: 12px 16px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.7); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s, border-color .15s; font-family: var(--fw-sans); text-decoration: none; letter-spacing: .01em; white-space: nowrap; flex-shrink: 0; }
.fw-res-subnav .sna:hover,
.fw-page-subnav .sna:hover { color: rgba(255,255,255,.92); }
.fw-res-subnav .sna:focus-visible,
.fw-page-subnav .sna:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 2px; border-radius: 3px; }
.fw-res-subnav .sna.on,
.fw-page-subnav .sna.on { color: #fff; border-bottom-color: var(--fw-gold); }

/* ═══════════════════════════════════════════════════════════
   FILTER BAR
════════════════════════════════════════════════════════════ */
.fw-filter-bar { background: var(--fw-cream); border-radius: var(--fw-r-lg); padding: 18px 22px; margin-bottom: 8px; border: 1px solid var(--fw-border-lt); }
.fw-filter-row { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; align-items: center !important; margin-bottom: 10px !important; }
.fw-filter-row:last-child { margin-bottom: 0 !important; }
.fw-filter-lbl { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .07em !important; text-transform: uppercase !important; color: var(--fw-text-3) !important; min-width: 76px !important; flex-shrink: 0 !important; font-family: var(--fw-sans) !important; }

/* ── Filter chips — full !important armour against Kadence button rules ── */
.fw-chip {
  font-size:      13px !important;
  padding:        5px 15px !important;
  border-radius:  20px !important;
  border:         1.5px solid var(--fw-border) !important;
  color:          var(--fw-text-2) !important;
  cursor:         pointer !important;
  background:     #fff !important;
  transition:     all .15s !important;
  font-weight:    500 !important;
  font-family:    var(--fw-sans) !important;
  white-space:    nowrap !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow:     none !important;
  line-height:    1.4 !important;
  display:        inline-flex !important;
  align-items:    center !important;
}
.fw-chip:hover {
  background:   #fff !important;
  border-color: var(--fw-gold) !important;
  color:        var(--fw-navy) !important;
  box-shadow:   none !important;
}
.fw-chip:focus-visible { outline: 2px solid var(--fw-gold) !important; outline-offset: 2px !important; }
.fw-chip.active {
  background:   var(--fw-gold-lt, #fdf3e3) !important;
  color:        var(--fw-navy) !important;
  border-color: var(--fw-gold) !important;
  font-weight:  700 !important;
  box-shadow:   none !important;
}

/* Unified count bar — used on all archive pages */
.fw-count-bar { font-size: 13px !important; font-weight: 600 !important; color: var(--fw-text-3) !important; font-family: var(--fw-sans) !important; margin: 0 !important; min-height: 1.4em !important; }

/* Sort row — count on left, sort chips on right */
.fw-sort-row {
  display:         flex !important;
  align-items:     center !important;
  justify-content: space-between !important;
  flex-wrap:       wrap !important;
  gap:             8px !important;
  margin-bottom:   20px !important;
}
.fw-sort-ctrl {
  display:     flex !important;
  align-items: center !important;
  gap:         7px !important;
  flex-shrink: 0 !important;
}
.fw-sort-lbl {
  font-size:   13px !important;
  font-weight: 500 !important;
  color:       var(--fw-text-3) !important;
  font-family: var(--fw-sans) !important;
  white-space: nowrap !important;
}

/* ── Sort chips — plain-text buttons, underline for active ── */
.fw-sort-chip {
  background:     none !important;
  border:         none !important;
  padding:        0 4px !important;
  font-size:      13px !important;
  font-weight:    500 !important;
  font-family:    var(--fw-sans) !important;
  color:          var(--fw-text-3) !important;
  cursor:         pointer !important;
  line-height:    1.4 !important;
  transition:     color .15s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow:     none !important;
}
.fw-sort-chip.active {
  color:                 var(--fw-navy, #1a2744) !important;
  font-weight:           700 !important;
  text-decoration:       underline !important;
  text-underline-offset: 2px !important;
  background:            none !important;
  border:                none !important;
  box-shadow:            none !important;
}
.fw-sort-chip:hover,
.fw-sort-chip:hover:not(.active) {
  background: none !important;
  color:      var(--fw-navy, #1a2744) !important;
  box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════
   EVENT CARDS
════════════════════════════════════════════════════════════ */
.fw-evt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 16px; }
.fw-evt-card {
  border: 1px solid var(--fw-border); border-radius: var(--fw-r-lg);
  padding: 24px; background: #fff;
  display: flex; flex-direction: column; gap: 10px;
  transition: border-color .15s, box-shadow .2s, transform .2s;
  position: relative;
}
.fw-evt-card__overlay {
  position: absolute; inset: 0; z-index: 1;
  border-radius: var(--fw-r-lg);
}
.fw-evt-card:hover { border-color: var(--fw-gold); box-shadow: 0 10px 32px rgba(51,56,88,.1); transform: translateY(-3px); }
.fw-evt-reg-btn { position: relative; z-index: 2; }
.fw-evt-card__badges { display: flex; gap: 6px; flex-wrap: wrap; }
.fw-evt-card h3    { font-size: 16px; font-weight: 700; color: var(--fw-text); line-height: 1.4; }
.fw-evt-card__meta { font-size: 14px; font-weight: 400; color: var(--fw-text-2); line-height: 1.75; }
.fw-evt-card__actions { display: flex; gap: 8px; margin-top: 4px; }
.fw-btn-reg { display: inline-block; background: var(--fw-navy); color: #fff; font-size: 13px; font-weight: 700; padding: 7px 16px; border-radius: 20px; font-family: var(--fw-sans); text-decoration: none; transition: background .15s; }
.fw-btn-reg:hover { background: var(--fw-navy-d); color: #fff; }
.fw-btn-details { display: inline-block; border: 1.5px solid var(--fw-border); color: var(--fw-text-2); font-size: 13px; font-weight: 700; padding: 7px 16px; border-radius: 20px; font-family: var(--fw-sans); text-decoration: none; transition: all .15s; }
.fw-btn-details:hover { border-color: var(--fw-navy); color: var(--fw-navy); }

/* ═══════════════════════════════════════════════════════════
   STORY CARDS — photo-forward (Jews for Jesus style)
════════════════════════════════════════════════════════════ */
.fw-story-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; width: 100%; min-width: 0; }
.fw-story-card {
  border-radius: var(--fw-r-lg); overflow: hidden; background: #fff;
  border: 1px solid var(--fw-border); text-decoration: none;
  display: flex; flex-direction: column;
  transition: box-shadow .2s, transform .2s;
}
.fw-story-card:hover { box-shadow: 0 10px 32px rgba(51,56,88,.11); transform: translateY(-3px); color: var(--fw-text); }
.fw-story-card:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 2px; }
.fw-story-card__img {
  height: 210px;
  background: linear-gradient(135deg, #2d3258 0%, #404870 100%);
  position: relative; display: flex; align-items: flex-end; padding: 18px;
}
.fw-story-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fw-story-card__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,22,42,.88) 0%, transparent 55%); }
.fw-story-card__type { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fw-gold); position: relative; z-index: 1; font-family: var(--fw-sans); }
.fw-story-card__body { padding: var(--sp-4); flex: 1; display: flex; flex-direction: column; }
.fw-story-card h3  { font-size: 17px; font-weight: 700; color: var(--fw-text); margin-bottom: 8px; line-height: 1.4; flex: 1; }
.fw-story-card p   { font-size: 14px; font-weight: 400; color: var(--fw-text-2); line-height: 1.65; margin-bottom: 14px; }
.fw-story-card__foot   { display: flex; align-items: center; justify-content: space-between; }
.fw-story-card__author { font-size: 12px; color: var(--fw-text-3); }
.fw-story-card__cta    { font-size: 14px; font-weight: 700; color: var(--fw-navy); }

/* ═══════════════════════════════════════════════════════════
   INITIATIVE CARDS
════════════════════════════════════════════════════════════ */
.fw-init-featured {
  background: var(--fw-navy); border-radius: var(--fw-r-lg); padding: 28px 32px;
  display: flex; gap: 24px; flex-wrap: wrap; align-items: flex-start;
  text-decoration: none; transition: opacity .15s; margin-bottom: 0;
}
/* Initiatives page — equal top/bottom padding and tight group spacing */
.fw-init-page { padding-top: 40px !important; padding-bottom: 40px !important; }
.fw-init-group__eyebrow { margin-top: 32px; margin-bottom: 12px; display: flex; }
#featured-initiative { margin-bottom: 0; }
.fw-init-featured:hover { opacity: .95; color: #fff; }
.fw-init-feat__label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--fw-gold); margin-bottom: 14px; display: block; font-family: var(--fw-sans); }
.fw-init-feat__body  { flex: 1; min-width: 220px; }
.fw-init-feat__body h2 { font-family: var(--fw-display); font-size: clamp(28px, 3.5vw, 46px); font-weight: 800; letter-spacing: -.025em; color: #fff; margin-bottom: 14px; line-height: 1.05; }
.fw-init-feat__body p  { font-size: 16px; font-weight: 400; color: rgba(255,255,255,.7); line-height: 1.75; margin-bottom: 22px; }
.fw-init-feat__sidebar { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: var(--fw-r); padding: 18px 22px; min-width: 180px; }
.fw-init-feat__sidebar .fw-sidebar-lbl { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fw-gold); margin-bottom: 14px; display: block; font-family: var(--fw-sans); }
.fw-init-feat__sidebar ul { margin: 0; padding: 0; }
.fw-init-feat__sidebar li { font-size: 14px; font-weight: 400; color: rgba(255,255,255,.72); line-height: 1.9; list-style: none; margin: 0; }

.fw-init-card { border: 1px solid var(--fw-border); border-radius: var(--fw-r-lg); overflow: hidden; background: #fff; text-decoration: none; display: block; transition: border-color .15s, box-shadow .2s, transform .2s; }
.fw-init-card:hover { border-color: var(--fw-gold); box-shadow: 0 10px 32px rgba(51,56,88,.1); transform: translateY(-3px); color: var(--fw-text); }
.fw-init-card:focus-visible,
.fw-group-card:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 2px; }
.fw-init-card__top    { height: 5px; }
.fw-init-card__body   { padding: 22px 20px 18px; }
.fw-init-card__status { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fw-text-3); margin-bottom: 8px; font-family: var(--fw-sans); }
.fw-init-card h3    { font-size: 17px; font-weight: 700; color: var(--fw-text); margin-bottom: 8px; line-height: 1.4; }
.fw-init-card p     { font-size: 14px; font-weight: 500; color: var(--fw-text); line-height: 1.65; margin-bottom: 14px; }
.fw-init-card__foot { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--fw-border-lt); padding-top: 12px; }
.fw-init-card__types{ font-size: 12px; color: var(--fw-text-3); }
.fw-init-card__cta  { font-size: 14px; font-weight: 700; color: var(--fw-navy); }

/* Initiatives grid */
.fw-init-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 0; }

/* Outline white button — for dark backgrounds */
.fw-btn--outline-white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.4); }
.fw-btn--outline-white:hover { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.7); }

/* How-to participation steps */
.fw-how-card { border: 1px solid var(--fw-border); border-radius: var(--fw-r); padding: 22px 24px; background: #fff; display: flex; gap: 18px; align-items: flex-start; margin-bottom: 12px; }
.fw-how-num  { width: 36px; height: 36px; border-radius: 50%; background: var(--fw-gold-lt); color: var(--fw-gold-d); font-size: 15px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(--fw-sans); }
.fw-how-body h4 { font-size: 16px; font-weight: 700; color: var(--fw-text); margin-bottom: 5px; }
.fw-how-body p  { font-size: 14px; font-weight: 400; color: var(--fw-text-2); line-height: 1.65; }

/* ── Event cards ─────────────────────────────────────────── */
.fw-evt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin-top: 24px; }
.fw-evt-card { background: #fff; border: 1px solid var(--fw-border); border-radius: var(--fw-r-lg); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.fw-evt-badges { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.fw-evt-badge { font-size: 12px !important; font-weight: 600 !important; color: #fff !important; padding: 3px 10px !important; border-radius: 20px !important; font-family: var(--fw-sans) !important; text-transform: none !important; letter-spacing: 0 !important; }
.fw-evt-card h3 { font-size: 18px !important; font-weight: 700 !important; color: var(--fw-navy) !important; line-height: 1.35 !important; margin: 0 !important; font-family: var(--fw-sans) !important; text-transform: none !important; letter-spacing: normal !important; }
.fw-evt-meta { font-size: 14px !important; color: var(--fw-text-2) !important; line-height: 1.5 !important; font-family: var(--fw-sans) !important; font-weight: 400 !important; margin: 0 !important; }
.fw-evt-location { display: flex !important; align-items: center !important; gap: 4px !important; font-size: 13px !important; color: var(--fw-text-3) !important; line-height: 1.4 !important; font-family: var(--fw-sans) !important; margin: 0 !important; }
.fw-evt-location svg { flex-shrink: 0 !important; opacity: 0.7 !important; }
.fw-evt-excerpt { font-size: 14px !important; color: var(--fw-text-2) !important; line-height: 1.6 !important; margin: 0 !important; font-weight: 400 !important; }
.fw-evt-actions { display: flex !important; gap: 10px !important; margin-top: 4px !important; }

/* ── Initiative block content ────────────────────────────── */
.fw-init-subtitle { font-size: 17px; font-weight: 600; color: var(--fw-navy); margin: 6px 0 0; line-height: 1.4; }

/* Scripture journey cards grid */
.fw-init-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-top: 28px; }
.fw-init-card { background: #fff; border: 1px solid rgba(0,0,0,.07); border-radius: 12px; padding: 20px 18px; }
.fw-init-card__bar { width: 26px; height: 3px; background: var(--fw-gold); border-radius: 2px; margin-bottom: 14px; }
.fw-init-card__title { font-size: 14px; font-weight: 700; color: var(--fw-navy); margin-bottom: 8px; font-family: var(--fw-sans); }
.fw-init-card__body { font-size: 13px; line-height: 1.75; color: var(--fw-text-2); margin: 0; }
.fw-init-card__ref { font-size: 11px; color: var(--fw-gold); font-weight: 700; margin-top: 12px; letter-spacing: .04em; font-family: var(--fw-sans); }

/* Gold bar via ::before so no extra HTML element needed */
.fw-init-card__title::before { content: ''; display: block; width: 26px; height: 3px; background: var(--fw-gold); border-radius: 2px; margin-bottom: 14px; }

/* Scripture tags */
.fw-init-divider { border: none; border-top: 1px solid var(--fw-border-lt); margin: 28px 0; }
.fw-init-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fw-init-tag { display: inline-block; font-size: 11px; font-weight: 700; background: var(--fw-gold-lt); color: #7a4a18; padding: 4px 10px; border-radius: 4px; font-family: var(--fw-sans); letter-spacing: .03em; }

/* Columns block used as initiative cards grid */
.fw-init-cards.wp-block-columns { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; gap: 14px !important; margin-top: 28px; flex-wrap: unset; align-items: unset; overflow-x: hidden; }
.fw-init-cards .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; }
.fw-init-cards .wp-block-group.fw-init-card { height: 100%; }

/* Editor styles — make our section backgrounds visible inside Gutenberg ── */
.editor-styles-wrapper .fw-sec--cream,
.editor-styles-wrapper .fw-sec--white { padding: 40px 24px; border-radius: 4px; margin-bottom: 4px; }
.editor-styles-wrapper .fw-sec--cream { background: var(--fw-cream, #fdf6ec); }
.editor-styles-wrapper .fw-sec__inner--narrow { max-width: 680px; }
.editor-styles-wrapper .fw-hero-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--fw-gold, #cc9966); display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.editor-styles-wrapper .fw-hero-eyebrow::before { content: ''; display: block; width: 28px; height: 2px; background: var(--fw-gold, #cc9966); flex-shrink: 0; }
.editor-styles-wrapper .fw-init-about { font-size: 16px; line-height: 1.8; color: #464858; }
.editor-styles-wrapper .fw-callout--gold { border-left: 3px solid var(--fw-gold, #cc9966) !important; background: var(--fw-gold-lt, #fdf4e8) !important; padding: 14px 18px; border-radius: 0 4px 4px 0; }
.editor-styles-wrapper .fw-init-tag { background: #fdf4e8; color: #7a4a18; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; }

/* Closing vision quote */
.fw-init-vision { font-family: var(--fw-serif); font-style: italic; font-size: clamp(18px, 2.5vw, 28px); line-height: 1.55; color: var(--fw-navy); margin-bottom: 12px; font-weight: 400; }
.fw-init-vision-ref { font-size: 13px; font-weight: 700; color: var(--fw-gold); letter-spacing: .06em; font-family: var(--fw-sans); }

/* ── Numbered reference cards (cream section) ────────────── */
.fw-num-cards.wp-block-columns { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: 16px !important; margin-top: 28px; flex-wrap: unset; align-items: unset; }
.fw-num-cards .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; }
.fw-num-cards .wp-block-group.fw-num-card { height: 100%; }
.fw-num-card { background: #fff; border-radius: 14px; padding: 24px 20px; }
.fw-num-card__num { font-size: 40px; font-weight: 800; color: var(--fw-gold); opacity: .5; line-height: 1; margin-bottom: 14px; font-family: var(--fw-sans); }
.fw-num-card__title { font-size: 15px; font-weight: 700; color: var(--fw-navy); margin-bottom: 8px; font-family: var(--fw-sans); }
.fw-num-card__body { font-size: 13px; line-height: 1.75; color: var(--fw-text-2); margin-bottom: 12px; }
.fw-num-card__ref { font-size: 12px; font-weight: 700; color: var(--fw-gold); letter-spacing: .04em; font-family: var(--fw-sans); margin: 0; }

/* ── Participation steps (navy section) ──────────────────── */
.fw-sec--navy { background: var(--fw-navy-d); }
.fw-sec--navy .fw-init-subtitle { color: rgba(255,255,255,.75); }
.fw-step-row { display: flex !important; flex-direction: row; align-items: flex-start; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.fw-step-row:last-child { border-bottom: none; padding-bottom: 0; }
.fw-step-num { width: 36px; height: 36px; min-width: 36px; flex-shrink: 0; border-radius: 50%; background: rgba(196,154,60,.18); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--fw-gold); font-family: var(--fw-sans); margin: 0; text-align: center; line-height: 1; }
.fw-step-content { flex: 1; }
.fw-step-title { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 4px; font-family: var(--fw-sans); }
.fw-step-body { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.6); margin: 0; }

/* Editor previews for navy section and new card types */
.editor-styles-wrapper .fw-sec--navy { background: #1e2140; padding: 40px 24px; border-radius: 4px; }
.editor-styles-wrapper .fw-sec--navy .fw-hero-eyebrow { color: var(--fw-gold, #cc9966); }
.editor-styles-wrapper .fw-num-card { background: #fff; border-radius: 12px; padding: 20px 16px; }
.editor-styles-wrapper .fw-num-card__num { font-size: 36px; font-weight: 800; color: var(--fw-gold, #cc9966); opacity: .5; line-height: 1; }
.editor-styles-wrapper .fw-step-row { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.editor-styles-wrapper .fw-step-num { background: rgba(196,154,60,.25); color: var(--fw-gold, #cc9966); width: 32px; height: 32px; min-width: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.editor-styles-wrapper .fw-step-title { color: #fff; font-size: 15px; font-weight: 700; margin: 0 0 4px; }
.editor-styles-wrapper .fw-step-body { color: rgba(255,255,255,.6); font-size: 14px; }

/* ── Media / image patterns ─────────────────────────────── */

/* Image + text (media-text block) */
.fw-media-feature.wp-block-media-text { gap: 48px; align-items: center; }
.fw-media-feature .wp-block-media-text__media { border-radius: 14px; overflow: hidden; }
.fw-media-feature .wp-block-media-text__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fw-media-feature .wp-block-media-text__content { padding: 0 !important; }

/* Image cards grid */
.fw-img-card-grid.wp-block-columns { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; gap: 20px !important; margin-top: 28px; flex-wrap: unset; align-items: unset; }
.fw-img-card-grid .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; }
.fw-img-card-grid .wp-block-group.fw-img-card { height: 100%; }
.fw-img-card { background: #fff; border-radius: 14px; overflow: hidden; }
.fw-img-card .wp-block-image { margin: 0 !important; }
.fw-img-card .wp-block-image img,
.fw-img-card .wp-block-image figure { width: 100% !important; height: 220px !important; object-fit: cover !important; display: block; margin: 0; border-radius: 0; }
.fw-img-card__content { padding: 18px 20px 22px; }
.fw-img-card__cat { font-size: 11px; font-weight: 700; color: var(--fw-gold); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; font-family: var(--fw-sans); }
.fw-img-card__title { font-size: 16px; font-weight: 700; color: var(--fw-navy); line-height: 1.3; margin-bottom: 8px; font-family: var(--fw-sans); }
.fw-img-card__body { font-size: 13px; line-height: 1.75; color: var(--fw-text-2); margin: 0; }
.fw-img-card__link { font-size: 13px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); margin: 10px 0 0; }

/* Cover section (image with overlay) */
.fw-cover-section { position: relative; }
.fw-cover-section .wp-block-cover__inner-container { max-width: var(--fw-max-w); width: 100%; margin: 0 auto; padding: 0 48px; }

/* Illustration band (centered image + text below) */
.fw-illustration-band { text-align: center; }
.fw-illustration-band .wp-block-image { margin: 0 auto 32px !important; }
.fw-illustration-band .wp-block-image img { max-height: 320px; width: auto; margin: 0 auto; }

/* Gallery band */
.fw-gallery-band.wp-block-gallery { gap: 12px !important; margin-top: 0 !important; }
.fw-gallery-band .wp-block-image img { border-radius: 10px; object-fit: cover; }

/* Editor previews */
.editor-styles-wrapper .fw-media-feature .wp-block-media-text__media { border-radius: 12px; background: #e8e4dc; min-height: 280px; }
.editor-styles-wrapper .fw-img-card { border-radius: 12px; overflow: hidden; background: #fff; }
.editor-styles-wrapper .fw-img-card__content { padding: 14px 16px 18px; }
.editor-styles-wrapper .fw-cover-section { min-height: 400px; }

/* Mobile */
@media (max-width: 640px) {
  .fw-img-card-grid.wp-block-columns { grid-template-columns: 1fr !important; }
  .fw-cover-section .wp-block-cover__inner-container { padding: 0 20px; }
  .fw-media-feature.wp-block-media-text { gap: 24px; }
}

/* ── Impact stats band (navy) ───────────────────────────── */
.fw-stats-grid.wp-block-columns { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; flex-wrap: unset; align-items: unset; margin-top: 40px; }
.fw-stats-grid .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; border-right: 1px solid rgba(255,255,255,.1); }
.fw-stats-grid .wp-block-column:last-child { border-right: none; }
.fw-stat-item { text-align: center; padding: 8px 24px; }
.fw-stat-num { font-size: clamp(36px, 4.5vw, 60px); font-weight: 800; color: var(--fw-gold); line-height: 1; margin-bottom: 8px; font-family: var(--fw-sans); }
.fw-stat-label { font-size: 12px; color: rgba(255,255,255,.55); font-family: var(--fw-sans); text-transform: uppercase; letter-spacing: .1em; font-weight: 600; margin: 0; }

/* ── Large pull quote (cream) ───────────────────────────── */
.fw-pull-quote.wp-block-quote { border: none !important; padding: 0 !important; margin: 0 !important; }
.fw-pull-quote.wp-block-quote p { font-family: var(--fw-serif); font-style: italic; font-size: clamp(22px, 3vw, 38px); color: var(--fw-navy); line-height: 1.5; text-align: center; }
.fw-pull-quote.wp-block-quote cite { display: block; font-size: 13px; font-weight: 700; color: var(--fw-gold); text-align: center; font-family: var(--fw-sans); letter-spacing: .06em; margin-top: 16px; font-style: normal; }

/* ── Testimonial (white) ────────────────────────────────── */
.fw-testimonial.wp-block-quote { border: none !important; padding: 0 !important; margin: 0 !important; }
.fw-testimonial.wp-block-quote p { font-family: var(--fw-serif); font-style: italic; font-size: clamp(18px, 2.2vw, 26px); color: var(--fw-navy); line-height: 1.6; text-align: center; }
.fw-testimonial__name { font-size: 15px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); text-align: center; margin: 20px 0 2px; }
.fw-testimonial__role { font-size: 13px; color: var(--fw-gold); font-family: var(--fw-sans); font-weight: 600; text-align: center; margin: 0; }

/* ── Story cards grid (cream) ───────────────────────────── */
.fw-story-grid.wp-block-columns { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 20px !important; margin-top: 28px; flex-wrap: unset; align-items: unset; }
.fw-story-grid .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; }
.fw-story-grid .wp-block-group.fw-story-card { height: 100%; }
.fw-story-card { background: #fff; border-radius: 14px; padding: 24px 22px; }
.fw-story-card__cat { font-size: 11px; font-weight: 700; color: var(--fw-gold); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-story-card__title { font-size: 17px; font-weight: 700; color: var(--fw-navy); line-height: 1.3; margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-story-card__body { font-size: 13px; line-height: 1.75; color: var(--fw-text-2); margin-bottom: 14px; }
.fw-story-card__link { font-size: 13px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); margin: 0; }

/* ── Resource cards manual (white) ─────────────────────── */
.fw-res-manual-grid.wp-block-columns { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 20px !important; margin-top: 28px; flex-wrap: unset; align-items: unset; }
.fw-res-manual-grid .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; }
.fw-res-manual-grid .wp-block-group.fw-res-card { height: 100%; }
.fw-res-manual-grid .fw-res-card { background: #fff; border: 1px solid var(--fw-border); border-radius: 14px; padding: 24px 22px; transition: box-shadow .18s, border-color .18s; }
.fw-res-manual-grid .fw-res-card:hover { border-color: var(--fw-navy); box-shadow: 0 4px 20px rgba(0,0,0,.07); }
.fw-res-manual-grid .fw-res-card__type { font-size: 11px; font-weight: 700; color: var(--fw-gold); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-res-manual-grid .fw-res-card__title { font-size: 16px; font-weight: 700; color: var(--fw-text); line-height: 1.3; margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-res-manual-grid .fw-res-card__body { font-size: 13px; line-height: 1.75; color: var(--fw-text-2); margin-bottom: 14px; }
.fw-res-manual-grid .fw-res-card__link { font-size: 13px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); margin: 0; }

/* ── Initiative overview cards (cream) ─────────────────── */
.fw-init-overview-grid.wp-block-columns { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; gap: 20px !important; margin-top: 28px; flex-wrap: unset; align-items: unset; }
.fw-init-overview-grid .wp-block-column { flex-basis: unset !important; flex-grow: 0 !important; min-width: unset !important; }
.fw-init-overview-grid .wp-block-group.fw-init-overview-card { height: 100%; }
.fw-init-overview-card { background: #fff; border-radius: 14px; padding: 24px 22px; border: 1px solid rgba(0,0,0,.06); }
.fw-init-overview-card__dates { font-size: 11px; font-weight: 700; color: var(--fw-gold); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-init-overview-card__title { font-size: 18px; font-weight: 700; color: var(--fw-navy); line-height: 1.25; margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-init-overview-card__body { font-size: 13px; line-height: 1.75; color: var(--fw-text-2); margin-bottom: 14px; }
.fw-init-overview-card__link { font-size: 13px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); margin: 0; }

/* ── Two-column feature section (white) ─────────────────── */
.fw-feature-cols.wp-block-columns { align-items: start !important; gap: 56px !important; }
.fw-feature-col-eyebrow { font-size: 12px; font-weight: 700; color: var(--fw-gold-d); text-transform: uppercase; letter-spacing: .15em; margin-bottom: 12px; font-family: var(--fw-sans); display: flex; align-items: center; gap: 8px; }
.fw-feature-col-eyebrow::before { content: ''; display: block; width: 28px; height: 2px; background: var(--fw-gold); flex-shrink: 0; }
.fw-feature-col-heading { font-size: clamp(24px, 3.5vw, 40px); font-weight: 800; color: var(--fw-navy); line-height: 1.15; margin-bottom: 16px; }
.fw-feature-col-body { font-size: 16px; line-height: 1.8; color: var(--fw-text-2); margin-bottom: 14px; }
.fw-feature-col-link { font-size: 14px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); margin: 0; }

/* ── Story byline bar (white) ───────────────────────────── */
.fw-byline-block { padding: 20px 0; border-bottom: 1px solid var(--fw-border-lt); display: flex; flex-direction: column; gap: 6px; }
.fw-byline__author { font-size: 14px; font-weight: 700; color: var(--fw-navy); font-family: var(--fw-sans); margin: 0; }
.fw-byline__meta { font-size: 13px; color: var(--fw-text-2); font-family: var(--fw-sans); margin: 0; }
.fw-byline__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.fw-byline__tag { font-size: 11px; font-weight: 700; background: var(--fw-gold-lt); color: #7a4a18; padding: 3px 10px; border-radius: 4px; font-family: var(--fw-sans); letter-spacing: .03em; }

/* ── CTA banner (navy) ──────────────────────────────────── */
.fw-cta-inner { text-align: center; }
.fw-cta-heading { font-size: clamp(26px, 4vw, 44px); font-weight: 800; color: #fff; line-height: 1.15; margin: 0 0 12px; font-family: var(--fw-sans); }
.fw-cta-body { font-size: 16px; color: rgba(255,255,255,.65); line-height: 1.75; max-width: 540px; margin: 0 auto 28px; }
.fw-cta-buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0; }
.fw-cta-btn { display: inline-block; background: var(--fw-gold); color: #fff !important; font-size: 14px; font-weight: 700; padding: 13px 28px; border-radius: 50px; text-decoration: none; font-family: var(--fw-sans); }
.fw-cta-btn--outline { background: transparent; border: 1.5px solid rgba(255,255,255,.35); color: #fff !important; }

/* Editor previews for new patterns */
.editor-styles-wrapper .fw-stats-grid { gap: 0 !important; }
.editor-styles-wrapper .fw-stat-item { text-align: center; }
.editor-styles-wrapper .fw-stat-num { font-size: 40px; font-weight: 800; color: var(--fw-gold, #cc9966); }
.editor-styles-wrapper .fw-stat-label { font-size: 12px; color: rgba(255,255,255,.55); text-transform: uppercase; }
.editor-styles-wrapper .fw-res-card { background: #fff; border: 1px solid #e2e4ec; border-radius: 10px; padding: 18px; }
.editor-styles-wrapper .fw-res-card__type { color: var(--fw-gold, #cc9966); font-size: 11px; font-weight: 700; }
.editor-styles-wrapper .fw-res-card__title { color: #1e2140; font-weight: 700; }
.editor-styles-wrapper .fw-res-card__body { color: #555; font-size: 13px; }
.editor-styles-wrapper .fw-story-card { background: #fff; border-radius: 10px; padding: 18px; }
.editor-styles-wrapper .fw-init-overview-card { background: #fff; border-radius: 10px; padding: 18px; border: 1px solid rgba(0,0,0,.06); }
.editor-styles-wrapper .fw-cta-inner { text-align: center; }
.editor-styles-wrapper .fw-cta-heading { color: #fff; font-weight: 800; font-size: 32px; }
.editor-styles-wrapper .fw-cta-body { color: rgba(255,255,255,.65); }

/* Mobile tweaks for new pattern grids */
@media (max-width: 640px) {
  .fw-stats-grid.wp-block-columns { grid-template-columns: 1fr !important; }
  .fw-stats-grid .wp-block-column { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .fw-stats-grid .wp-block-column:last-child { border-bottom: none; }
  .fw-story-grid.wp-block-columns,
  .fw-res-manual-grid.wp-block-columns,
  .fw-init-overview-grid.wp-block-columns { grid-template-columns: 1fr !important; }
  .fw-feature-cols.wp-block-columns { flex-direction: column !important; gap: 28px !important; }
}

/* ── Initiative detail ───────────────────────────────────── */
.fw-subnav { background: var(--fw-navy-d); border-bottom: 1px solid rgba(255,255,255,.08); }
.fw-subnav__inner { max-width: var(--fw-max-w); margin: 0 auto; padding: 0 48px; display: flex; }
.fw-subnav__item { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55); text-decoration: none; padding: 14px 18px; display: inline-block; border-bottom: 2px solid transparent; font-family: var(--fw-sans); transition: color .15s; }
.fw-subnav__item:hover { color: rgba(255,255,255,.85); }
.fw-subnav__item--active { color: #fff; border-bottom-color: var(--fw-gold); }
.fw-hero--initiative { padding-bottom: 72px; }
.fw-sec__inner--narrow { max-width: 720px; }
.fw-init-body { font-size: 16px; line-height: 1.8; color: var(--fw-text-2); margin: 18px 0 0; }
.fw-init-body p { margin-bottom: 1.4em; }
/* Kill the bottom margin on the last block-editor element inside the about section */
.fw-init-body > *:last-child { margin-bottom: 0; }
/* Reduce top padding when sections of the same color stack */
.fw-sec--white + .fw-sec--white { padding-top: 0; }
.fw-sec--cream + .fw-sec--cream { padding-top: 0; }
/* Reduce top padding between any adjacent sections */
.fw-sec + .fw-sec { padding-top: var(--sp-6); }
/* Tighten gap when a content section immediately follows a hero */
.fw-hero + .fw-sec { padding-top: 40px; }
/* Remove Kadence's default content-area vertical margin on our custom single pages —
   otherwise a white stripe appears between block content and the cream/white fw-sec below */
body.single-fw_initiative .content-area,
body.single-fw_resource .content-area,
body.single-fw_organizing_group .content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   PARTNER CARDS (movements page)
════════════════════════════════════════════════════════════ */
.fw-partner-card {
  position: relative;
  display: block;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r-lg);
  padding: 24px 28px;
  background: #fff;
  margin-bottom: 12px;
  text-decoration: none;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.fw-partner-card:hover {
  border-color: var(--fw-navy);
  box-shadow: 0 4px 16px rgba(51,56,88,.1);
  transform: translateY(-2px);
}
.fw-partner-card h3 { font-size: 17px; font-weight: 700; color: var(--fw-navy); margin-bottom: 6px; }
.fw-partner-card p  { font-size: 15px; font-weight: 400; color: var(--fw-text-2); line-height: 1.65; margin: 0; }
.fw-partner-card__arrow {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 15px;
  color: var(--fw-text-3);
  font-weight: 400;
  line-height: 1;
}

/* ═══════════════════════════════════════════════════════════
   MAP
════════════════════════════════════════════════════════════ */
#fw-map { height: 400px; border-radius: var(--fw-r-lg); border: 1px solid var(--fw-border); margin: 16px 0; }
@media (max-width: 768px) { #fw-map { height: 300px; } }
@media (max-width: 480px) { #fw-map { height: 220px; } }
.fw-legend-row { display: flex; gap: 18px; margin-bottom: 14px; flex-wrap: wrap; }
.fw-legend-item { display: flex; align-items: center; gap: 7px; font-size: 14px; color: var(--fw-text-2); font-family: var(--fw-sans); }
.fw-legend-dot  { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════════
   ARTICLE / DETAIL PAGES
════════════════════════════════════════════════════════════ */
.fw-detail { max-width: 800px; margin: 0 auto; padding: 40px 48px 80px; }
.fw-back-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--fw-navy); text-decoration: none; margin-bottom: 22px; transition: gap .15s; font-family: var(--fw-sans); }
.fw-back-link:hover { gap: 10px; }
.fw-detail__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.fw-detail__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; color: var(--fw-text-3); margin: 10px 0 18px; font-family: var(--fw-sans); }
.fw-detail__dot  { color: var(--fw-border); }
.fw-detail__overview { font-size: 18px; color: var(--fw-text-2); line-height: 1.8; margin-bottom: 20px; font-weight: 400; }
.fw-detail__rule { border: none; border-top: 1px solid var(--fw-border-lt); margin: 24px 0; }
.fw-detail__related { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--fw-border-lt); }

/* Bold display headline for most articles */
.fw-detail-h1 { font-family: var(--fw-display); font-size: clamp(28px, 4vw, 52px); font-weight: 800; letter-spacing: -.025em; color: var(--fw-text); line-height: 1.08; margin-bottom: 12px; }
/* Serif variant for story / pastoral content */
.fw-detail-h1--serif { font-family: var(--fw-serif); font-size: clamp(26px, 3.5vw, 42px); font-style: italic; font-weight: 400; color: var(--fw-text); line-height: 1.18; margin-bottom: 12px; }

.fw-article p          { font-size: 17px; font-weight: 400; color: var(--fw-text-2); line-height: 1.9; margin-bottom: 20px; }
.fw-article h2,
.fw-article h2.wp-block-heading {
  font-family: var(--fw-display) !important;
  font-size: clamp(20px, 2.5vw, 26px) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--fw-text) !important;
  margin: 40px 0 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--fw-border-lt) !important;
  line-height: 1.25 !important;
}
.fw-article h3,
.fw-article h3.wp-block-heading {
  font-family: var(--fw-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--fw-text-3, #9ca3af) !important;
  margin: 32px 0 8px !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1.4 !important;
}
.fw-article ul, .fw-article ol { margin: 8px 0 20px 24px; }
.fw-article li         { font-size: 16px; font-weight: 400; color: var(--fw-text-2); line-height: 1.9; }
.fw-article blockquote { border-left: 3px solid var(--fw-navy); background: rgba(51,56,88,.04); border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0; padding: 16px 20px; margin: 20px 0; }
.fw-article blockquote p { font-size: 16px; color: var(--fw-text); margin: 0; }
.fw-article-lede       { font-family: var(--fw-serif); font-size: 20px; font-style: italic; font-weight: 400; color: var(--fw-text-2); line-height: 1.75; margin-bottom: 30px; border-left: 3px solid var(--fw-gold); padding-left: 20px; }

.fw-callout      { border-left: 3px solid var(--fw-navy); background: rgba(51,56,88,.05); border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0; padding: 18px 22px; margin: 22px 0; font-size: 16px; color: var(--fw-navy); line-height: 1.75; font-weight: 400; }
.fw-callout a    { color: var(--fw-gold-d); font-weight: 700; }
.fw-callout--gold{ border-left-color: var(--fw-gold); background: var(--fw-gold-lt); color: var(--fw-gold-d); }
.fw-callout--cream { border-left-color: var(--fw-gold); background: var(--fw-cream); color: var(--fw-text); }
/* Native WP quote block — style the same as fw-callout */
.fw-article .wp-block-quote,
.fw-article .wp-block-pullquote {
  border-left: 3px solid var(--fw-navy-m);
  background: rgba(51,56,88,.04);
  border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0;
  padding: 18px 22px; margin: 18px 0;
}
.fw-article .wp-block-quote p,
.fw-article .wp-block-pullquote p { font-style: italic; color: var(--fw-navy); font-size: 16px; line-height: 1.75; margin: 0 0 8px; }
.fw-article .wp-block-quote cite,
.fw-article .wp-block-pullquote cite { font-size: 13px; color: var(--fw-text-2); font-style: normal; }

/* Statement box — dark navy quote card */
.fw-callout--statement {
  background: var(--fw-navy);
  border-left: 4px solid var(--fw-gold);
  border-radius: var(--fw-r);
  padding: 28px 32px;
  margin: 24px 0;
  color: #fff;
}
.fw-callout--statement p {
  color: #fff !important;
  margin: 0 0 10px;
}
.fw-callout--statement p:first-child {
  font-size: 1.15em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  line-height: 1.45;
  margin-bottom: 12px;
}
/* Only italicise the secondary/attribution line when there are multiple paragraphs */
.fw-callout--statement p:last-child:not(:first-child) {
  font-size: .9em;
  font-style: italic;
  opacity: .8;
  margin: 0;
}
/* Single paragraph — no italic, just tighten margin */
.fw-callout--statement p:only-child {
  margin: 0;
}

/* Two-column definition table */
.fw-def-table { margin: 16px 0 !important; }
.fw-def-table table { width: 100%; border-collapse: collapse; }
.fw-def-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--fw-border);
  vertical-align: top;
  font-size: 16px;
  line-height: 1.6;
}
.fw-def-table td:first-child {
  width: 45%;
  font-weight: 700;
  color: var(--fw-navy);
}
.fw-def-table tr:last-child td { border-bottom: none; }
.fw-def-table tr:nth-child(odd) td { background: var(--fw-cream); }
.fw-def-table tr:nth-child(even) td { background: #fff; }

/* Quote card — left-border quote with attribution */
.fw-quote-card {
  border-left: 3px solid var(--fw-navy-m);
  background: rgba(51,56,88,.04);
  border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0;
  padding: 20px 24px;
  margin: 18px 0;
}
.fw-quote-card .fw-quote-card__text {
  font-size: 17px;
  line-height: 1.75;
  color: var(--fw-navy);
  margin: 0 0 10px;
  font-style: italic;
}
.fw-quote-card .fw-quote-card__attr {
  font-size: 14px;
  color: var(--fw-text-2);
  margin: 0;
  font-style: normal;
}

/* Myth/Reality heading — h3 with top border divider */
.fw-article .fw-myth-heading,
.fw-myth-heading {
  font-size: 1.1em;
  font-weight: 700;
  color: var(--fw-navy);
  border-top: 1px solid var(--fw-border);
  padding-top: 20px;
  margin-top: 8px !important;
  margin-bottom: 6px !important;
}
.fw-myth-heading + p > strong:first-child { color: var(--fw-navy); }

/* Regular table styles */
.fw-article .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.fw-article .wp-block-table td,
.fw-article .wp-block-table th {
  padding: 12px 16px;
  border: 1px solid var(--fw-border);
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
}
.fw-article .wp-block-table thead th {
  background: var(--fw-navy);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}
.fw-article .wp-block-table tbody tr:nth-child(odd) td { background: var(--fw-cream); }
.fw-article .wp-block-table tbody tr:nth-child(even) td { background: #fff; }

/* ── Stats Row ─────────────────────────────────────────────────────────── */
.fw-stats-row {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  margin: 32px 0;
  background: transparent;
  border: none;
  overflow: visible;
}
.fw-stat {
  flex: 1 1 140px;
  padding: 28px 20px 24px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--fw-border);
  border-top: 4px solid var(--fw-navy);
  border-radius: var(--fw-r);
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
/* Rotating accent colours — up to 5 stats */
.fw-stat:nth-child(1) { border-top-color: var(--fw-navy);  }
.fw-stat:nth-child(2) { border-top-color: var(--fw-gold);  }
.fw-stat:nth-child(3) { border-top-color: #0891b2;         }
.fw-stat:nth-child(4) { border-top-color: #059669;         }
.fw-stat:nth-child(5) { border-top-color: #7c3aed;         }

.fw-stats-row .fw-stat__number {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: var(--fw-navy) !important;
  line-height: 1 !important;
  margin: 0 0 10px !important;
  font-family: var(--fw-display, var(--fw-sans));
  letter-spacing: -.03em;
  white-space: nowrap !important;
}
.fw-stats-row .fw-stat:nth-child(2) .fw-stat__number { color: var(--fw-gold-d, #a07840) !important; }
.fw-stats-row .fw-stat:nth-child(3) .fw-stat__number { color: #0e7490 !important; }
.fw-stats-row .fw-stat:nth-child(4) .fw-stat__number { color: #047857 !important; }
.fw-stats-row .fw-stat:nth-child(5) .fw-stat__number { color: #6d28d9 !important; }

.fw-stats-row .fw-stat__label {
  font-size: 12px !important;
  color: var(--fw-text-2) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700 !important;
}

/* ── Video Embed ─────────────────────────────────────────────────────────── */
.fw-article .wp-block-embed { margin: 28px 0; }
.fw-article .wp-block-embed iframe { width: 100%; aspect-ratio: 16/9; border: none; border-radius: var(--fw-r); }
.fw-article .wp-block-embed figcaption { font-size: 13px; color: var(--fw-text-2); text-align: center; margin-top: 8px; }

/* ── FAQ / Accordion ─────────────────────────────────────────────────────── */
.fw-article details.wp-block-details {
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r-sm);
  margin-bottom: 8px;
  overflow: hidden;
}
.fw-article details.wp-block-details summary {
  font-weight: 600;
  font-size: 16px;
  color: var(--fw-navy);
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
}
.fw-article details.wp-block-details summary::-webkit-details-marker { display: none; }
.fw-article details.wp-block-details summary::after {
  content: '›';
  font-size: 20px;
  font-weight: 400;
  color: var(--fw-text-3);
  transition: transform .2s;
  flex-shrink: 0;
  margin-left: 16px;
}
.fw-article details.wp-block-details[open] summary::after { transform: rotate(90deg); }
.fw-article details.wp-block-details > * + * { margin: 0; }
.fw-article details.wp-block-details > p,
.fw-article details.wp-block-details .wp-block-paragraph {
  padding: 0 20px 18px;
  font-size: 15px;
  color: var(--fw-text-1);
  line-height: 1.7;
  margin: 0;
}

/* fw-faq: raw-HTML FAQ accordion (supports bullets) */
.fw-article details.fw-faq .fw-faq__body {
  padding: 4px 20px 18px;
}
.fw-article details.fw-faq .fw-faq__body p {
  font-size: 15px !important;
  color: var(--fw-text-1) !important;
  line-height: 1.7 !important;
  margin: 0 0 10px !important;
}
.fw-article details.fw-faq .fw-faq__body p:last-child { margin-bottom: 0 !important; }
.fw-article details.fw-faq .fw-faq__body ul {
  margin: 4px 0 10px 20px !important;
  padding: 0 !important;
}
.fw-article details.fw-faq .fw-faq__body li {
  font-size: 15px !important;
  color: var(--fw-text-1) !important;
  line-height: 1.7 !important;
  margin-bottom: 4px !important;
  list-style: disc !important;
}

/* ── Scripture Block (resource content editor inline block) ──────────────── */
/* Both .fw-rce-scripture (new) and .fw-article .fw-scripture (legacy saved content) */
.fw-rce-scripture,
.fw-article .fw-scripture {
  border-left: 5px solid var(--fw-navy, #1e2d4d);
  padding: 36px 40px 36px 44px;
  margin: 32px 0;
  background: #faf8f4;
  border-radius: 0 10px 10px 0;
}
.fw-rce-scripture__text,
.fw-article .fw-scripture__text {
  font-family: var(--fw-serif, Georgia, serif) !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.5 !important;
  color: var(--fw-navy, #1e2d4d) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  margin: 0 0 20px !important;
  text-align: center !important;
}
.fw-rce-scripture__ref,
.fw-article .fw-scripture__ref {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--fw-navy, #1e2d4d) !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  font-style: normal !important;
  font-family: var(--fw-sans) !important;
  text-align: center !important;
  display: block !important;
}

/* ── Alert / Warning ─────────────────────────────────────────────────────── */
.fw-alert {
  border-radius: var(--fw-r);
  padding: 16px 20px 16px 52px;
  margin: 20px 0;
  position: relative;
}
.fw-alert::before {
  position: absolute;
  left: 16px;
  top: 15px;
  font-size: 18px;
  line-height: 1.4;
}
.fw-alert--warning {
  background: #fffbeb;
  border: 1.5px solid #f59e0b;
  border-left: 5px solid #d97706;
}
.fw-alert--warning::before { content: "⚠"; }
.fw-alert--danger {
  background: #fef2f2;
  border: 1.5px solid #fca5a5;
  border-left: 5px solid #dc2626;
}
.fw-alert--danger::before { content: "⛔"; }
.fw-alert__body {
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 500;
}
.fw-alert--warning .fw-alert__body { color: #78350f; }
.fw-alert--danger  .fw-alert__body { color: #7f1d1d; }

/* ── Step Cards ──────────────────────────────────────────────────────────── */
.fw-steps {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 0;
}
.fw-step {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r);
  padding: 18px 20px;
}
.fw-step__num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--fw-navy);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fw-display, var(--fw-sans));
  line-height: 1;
}
.fw-step__body { flex: 1; min-width: 0; }
.fw-step__title {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--fw-text) !important;
  margin: 0 0 4px !important;
  line-height: 1.4 !important;
}
.fw-step__desc {
  font-size: 14px !important;
  color: var(--fw-text-2) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}


/* ── Two-Column Text ─────────────────────────────────────────────────────── */
.fw-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin: 24px 0;
}
.fw-col p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--fw-text-2) !important;
  margin: 0 0 14px !important;
}
.fw-col p:last-child { margin-bottom: 0 !important; }
@media (max-width: 640px) {
  .fw-columns { grid-template-columns: 1fr; gap: 20px; }
}

/* ── Photo Grid ──────────────────────────────────────────────────────────── */
.fw-photo-grid {
  display: grid !important;
  gap: 10px;
  margin: 24px 0;
}
.fw-photo-grid--2 { grid-template-columns: repeat(2, 1fr); }
.fw-photo-grid--3 { grid-template-columns: repeat(3, 1fr); }
.fw-photo-grid--4 { grid-template-columns: repeat(4, 1fr); }
.fw-photo-grid figure {
  margin: 0 !important;
  overflow: hidden;
  border-radius: var(--fw-r-sm, 6px);
  aspect-ratio: 1;
}
.fw-photo-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.fw-photo-grid figure:hover img { transform: scale(1.04); }
@media (max-width: 600px) {
  .fw-photo-grid--3,
  .fw-photo-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

/* ── Download Asset Cards ────────────────────────────────────────────────── */
.fw-asset-grid { margin: 24px 0; }
.fw-asset-grid__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--fw-text-2) !important;
  margin: 0 0 14px !important;
}
.fw-asset-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 600px) {
  .fw-asset-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 400px) {
  .fw-asset-cards { grid-template-columns: 1fr; }
}
.fw-asset-card {
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.fw-asset-card__thumb {
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--fw-grey-lt, #f3f4f6);
}
.fw-asset-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.fw-asset-card:hover .fw-asset-card__thumb img { transform: scale(1.04); }
.fw-asset-card__foot {
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--fw-border-lt, #f0f0f0);
}
.fw-asset-card__label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--fw-text) !important;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.fw-asset-card__dl {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--fw-navy);
  text-decoration: none;
  border: 1.5px solid var(--fw-navy);
  border-radius: 3px;
  padding: 3px 8px;
  white-space: nowrap;
  transition: background .15s, color .15s;
}
.fw-asset-card__dl:hover {
  background: var(--fw-navy);
  color: #fff;
}

/* ── Split Image + Text ──────────────────────────────────────────────────── */
.fw-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  margin: 28px 0;
}
.fw-split--right .fw-split__img  { order: 2; }
.fw-split--right .fw-split__text { order: 1; }
.fw-split__img { overflow: hidden; border-radius: var(--fw-r); }
.fw-split__img img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: var(--fw-r);
}
.fw-split__caption {
  font-size: 12px !important;
  color: var(--fw-text-3, #9ca3af) !important;
  margin: 8px 0 0 !important;
  font-style: italic !important;
  text-align: center;
  line-height: 1.5 !important;
}
.fw-split__text p {
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: var(--fw-text-2) !important;
  margin: 0 0 20px !important;
}
.fw-split__text p:last-child { margin-bottom: 0 !important; }
@media (max-width: 680px) {
  .fw-split { grid-template-columns: 1fr; gap: 20px; }
  .fw-split--right .fw-split__img  { order: 0; }
  .fw-split--right .fw-split__text { order: 0; }
}

/* ── CTA Banner ─────────────────────────────────────────────────────────── */
.fw-cta-banner {
  background: var(--fw-navy);
  border-radius: var(--fw-r);
  padding: 36px 40px;
  margin: 32px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.fw-cta-banner .fw-cta-banner__headline {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  flex: 1 1 200px;
}
.fw-cta-banner .wp-block-buttons { flex-shrink: 0; margin: 0 !important; }
.fw-cta-banner .wp-block-button__link {
  background: var(--fw-gold) !important;
  color: var(--fw-navy) !important;
  font-weight: 700;
  border-radius: 6px;
  padding: 12px 24px;
  white-space: nowrap;
}
.fw-cta-banner .wp-block-button__link:hover { background: #c8973a !important; }

.fw-disclaimer   { border-left: 3px solid var(--fw-gold); background: var(--fw-gold-lt); border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0; padding: 14px 20px; font-size: 14px; color: var(--fw-text-2); line-height: 1.75; margin: 22px 0; }

.fw-toc { background: var(--fw-cream); border-radius: var(--fw-r); padding: 20px 24px; margin-bottom: 30px; border: 1px solid var(--fw-border-lt); }
.fw-toc__label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fw-text-3); margin-bottom: 12px; font-family: var(--fw-sans); }
.fw-toc a { font-size: 15px; font-weight: 500; color: var(--fw-navy); display: block; line-height: 2.3; }
.fw-toc a:hover { text-decoration: underline; }

.fw-dl-bar { display: flex; align-items: center; gap: 14px; background: var(--fw-gold-lt); border: 1.5px solid rgba(204,153,102,.4); border-radius: var(--fw-r); padding: 16px 20px; margin: 18px 0; flex-wrap: wrap; }
.fw-dl-bar p { font-size: 15px; font-weight: 500; color: var(--fw-gold-d); flex: 1; }

.fw-meta-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 18px 0 26px; }
.fw-meta-cell { background: var(--fw-cream); border-radius: var(--fw-r-sm); padding: 14px; }
.fw-meta-lbl  { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fw-text-3); margin-bottom: 4px; font-family: var(--fw-sans); }
.fw-meta-val  { font-size: 14px; font-weight: 600; color: var(--fw-text); }

.fw-reg-banner { background: var(--fw-gold-lt); border: 1.5px solid rgba(204,153,102,.4); border-radius: var(--fw-r-lg); padding: 20px 26px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.fw-reg-banner p { font-size: 15px; font-weight: 500; color: var(--fw-gold-d); flex: 1; }

/* ═══════════════════════════════════════════════════════════
   JOIN US
════════════════════════════════════════════════════════════ */
.fw-path-card { border: 1px solid var(--fw-border); border-radius: var(--fw-r-lg); overflow: hidden; background: #fff; margin-bottom: 20px; }
.fw-path-head { padding: 30px 36px; border-bottom: 1px solid var(--fw-border); }
.fw-path-num  { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fw-text-3); margin-bottom: 10px; font-family: var(--fw-sans); }
.fw-path-head h3 { font-family: var(--fw-display); font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: var(--fw-text); margin-bottom: 8px; }
.fw-path-head p  { font-size: 15px; font-weight: 400; color: var(--fw-text-2); line-height: 1.7; }
.fw-path-body { padding: 24px 36px; }
.fw-action-row { display: flex; gap: 16px; align-items: flex-start; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--fw-border-lt); }
.fw-action-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.fw-action-icon { width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 16px; margin-top: 2px; }
.fw-action-body h4 { font-size: 16px; font-weight: 700; color: var(--fw-text); margin-bottom: 4px; }
.fw-action-body p  { font-size: 14px; font-weight: 400; color: var(--fw-text-2); line-height: 1.65; margin-bottom: 10px; }

.fw-policy-accordion { border: 1px solid var(--fw-border); border-radius: var(--fw-r-lg); overflow: hidden; margin-bottom: 22px; }
.fw-policy-item { border-bottom: 1px solid var(--fw-border-lt); }
.fw-policy-item:last-child { border-bottom: none; }
.fw-policy-toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; background: #fff; border: none; cursor: pointer; text-align: left; transition: background .15s; font-family: var(--fw-sans); }
.fw-policy-toggle:hover { background: var(--fw-cream); }
.fw-policy-toggle h4 { font-size: 15px; font-weight: 700; color: var(--fw-text); }
.fw-policy-toggle .fw-chevron { font-size: 12px; color: var(--fw-text-3); transition: transform .2s; flex-shrink: 0; }
.fw-policy-item.open .fw-chevron { transform: rotate(180deg); }
.fw-policy-content { display: none; padding: 0 22px 18px; font-size: 15px; font-weight: 400; color: var(--fw-text-2); line-height: 1.75; }
.fw-policy-item.open .fw-policy-content { display: block; }

.fw-adv-step { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border: 1px solid var(--fw-border); border-radius: var(--fw-r); background: #fff; margin-bottom: 10px; }
.fw-adv-num  { width: 34px; height: 34px; border-radius: 50%; background: var(--fw-gold-lt); color: var(--fw-gold-d); font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(--fw-sans); }
.fw-adv-body h4 { font-size: 16px; font-weight: 700; color: var(--fw-text); margin-bottom: 4px; }
.fw-adv-body p  { font-size: 14px; font-weight: 400; color: var(--fw-text-2); line-height: 1.65; margin-bottom: 10px; }

/* ═══════════════════════════════════════════════════════════
   SUPPORT
════════════════════════════════════════════════════════════ */
.fw-support-card { border: 1px solid var(--fw-border); border-radius: var(--fw-r-lg); padding: 26px; background: #fff; margin-bottom: 14px; }
.fw-support-card h3 { font-size: 18px; font-weight: 700; color: var(--fw-text); margin-bottom: 8px; }
.fw-support-card p  { font-size: 15px; font-weight: 400; color: var(--fw-text-2); line-height: 1.7; margin-bottom: 14px; }

.fw-share-cta { background: var(--fw-gold-lt); border: 1.5px solid rgba(204,153,102,.4); border-radius: var(--fw-r-lg); padding: 30px; }
.fw-share-cta h4 { font-family: var(--fw-display); font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--fw-text); margin-bottom: 8px; }
.fw-share-cta p  { font-size: 15px; font-weight: 400; color: var(--fw-text-2); line-height: 1.7; margin-bottom: 18px; }

/* ═══════════════════════════════════════════════════════════
   EMAIL SIGNUP BAND
════════════════════════════════════════════════════════════ */
.fw-signup-band { background: #0d0e1c; padding: 64px 48px 72px; margin-bottom: 0; }
.fw-signup-band__inner { max-width: var(--fw-max-w); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.fw-signup-band__text { flex: 1; }
.fw-signup-band h2 { font-family: var(--fw-display); font-size: clamp(26px, 3.5vw, 44px); font-weight: 800; letter-spacing: -.03em; color: #fff; margin: 0 0 10px !important; line-height: 1.15; }
.fw-signup-band p  { font-size: 17px; font-weight: 400; color: rgba(255,255,255,.65); margin: 0; line-height: 1.6; }
.fw-signup-band__action { flex-shrink: 0; }
.fw-btn--gold-lg { background: var(--fw-gold); color: #fff; padding: 16px 32px; border-radius: 40px; font-size: 16px; font-weight: 700; text-decoration: none; display: inline-block; white-space: nowrap; transition: opacity .15s; font-family: var(--fw-sans); }
.fw-btn--gold-lg:hover { opacity: .88; color: #fff; }
@media (max-width: 680px) {
  .fw-signup-band__inner { flex-direction: column; align-items: flex-start; gap: 28px; }
}

/* ═══════════════════════════════════════════════════════════
   VALUES GRID — "We Choose"
════════════════════════════════════════════════════════════ */
.fw-values {
  background: var(--fw-navy);
  position: relative;
  padding: 36px 0 0;
}
.fw-values__eyebrow {
  max-width: var(--fw-max-w);
  margin: 0 auto;
  padding: 0 36px 24px;
}
.fw-values__eyebrow .fw-hero-eyebrow {
  color: var(--fw-gold);
}
.fw-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  max-width: var(--fw-max-w);
  margin: 0 auto;
}
.fw-values__cell {
  padding: 44px 36px 52px;
  border-right: 1px solid rgba(255,255,255,.12);
  transition: background .25s ease, transform .25s ease;
  cursor: default;
  position: relative;
}
.fw-values__cell:last-child { border-right: none; }
.fw-values__cell--highlight { background: transparent; }
.fw-values__cell:hover { background: rgba(255,255,255,.06); }
.fw-values__cell:hover .fw-values__word { color: var(--fw-gold); }
.fw-values__instead {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.38);
  margin-bottom: 18px;
  transition: color .25s ease;
}
.fw-values__word {
  font-size: clamp(28px, 2.6vw, 38px);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  font-family: var(--fw-display);
  transition: color .25s ease;
}
@media (max-width: 768px) {
  .fw-values { padding: 52px 0 0; }
  .fw-values__grid { grid-template-columns: repeat(2, 1fr); }
  .fw-values__cell:nth-child(2) { border-right: none; }
  .fw-values__cell:nth-child(3) { border-right: 1px solid rgba(255,255,255,.12); border-top: 1px solid rgba(255,255,255,.12); }
  .fw-values__cell:nth-child(4) { border-right: none; border-top: 1px solid rgba(255,255,255,.12); }
  .fw-values__word { white-space: normal; }
}
@media (max-width: 480px) {
  .fw-values__grid { grid-template-columns: 1fr; }
  .fw-values__cell { border-right: none !important; border-top: 1px solid rgba(255,255,255,.12); }
  .fw-values__eyebrow { padding-left: 24px; }
  .fw-values__cell { padding: 32px 24px 40px; }
}

/* ═══════════════════════════════════════════════════════════
   SECTION WRAPPER — shared cream/white sections
════════════════════════════════════════════════════════════ */
.fw-sec { padding: var(--sp-7) 48px; }
.fw-sec--cream { background: var(--fw-cream); }
.fw-sec--white { background: #fff; }
.fw-sec__inner { max-width: var(--fw-max-w); margin: 0 auto; }

/* Kadence zeroes padding-left/right on .alignfull — compensate in the inner container */
.wp-block-group.alignfull .fw-sec__inner,
.wp-block-group.alignfull .fw-sec__inner--narrow {
  padding-left: 48px;
  padding-right: 48px;
}
.fw-sec__heading {
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.05;
  color: var(--fw-navy);
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  word-break: break-word;
}
.fw-sec__intro {
  font-size: 17px;
  color: var(--fw-text);
  max-width: 620px;
  line-height: 1.7;
  margin-bottom: 36px;
}
.fw-sec__footer { margin-top: 32px; }
.fw-sec__inner--centered { max-width: 600px; text-align: center; }
.fw-sec__inner--centered .fw-sec__heading { font-size: clamp(24px, 3vw, 36px); margin-bottom: 10px !important; }
.fw-btn--navy {
  background: var(--fw-navy);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .15s;
}
.fw-btn--navy:hover { opacity: .85; color: #fff; }
.fw-map-wrap {
  background: var(--fw-cream);
  border-radius: 16px;
  padding: 20px;
  overflow: hidden;
}
/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════════════════════════ */
.fw-testimonials {
  background: var(--fw-cream);
  padding: 80px 48px;
}
.fw-testimonials__inner { max-width: var(--fw-max-w); margin: 0 auto; }
.fw-testimonials__header { margin-bottom: 40px; }
.fw-testimonials__header h2 {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  color: var(--fw-navy);
  margin: 8px 0 0 !important;
  word-break: break-word;
}
.fw-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.fw-tcard {
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.fw-tcard__quote-mark {
  font-family: var(--fw-serif);
  font-size: 40px;
  line-height: 1;
  color: var(--fw-gold);
}
.fw-tcard__text {
  font-family: var(--fw-serif);
  font-style: italic;
  font-size: 16px;
  line-height: 1.7;
  color: var(--fw-navy);
  flex: 1;
  margin: 0;
}
.fw-tcard__author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.fw-tcard__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--fw-navy);
  color: #fff;
  font-size: 16px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.fw-tcard__name {
  font-size: 15px; font-weight: 700;
  color: var(--fw-navy);
}
.fw-tcard__role {
  font-size: 13px;
  color: var(--fw-text-muted, #666);
  line-height: 1.4;
}
.fw-testimonials__footer { margin-top: 36px; }

/* ── Stories section: Video mode ─────────────────────────── */
.fw-testimonials__video-wrap { max-width: 860px; margin: 0 auto; }
.fw-video-embed {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
}
.fw-video-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}
.fw-video-caption {
  text-align: center;
  font-size: 14px;
  color: var(--fw-text-muted, #6b7280);
  margin-top: 16px;
  font-style: italic;
}

/* ── Stories section: Featured Story mode ────────────────── */
.fw-testimonials__featured-story { max-width: 860px; margin: 0 auto; }
.fw-story-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: box-shadow .2s;
}
.fw-story-feature:hover { box-shadow: 0 8px 32px rgba(0,0,0,.14); }
.fw-story-feature__img {
  background-size: cover;
  background-position: center;
  min-height: 320px;
}
.fw-story-feature__body {
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.fw-story-feature__cat {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--fw-gold-d, #a0743a);
}
.fw-story-feature__title {
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 800;
  color: var(--fw-navy, #1e2d4d);
  line-height: 1.2;
  margin: 0;
}
.fw-story-feature__excerpt {
  font-size: 15px;
  color: var(--fw-text-2, #374151);
  line-height: 1.7;
  margin: 0;
}
.fw-story-feature__cta {
  font-size: 14px;
  font-weight: 700;
  color: var(--fw-gold-d, #a0743a);
  margin-top: 8px;
}
@media (max-width: 680px) {
  .fw-story-feature { grid-template-columns: 1fr; }
  .fw-story-feature__img { min-height: 220px; }
  .fw-story-feature__body { padding: 28px 24px; }
}
.fw-btn--outline-navy {
  background: transparent;
  border: 2px solid var(--fw-navy);
  color: var(--fw-navy);
  padding: 12px 28px;
  border-radius: 32px;
  font-size: 15px; font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: background .15s, color .15s;
}
.fw-btn--outline-navy:hover {
  background: var(--fw-navy);
  color: #fff;
}
@media (max-width: 860px) {
  .fw-testimonials__grid { grid-template-columns: 1fr; }
  .fw-testimonials { padding: 60px 28px; }
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════════════ */
.site-footer,
#colophon { background: #0d0e1c !important; padding: 64px 48px 40px !important; }
.fw-footer-quote { font-family: var(--fw-serif); font-size: clamp(17px, 2vw, 22px); font-style: italic; color: rgba(255,255,255,.55); text-align: center !important; margin-bottom: 40px; padding-bottom: 36px; border-bottom: 1px solid rgba(255,255,255,.07); }
.site-footer a, #colophon a { color: #3a3c56; font-size: 14px; transition: color .15s; }
.site-footer a:hover, #colophon a:hover { color: rgba(255,255,255,.65); }
.fw-footer-legal { font-size: 12px; color: #28293e; border-top: 1px solid rgba(255,255,255,.05); padding-top: 18px; line-height: 1.7; }

/* ═══════════════════════════════════════════════════════════
   CUSTOM FOOTER
════════════════════════════════════════════════════════════ */
.fw-footer {
  background: #0d0e1c;
  padding: 0 48px 40px;
  color: rgba(255,255,255,.55);
}
.fw-footer__inner { max-width: var(--fw-max-w); margin: 0 auto; }

/* Divider between signup band and quote */
.fw-footer__quote {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 56px;
}

/* Quote */
.fw-footer__quote p {
  font-family: var(--fw-serif);
  font-size: clamp(17px, 2vw, 22px);
  font-style: italic;
  color: rgba(255,255,255,.55);
  text-align: center;
  margin: 0 0 40px;
}

/* Rules */
.fw-footer__rule {
  border: none;
  border-top: 1px solid rgba(255,255,255,.08);
  margin: 0 0 48px;
}
.fw-footer__rule--bottom { margin: 40px 0 24px; }

/* 3-column grid */
.fw-footer__cols {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
}
.fw-footer__col-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 20px;
  font-family: var(--fw-sans);
}
.fw-footer__col p {
  font-size: 14px;
  line-height: 1.75;
  color: rgba(255,255,255,.70);
  margin: 0;
}
.fw-footer__col ul,
.fw-footer__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.fw-footer__col ul li,
.fw-footer__nav li { margin-bottom: 14px; }
.fw-footer__col ul a,
.fw-footer__nav a {
  font-size: 15px;
  color: rgba(255,255,255,.80);
  text-decoration: none;
  transition: color .15s;
}
.fw-footer__col ul a:hover,
.fw-footer__nav a:hover { color: #fff; }
.fw-footer__highlight {
  color: var(--fw-gold) !important;
  font-weight: 600;
}

/* Bottom bar */
.fw-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  color: rgba(255,255,255,.28);
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .fw-footer__cols { grid-template-columns: 1fr 1fr; }
  .fw-footer__col--brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .fw-footer { padding: 0 28px 32px; }
  .fw-footer__cols { grid-template-columns: 1fr; }
  .fw-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .fw-stats-band { grid-template-columns: 1fr 1fr; }
  .fw-stat-cell  { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .fw-audience-grid { grid-template-columns: 1fr; }
  .fw-aud-panel  { min-height: auto; padding: 48px 32px; }
  .fw-choose-grid { grid-template-columns: 1fr 1fr; }
  .fw-init-featured { flex-direction: column; }
  .fw-init-feat__sidebar { width: 100%; box-sizing: border-box; min-width: unset; }
  .fw-res-grid  { grid-template-columns: repeat(2, 1fr); }
  .fw-init-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .fw-group-grid { grid-template-columns: repeat(2, 1fr); }
  .fw-story-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .fw-hero { padding-left: 32px; padding-right: 32px; }
  .fw-hero__inner { padding: 64px 0 56px; }
  .fw-hero--short .fw-hero__inner { padding: 48px 0 40px; }
  .fw-filter-bar { padding: 14px 16px; }
  .fw-news-page { gap: 48px; }
}
@media (max-width: 640px) {
  .fw-hero__inner    { padding: 60px 0 52px; }
  .fw-hero           { padding-left: 28px; padding-right: 28px; }
  .fw-story-hero     { padding-left: 28px; padding-right: 28px; }
  .fw-sec            { padding: 48px 20px; }
  .fw-sec--sm        { padding: 48px 20px; }
  .fw-signup-band    { padding: 56px 20px; }
  .fw-detail         { padding: 32px 20px; }
  .fw-choose-grid    { grid-template-columns: 1fr; }
  .fw-choose-cell    { padding: 36px 20px; }
  .fw-stats-band     { grid-template-columns: 1fr 1fr; }

  /* Kadence alignfull overrides — move padding into inner container on mobile */
  .wp-block-group.alignfull .fw-sec__inner,
  .wp-block-group.alignfull .fw-sec__inner--narrow {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Scripture cards — single column on mobile */
  .fw-init-cards,
  .fw-init-cards.wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  /* Featured initiative card — full-width buttons on mobile */
  .fw-init-feat__actions { flex-direction: column; }
  .fw-init-feat__actions .fw-btn { width: 100%; text-align: center; justify-content: center; box-sizing: border-box; }

  /* Five Ways to Participate sidebar — compact on mobile */
  .fw-init-feat__sidebar,
  .fw-init-feat-sidebar { padding: 14px 16px !important; }
  .fw-init-feat__sidebar li,
  .fw-init-feat-sidebar li { font-size: 14px !important; line-height: 1.7 !important; }
  .fw-init-feat__sidebar .fw-sidebar-lbl,
  .fw-init-feat-sidebar .sidebar-lbl { margin-bottom: 8px !important; }
  .fw-res-grid  { grid-template-columns: 1fr; }
  .fw-init-grid { grid-template-columns: 1fr; }
  .fw-group-grid { grid-template-columns: 1fr; }
  .fw-story-grid { grid-template-columns: 1fr !important; }

  /* Vision quote — don't clamp below readable size */
  .fw-init-vision { font-size: 22px; }

  /* Heading inside blocks — tighten on small screens */
  .fw-sec__heading { font-size: clamp(22px, 6vw, 36px) !important; }
}

/* ═══════════════════════════════════════════════════════════
   ALIASES — bridge between template class names and CSS names
   (shortcodes and archive templates use these variants)
════════════════════════════════════════════════════════════ */

/* Layout containers */
.fw-container         { max-width: var(--fw-max-w); margin: 0 auto; }
.fw-container--narrow { max-width: var(--fw-narrow); margin: 0 auto; }

/* Section header aliases */
.fw-kicker        { font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--fw-gold-d); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; font-family: var(--fw-sans); }
.fw-kicker::before{ content: ''; display: block; width: 28px; height: 2px; background: var(--fw-gold); flex-shrink: 0; }
.fw-section-title { font-family: var(--fw-display); font-size: clamp(28px, 3.5vw, 50px); font-weight: 800; letter-spacing: -.022em; color: var(--fw-text); line-height: 1.1; margin-bottom: 14px; }
.fw-section-sub   { font-size: 18px; font-weight: 400; color: var(--fw-text-2); line-height: 1.75; max-width: 580px; margin-bottom: 32px; }

/* Generic card grid */
.fw-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }

/* ── Group cards (movements archive) ─────────────────────── */
.fw-map-legend { display: flex; gap: 20px; align-items: center; margin-bottom: 14px; font-size: 13px; color: var(--fw-text-2); }
.fw-map-legend__dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; }
.fw-map-legend__dot--navy { background: var(--fw-navy); }
.fw-map-legend__dot--gold { background: var(--fw-gold); }

.fw-group-filters { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 28px 0 20px; }
.fw-group-filters__type { display: flex; gap: 8px; flex-wrap: wrap; }
.fw-filter-btn { background: #fff; border: 1.5px solid var(--fw-border); border-radius: 20px; padding: 5px 15px; font-size: 13px; font-weight: 500; color: var(--fw-text-2); cursor: pointer; font-family: var(--fw-sans); transition: all .15s; white-space: nowrap; }
.fw-filter-btn:hover { background: #fff; border-color: var(--fw-gold); color: var(--fw-navy); }
.fw-filter-btn:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 2px; }
.fw-filter-btn.active { background: var(--fw-gold-lt); color: var(--fw-navy); border-color: var(--fw-gold); font-weight: 700; }
.fw-filter-select { border: 1.5px solid var(--fw-border); border-radius: 20px; padding: 7px 14px; font-size: 13px; font-family: var(--fw-sans); color: var(--fw-text); background: #fff; cursor: pointer; outline: none; transition: border-color .15s; }
.fw-filter-select:focus-visible { outline: 2px solid var(--fw-gold); outline-offset: 2px; }
.fw-filter-select.active { border-color: var(--fw-gold); background: var(--fw-gold-lt); color: var(--fw-navy); font-weight: 700; }

.fw-group-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.fw-group-card {
  background: #fff;
  border: 1px solid var(--fw-border);
  border-radius: 14px;
  border-top: 4px solid var(--fw-navy);
  padding: 22px 22px 18px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: box-shadow .15s, transform .15s;
  color: var(--fw-text);
}
.fw-group-card:hover { box-shadow: 0 10px 32px rgba(51,56,88,.1); transform: translateY(-3px); color: var(--fw-text); }
.fw-group-card--emerging { border-top-color: var(--fw-gold); }

.fw-group-card__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.fw-group-card__badge {
  font-size: 12px; font-weight: 500; color: var(--fw-text-2);
  background: #f2f2f4; border-radius: 20px; padding: 3px 10px;
  font-family: var(--fw-sans);
}
.fw-group-card__badge--emerging { background: #fdf3e7; color: #9a6128; }

.fw-group-card h3 { font-size: 17px; font-weight: 700; color: var(--fw-navy); margin: 0 0 10px; line-height: 1.3; }
.fw-group-card p  { font-size: 14px; color: var(--fw-text-2); line-height: 1.65; margin: 0; flex: 1; }
.fw-group-card__cta { font-size: 14px; font-weight: 700; color: var(--fw-navy); margin-top: 18px; text-align: right; display: block; }

/* ── Group detail page ───────────────────────────────────── */
.fw-group-back { display: block; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.7); text-decoration: none; margin-bottom: 16px; transition: color .15s; font-family: var(--fw-sans); }
.fw-group-back:hover { color: #fff; }

/* ── Initiative resources "view more" button ─────────────── */
.fw-init-res-more { margin-top: 28px; text-align: center; }

/* ── Initiative detail back link ─────────────────────────── */
.fw-init-back { display: block; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55); text-decoration: none; margin-bottom: 24px; transition: color .15s; font-family: var(--fw-sans); }
.fw-init-back:hover { color: rgba(255,255,255,.85); }
.fw-hero--initiative h1 em { font-style: italic; font-family: var(--fw-display); font-weight: 700; }
.fw-init-about { font-size: 17px; color: var(--fw-text-2); line-height: 1.8; margin: 0; }
.fw-group-hero__badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }

.fw-group-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 36px; }
.fw-group-meta__card { background: var(--fw-cream); border-radius: 10px; padding: 18px 20px; }
.fw-group-meta__label { display: block; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fw-text-2); margin-bottom: 6px; font-family: var(--fw-sans); }
.fw-group-meta__card strong { font-size: 16px; font-weight: 600; color: var(--fw-navy); display: block; }
.fw-group-meta__card a { display: block; font-size: 15px; color: var(--fw-navy); text-decoration: none; font-weight: 500; }
.fw-group-meta__card a:hover { text-decoration: underline; }

.fw-group-focus { margin-bottom: 28px; }
.fw-group-focus__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }

.fw-group-body { font-size: 16px; line-height: 1.8; color: var(--fw-text); margin-bottom: 40px; }
.fw-group-body p { margin-bottom: 1.2em; }

.fw-group-actions { display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 600px) {
  .fw-group-meta { grid-template-columns: 1fr; }
}

/* Feat card CTA link alias (shortcode outputs __dl) */
.fw-feat-card__dl { font-size: 13px; font-weight: 700; color: var(--fw-gold); }

/* Button modifiers used in initiatives shortcode */
.fw-btn--primary      { background: var(--fw-gold); color: #fff; }
.fw-btn--primary:hover{ background: var(--fw-gold-d); color: #fff; }
.fw-btn--outline      { background: transparent; border: 2px solid rgba(255,255,255,.45); color: rgba(255,255,255,.92); }
.fw-btn--outline:hover{ background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.8); color: #fff; }

/* ═══════════════════════════════════════════════════════════
   EVENTS ARCHIVE
════════════════════════════════════════════════════════════ */

/* Subnav alias for events */
.fw-evt-subnav .sna { cursor: pointer; }

/* Hero variant */
.fw-hero--events { }

/* Search + toggle top bar */
.fw-evt-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.fw-evt-search-form { display: flex; gap: 8px; flex: 1; max-width: 520px; }
.fw-evt-search-form input[type="search"] {
  flex: 1; padding: 10px 16px; border: 1.5px solid var(--fw-border);
  border-radius: var(--fw-r); font-size: 14px; font-family: var(--fw-sans);
  color: var(--fw-text); background: #fff;
}
.fw-evt-search-form button[type="submit"] {
  background: var(--fw-navy); color: #fff; border: none; border-radius: var(--fw-r);
  padding: 10px 20px; font-size: 14px; font-weight: 700; font-family: var(--fw-sans); cursor: pointer; white-space: nowrap;
}
.fw-evt-search-form button[type="submit"]:hover { opacity: .88; }

/* View toggle */
.fw-vt-btns { display: flex; gap: 4px; background: var(--fw-cream); border: 1px solid var(--fw-border); border-radius: var(--fw-r); padding: 3px; }
.fw-vt-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 600; font-family: var(--fw-sans);
  padding: 6px 14px; border-radius: calc(var(--fw-r) - 2px); border: none;
  background: transparent; color: var(--fw-text-2); cursor: pointer; transition: all .15s;
}
.fw-vt-btn.on { background: #fff; color: var(--fw-navy); box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.fw-vt-btn svg { flex-shrink: 0; }

/* Event card excerpt */
.fw-evt-excerpt { font-size: 14px; color: var(--fw-text-2); line-height: 1.6; margin: 0; }

/* Event type badge variants */
.fw-evt-badge--format { background: var(--fw-text-2) !important; }
.fw-evt-badge--scale  { background: var(--fw-text-3) !important; }
.fw-evt-badge--host   { background: var(--fw-navy) !important; }

/* Details button for event cards (outline on white bg) */
.fw-btn--outline-dark {
  background: transparent; border: 1.5px solid var(--fw-border);
  color: var(--fw-navy); font-size: 13px; font-weight: 700;
  padding: 9px 20px; border-radius: 20px; font-family: var(--fw-sans);
  display: inline-block; text-decoration: none; transition: all .15s;
}
.fw-btn--outline-dark:hover { border-color: var(--fw-gold); background: var(--fw-gold-lt); color: var(--fw-navy); }
.fw-evt-details-btn { position: relative; z-index: 2; }

/* ═══════════════════════════════════════════════════════════
   EVENT DETAIL PAGE
════════════════════════════════════════════════════════════ */
.fw-evt-detail { max-width: 800px; margin: 0 auto; padding: 40px 48px 80px; }

.fw-evt-detail__desc { font-size: 18px; line-height: 1.7; color: var(--fw-text); margin: 20px 0 28px; }

/* Registration callout box */
.fw-evt-callout {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: var(--fw-cream); border: 1.5px solid var(--fw-gold-lt);
  border-radius: var(--fw-r-lg); padding: 22px 28px; margin-bottom: 32px; flex-wrap: wrap;
}
.fw-evt-callout p { font-size: 15px; color: var(--fw-text-2); margin: 0; flex: 1; min-width: 200px; }

/* Info grid */
.fw-evt-info-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px;
}
.fw-evt-info-box {
  background: #fff; border: 1px solid var(--fw-border); border-radius: var(--fw-r);
  padding: 18px 20px; display: flex; flex-direction: column; gap: 4px;
}
.fw-evt-info-lbl {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--fw-text-3); font-family: var(--fw-sans);
}
.fw-evt-info-box strong { font-size: 16px; font-weight: 700; color: var(--fw-navy); line-height: 1.4; }
.fw-evt-info-addr { font-size: 13px; color: var(--fw-gold-d); margin-top: 2px; }
.fw-evt-maps-link { font-size: 12px; font-weight: 700; color: var(--fw-navy); text-decoration: none; margin-top: 4px; font-family: var(--fw-sans); }
.fw-evt-maps-link:hover { color: var(--fw-gold-d); }
.fw-tag--link { text-decoration: none; }
.fw-tag--link:hover { border-color: var(--fw-navy); color: var(--fw-navy); }
.fw-evt-info-link { text-decoration: none; color: inherit; }
.fw-evt-info-link:hover strong { color: var(--fw-gold-d); }

/* Add to calendar row */
.fw-evt-cal-btns { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.fw-evt-cal-lbl { font-size: 13px; font-weight: 700; color: var(--fw-text-3); font-family: var(--fw-sans); }

/* ── Event share bar ── */
.fw-evt-share {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid var(--fw-border);
  margin-top: 8px;
}
.fw-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--fw-sans);
  color: var(--fw-text-2);
  background: var(--fw-bg, #f5f1eb);
  border: 1px solid var(--fw-border);
  border-radius: 999px;
  padding: 7px 16px;
  cursor: pointer;
  text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
  line-height: 1;
}
.fw-share-btn:hover {
  border-color: var(--fw-navy);
  color: var(--fw-navy);
  background: #fff;
}
.fw-share-btn--copied,
.fw-share-btn--copied:hover {
  border-color: var(--fw-gold);
  color: var(--fw-gold-d);
  background: var(--fw-gold-lt);
}

/* Gold CTA button */
.fw-btn--gold { background: var(--fw-gold); color: #fff; }
.fw-btn--gold:hover { background: var(--fw-gold-d); color: #fff; }

@media (max-width: 680px) {
  .fw-evt-detail { padding: 28px 20px 60px; }
  .fw-evt-info-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
  .fw-evt-info-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   CUSTOM CALENDAR VIEW
════════════════════════════════════════════════════════════ */
.fw-cal-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.fw-cal-nav-btn {
  background: var(--fw-navy);
  border: 1px solid var(--fw-navy);
  border-radius: 8px;
  width: 34px;
  height: 34px;
  font-size: 20px;
  cursor: pointer;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .15s;
  flex-shrink: 0;
  line-height: 1;
}
.fw-cal-nav-btn:hover { opacity: .8; }
.fw-cal-today-btn {
  display: inline-block;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fw-navy);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
  opacity: .6;
  transition: opacity .15s;
  user-select: none;
}
.fw-cal-today-btn:hover { opacity: 1; }
.fw-cal-month-select,
.fw-cal-year-select {
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--fw-border);
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--fw-text);
  font-family: var(--fw-display);
  background: #fff;
  cursor: pointer;
  transition: border-color .15s;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333858' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 28px;
}
.fw-cal-month-select:hover,
.fw-cal-year-select:hover { border-color: var(--fw-navy); }
.fw-cal-month-select:focus,
.fw-cal-year-select:focus { outline: 2px solid var(--fw-gold); outline-offset: 1px; }
.fw-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-top: 1px solid var(--fw-border);
  border-left: 1px solid var(--fw-border);
}
.fw-cal-hdr {
  border-right: 1px solid var(--fw-border);
  border-bottom: 1px solid var(--fw-border);
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fw-text-3);
  background: var(--fw-cream);
}
.fw-cal-cell {
  border-right: 1px solid var(--fw-border);
  border-bottom: 1px solid var(--fw-border);
  min-height: 110px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.fw-cal-cell--empty { background: #fafafa; }
.fw-cal-cell--today { background: #fff8f0; }
.fw-cal-day-num {
  font-size: 12px;
  font-weight: 600;
  color: var(--fw-text-3);
  margin-bottom: 4px;
  display: block;
}
.fw-cal-day-num--today {
  color: var(--fw-navy);
  background: var(--fw-gold);
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}
.fw-cal-event {
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  margin-bottom: 3px;
  border-radius: 4px;
  padding: 2px 4px;
  transition: background .12s;
  min-width: 0;
}
.fw-cal-event:hover { background: var(--fw-cream); }
.fw-cal-event__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fw-cal-event__title {
  font-size: 11px;
  font-weight: 600;
  color: var(--fw-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.fw-cal-event:hover .fw-cal-event__title { color: var(--fw-navy); }
@media (max-width: 640px) {
  .fw-cal-event__title { display: none; }
  .fw-cal-cell { min-height: 60px; padding: 4px; }
}

/* ═══════════════════════════════════════════════════════════
   TEC CALENDAR OVERRIDES (fw-tec-wrap)
════════════════════════════════════════════════════════════ */
.fw-tec-wrap { margin-top: 0; }
.fw-evt-topbar--cal { margin-bottom: 16px; }

/* Hide TEC's search bar and view tabs — we provide our own */
.fw-tec-wrap .tribe-events-c-search,
.fw-tec-wrap .tribe-common-c-btn-border,
.fw-tec-wrap .tribe-events-c-view-selector,
.fw-tec-wrap .tribe-events-header__view-selector { display: none !important; }

/* Keep the header but strip its default border/background */
.fw-tec-wrap .tribe-events-header { border: none !important; background: none !important; padding: 0 !important; margin-bottom: 0 !important; }
/* Month navigation (prev/next arrows + month label) — keep visible */
.fw-tec-wrap .tribe-events-header__nav { display: flex !important; }
.fw-tec-wrap .tribe-events-calendar-month__calendar-event-datetime { font-family: var(--fw-sans); }

/* TEC container padding reset */
.fw-tec-wrap .tribe-common,
.fw-tec-wrap .tribe-events { max-width: 100%; padding: 0; }

/* Month calendar grid */
.fw-tec-wrap .tribe-events-calendar-month__body { border-color: var(--fw-border); }
.fw-tec-wrap .tribe-events-calendar-month__calendar-event-title a { font-family: var(--fw-sans); font-size: 12px; }
.fw-tec-wrap .tribe-events-calendar-month__calendar-event-tooltip-title { font-family: var(--fw-display); }
.fw-tec-wrap .tribe-events-calendar-month__day-date { font-family: var(--fw-sans); color: var(--fw-text-2); }
.fw-tec-wrap .tribe-events-calendar-month__day-date--current { color: var(--fw-navy); font-weight: 700; }

/* TEC nav buttons (prev/next arrows + Today/This Month) */
.fw-tec-wrap .tribe-button-radius--round,
.fw-tec-wrap .tribe-common-c-btn-border {
  border-color: var(--fw-border) !important;
  color: var(--fw-navy) !important;
  font-family: var(--fw-sans) !important;
}
.fw-tec-wrap .tribe-common-c-btn-border:hover { border-color: var(--fw-gold) !important; background: var(--fw-gold-lt) !important; }

/* TEC list view event items */
.fw-tec-wrap .tribe-events-calendar-list__event-title-link { font-family: var(--fw-display); color: var(--fw-navy); }
.fw-tec-wrap .tribe-events-calendar-list__event-title-link:hover { color: var(--fw-gold-d); }
.fw-tec-wrap .tribe-events-calendar-list__event-datetime { font-family: var(--fw-sans); color: var(--fw-text-2); font-size: 14px; }
.fw-tec-wrap .tribe-events-calendar-list__event-venue { font-family: var(--fw-sans); font-size: 14px; color: var(--fw-text-2); }
.fw-tec-wrap .tribe-events-calendar-list__event-description { font-family: var(--fw-sans); color: var(--fw-text); }
.fw-tec-wrap .tribe-events-calendar-list__section-title { font-family: var(--fw-sans); color: var(--fw-text-3); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* Subscribe button */
.fw-tec-wrap .tribe-events-ical a { font-family: var(--fw-sans); color: var(--fw-text-2); font-size: 13px; }



/* Initiative featured card — BEM variant aliases used in shortcode */
.fw-init-feat-body    { flex: 1; min-width: 220px; }
.fw-init-feat-label   { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--fw-gold); margin-bottom: 14px; display: block; }
.fw-init-feat-sidebar { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: var(--fw-r); padding: 22px; min-width: 180px; }
.fw-init-feat-sidebar .sidebar-lbl { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fw-gold); margin-bottom: 14px; display: block; }
.fw-init-feat-sidebar ul { margin: 0; padding: 0; }
.fw-init-feat-sidebar li { font-size: 15px; font-weight: 400; color: rgba(255,255,255,.72); line-height: 2.0; list-style: none; margin: 0; }

/* Gutenberg block overrides — make wp:cover feel like fw-hero on full-width pages */
.wp-block-cover.alignfull,
.wp-block-cover-image.alignfull {
  font-family: var(--fw-sans);
}
.wp-block-cover.alignfull h1,
.wp-block-cover.alignfull h2 {
  font-family: var(--fw-display);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.05;
}
.wp-block-cover__inner-container { max-width: 780px; padding: 0 48px; }
@media (max-width: 640px) {
  .wp-block-cover__inner-container { padding: 0 24px; }
}

/* ═══════════════════════════════════════════════════════════
   NEWS & STORIES PAGE
════════════════════════════════════════════════════════════ */

/* Page container — single section, sections spaced vertically */
.fw-news-page { display: flex; flex-direction: column; gap: var(--sp-6); }
.fw-news-section { display: flex; flex-direction: column; }

/* Section eyebrow label (gold dash + uppercase) */
.fw-sec-label {
  font-family: var(--fw-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--fw-gold-d);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fw-sec-label::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: var(--fw-gold);
  flex-shrink: 0;
}

/* ── Featured lead story card ── */
.fw-story-lead {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  border-radius: var(--fw-r-lg);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--fw-border);
  text-decoration: none;
  color: var(--fw-text);
  transition: box-shadow .2s;
  margin-bottom: 16px;
}
.fw-story-lead:hover { box-shadow: 0 10px 32px rgba(51,56,88,.13); color: var(--fw-text); }
.fw-story-lead__img {
  min-height: 300px;
  background: linear-gradient(135deg, #2d3258 0%, #404870 100%);
  position: relative;
}
.fw-story-lead__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fw-story-lead__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(20,22,42,.35) 0%, transparent 70%); }
.fw-story-lead__img--no-thumb::before {
  content: attr(data-title);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 24px;
  font-family: var(--fw-display);
  font-size: 20px;
  color: rgba(255,255,255,.25);
  font-weight: 700;
  letter-spacing: -.02em;
  z-index: 0;
}
.fw-story-lead__type {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fw-gold);
  z-index: 1;
  font-family: var(--fw-sans);
}
.fw-story-lead__body {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.fw-story-lead__body h3 {
  font-size: clamp(19px, 1.8vw, 26px);
  font-weight: 700;
  color: var(--fw-text);
  line-height: 1.3;
  letter-spacing: -.02em;
  margin: 0;
}
.fw-story-lead__body p { font-size: 15px; color: var(--fw-text-2); line-height: 1.65; margin: 0; flex: 1; }
.fw-story-lead__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.fw-story-lead__author { font-size: 12px; color: var(--fw-text-3); }
.fw-story-lead__cta { font-size: 14px; font-weight: 700; color: var(--fw-navy); }
@media (max-width: 768px) {
  .fw-story-lead { grid-template-columns: 1fr; }
  .fw-story-lead__img { min-height: 220px; }
}

/* ── Story sharing callout ── */
.fw-news-callout {
  background: var(--fw-cream);
  border-radius: var(--fw-r-lg);
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
}
.fw-news-callout--navy {
  background: var(--fw-navy);
}
.fw-news-callout--navy .fw-news-callout__text { color: #fff; }
.fw-news-callout--navy .fw-news-callout__sub { color: rgba(255,255,255,.75); }
.fw-news-callout__text {
  font-family: var(--fw-display);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
  color: var(--fw-text);
  letter-spacing: -.02em;
  margin: 0;
}
.fw-news-callout__sub {
  font-size: 15px;
  color: var(--fw-text-2);
  line-height: 1.6;
  margin: 0;
}

/* ── Media Coverage — card rows ── */
.fw-media-list { display: flex; flex-direction: column; gap: 12px; }
.fw-media-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--fw-r-lg);
  border: 1px solid var(--fw-border);
  background: #fff;
  text-decoration: none;
  color: var(--fw-text);
  transition: border-color .15s, box-shadow .15s;
}
.fw-media-row:hover {
  border-color: var(--fw-gold);
  box-shadow: 0 4px 16px rgba(51,56,88,.07);
  color: var(--fw-text);
}
.fw-pub-badge {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #f0f0ef;
  color: var(--fw-text-2);
  font-family: var(--fw-sans);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: .04em;
  margin-top: 2px;
  border: 1px solid var(--fw-border-lt);
}
.fw-media-row__body { flex: 1; min-width: 0; }
.fw-media-row__meta {
  font-family: var(--fw-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--fw-text-3);
  margin-bottom: 6px;
}
.fw-media-row__title {
  font-family: var(--fw-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--fw-text);
  margin-bottom: 5px;
  line-height: 1.35;
}
.fw-media-row__excerpt { font-size: 14px; color: var(--fw-text-2); line-height: 1.6; margin: 0; }
.fw-media-ext-arrow {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 15px;
  color: var(--fw-text-3);
  font-weight: 400;
  line-height: 1;
}

/* ── Press Statements ── */
.fw-press-list { display: flex; flex-direction: column; gap: 16px; }
.fw-press-card {
  display: block;
  background: #fff;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r-lg);
  padding: var(--sp-4) var(--sp-5);
  text-decoration: none;
  transition: box-shadow .18s ease, border-color .18s ease;
  cursor: pointer;
}
.fw-press-card:hover {
  border-color: var(--fw-navy);
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.fw-press-card:hover .fw-press-card__title { color: var(--fw-navy); }
.fw-press-card:hover .fw-press-card__read { color: var(--fw-navy); }
.fw-press-card__label {
  font-family: var(--fw-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fw-text-3);
  margin-bottom: var(--sp-2);
}
.fw-press-card__title {
  font-family: var(--fw-display);
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 700;
  color: var(--fw-text);
  margin-bottom: var(--sp-2);
  letter-spacing: -.015em;
  line-height: 1.3;
  transition: color .15s;
}
.fw-press-card__excerpt { font-size: 15px; color: var(--fw-text-2); line-height: 1.65; margin-bottom: var(--sp-2); }
.fw-press-card__read {
  font-size: 14px;
  font-weight: 700;
  color: var(--fw-text-3);
  display: block;
  transition: color .15s;
}

/* ── Media Inquiry box ── */
.fw-media-inquiry {
  background: var(--fw-cream);
  border-radius: var(--fw-r-lg);
  padding: 36px 40px;
}
.fw-media-inquiry--accented {
  border-left: 4px solid var(--fw-gold);
  padding-left: 36px;
}
.fw-media-inquiry__label {
  font-family: var(--fw-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--fw-text);
  margin-bottom: 8px;
  letter-spacing: -.015em;
}
.fw-media-inquiry__sub { font-size: 15px; color: var(--fw-text-2); line-height: 1.6; margin-bottom: 20px; }

/* Responsive */
@media (max-width: 640px) {
  .fw-news-page { gap: var(--sp-5); }
  .fw-news-callout { padding: 24px; }
  .fw-news-callout--navy { padding: 28px 24px; }
  .fw-press-card { padding: var(--sp-3) var(--sp-4); }
  .fw-media-inquiry { padding: 28px 24px; }
  .fw-media-inquiry--accented { padding-left: 20px; }
}

/* ═══════════════════════════════════════════════════════════
   STORY DETAIL PAGE  (single.php)
════════════════════════════════════════════════════════════ */

/* ── Hero ── */
/* ── Story Hero ───────────────────────────────────────────── */
.fw-story-hero {
  background: var(--fw-navy);
  padding-left: 48px;
  padding-right: 48px;
  position: relative;
}
.fw-story-hero__inner {
  max-width: var(--fw-max-w);
  margin: 0 auto;
}
.fw-story-hero__content {
  padding: 40px 0 52px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 860px;
}

/* Back link inside hero */
.fw-story-hero__back {
  font-family: var(--fw-sans);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color .15s;
}
.fw-story-hero__back:hover { color: rgba(255,255,255,.9); }

/* Type pill + date row */
.fw-story-hero__meta-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.fw-story-htag--pill {
  font-family: var(--fw-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 5px 16px;
  border-radius: 100px;
  background: var(--fw-gold);
  color: #fff;
  display: inline-block;
}
.fw-story-hero__date-inline {
  font-family: var(--fw-sans);
  font-size: 15px;
  color: rgba(255,255,255,.65);
}

/* Headline */
.fw-story-hero__h1 {
  font-family: var(--fw-display);
  font-size: clamp(28px, 4vw, 56px);
  font-weight: 800;
  font-style: normal;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0;
}

/* Gold divider line */
.fw-story-hero__gold-line {
  height: 3px;
  background: var(--fw-gold);
  width: 100%;
}

/* ── Story Meta Bar ────────────────────────────────────────── */
.fw-story-meta-bar {
  background: #fff;
  border-bottom: 1px solid var(--fw-border);
  padding: 0 48px;
}
.fw-story-meta-bar__inner {
  max-width: var(--fw-max-w);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  flex-wrap: wrap;
}
.fw-story-meta-bar__left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.fw-story-meta-bar__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--fw-navy);
  color: #fff;
  font-family: var(--fw-sans);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.fw-story-meta-bar__info { display: flex; flex-direction: column; gap: 2px; }
.fw-story-meta-bar__org {
  font-family: var(--fw-sans);
  font-size: 14px;
  font-weight: 700;
  color: var(--fw-text);
}
.fw-story-meta-bar__sub {
  font-family: var(--fw-sans);
  font-size: 13px;
  color: var(--fw-text-3);
}
.fw-story-meta-bar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.fw-story-meta-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fw-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--fw-text);
  background: #fff;
  border: 1px solid var(--fw-border);
  border-radius: 100px;
  padding: 7px 16px;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  transition: border-color .15s, background .15s, color .15s;
  -webkit-appearance: none;
  appearance: none;
}
.fw-story-meta-bar__btn:hover,
.fw-story-meta-bar__btn:focus-visible {
  border-color: var(--fw-navy);
  background: var(--fw-cream);
  color: var(--fw-navy);
}
.fw-story-meta-bar__btn:active {
  background: var(--fw-border);
  border-color: var(--fw-navy);
  color: var(--fw-navy);
}
.fw-story-meta-bar__confirm {
  font-size: 13px;
  color: var(--fw-gold);
  font-weight: 600;
}

/* ── Origin callout — "Originally published in [Publication]" ── */
/* Lives inside .fw-story-body after the featured image,          */
/* styled to match the .fw-dl-bar pattern used in resources.      */
.fw-origin-callout {
  display:       flex;
  align-items:   center;
  gap:           16px;
  background:    var(--fw-gold-lt);
  border:        1.5px solid rgba(204,153,102,.4);
  border-radius: var(--fw-r, 10px);
  padding:       16px 20px;
  margin:        0 0 28px;
  flex-wrap:     wrap;
}
.fw-origin-callout__body {
  display:     flex;
  align-items: center;
  gap:         10px;
  flex:        1;
  min-width:   0;
}
.fw-origin-callout__body svg {
  flex-shrink: 0;
  color:       var(--fw-gold-d);
  opacity:     .8;
}
.fw-origin-callout__body p {
  font-size:   15px;
  font-weight: 500;
  color:       var(--fw-gold-d);
  margin:      0;
  line-height: 1.4;
}
.fw-origin-callout__body strong {
  font-weight: 700;
  color:       var(--fw-navy);
}
/* In resource detail, add top spacing (no featured image above it) */
.fw-detail .fw-origin-callout { margin-top: 20px; }
/* When PDF bar + origin callout appear back-to-back, reduce the gap */
.fw-detail .fw-origin-callout + .fw-origin-callout { margin-top: 10px; }

@media (max-width: 600px) {
  .fw-origin-callout { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ── Article body container ── */
.fw-story-body {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 48px;
  width: 100%;
  box-sizing: border-box;
}
.fw-story-body .fw-back-link { display: inline-block; margin: 40px 0 32px; }

/* Full-width story photo */
.fw-story-photo {
  border-radius: var(--fw-r-lg);
  overflow: hidden;
  margin-bottom: 36px;
}
.fw-story-photo img {
  display: block;
  width: 100%;
  height: auto;
}

/* Lede blockquote */
.fw-story-lede {
  border-left: 3px solid var(--fw-gold);
  padding: 4px 0 4px 24px;
  margin: 0 0 36px;
}
.fw-story-lede p {
  font-family: var(--fw-display);
  font-size: 17px;
  font-style: italic;
  color: var(--fw-text-2);
  line-height: 1.7;
  margin: 0;
}

/* Article content */
.fw-story-content { padding-bottom: 56px; }

/* ── Story body patterns ────────────────────────────────────────── */

/* Drop cap */
.fw-dropcap::first-letter {
  font-family: var(--fw-display);
  font-size: 4.4em;
  font-weight: 800;
  line-height: .78;
  float: left;
  margin: .06em .12em 0 0;
  color: var(--fw-navy);
}

/* Centered pull quote */
.fw-story-pull-quote {
  margin: 36px 0;
  text-align: center;
  padding: 28px 24px;
  border-top: 2px solid var(--fw-gold);
  border-bottom: 2px solid var(--fw-gold);
}
.fw-story-pull-quote__text {
  font-family: var(--fw-serif) !important;
  font-size: clamp(18px, 2.2vw, 22px) !important;
  font-style: italic;
  color: var(--fw-text) !important;
  line-height: 1.6 !important;
  margin: 0 0 8px !important;
}
.fw-story-pull-quote__attr {
  font-size: 13px !important;
  color: var(--fw-text-3) !important;
  letter-spacing: .04em;
  margin: 0 !important;
}

/* Sidebar pull quote */
.fw-story-sidebar-layout { gap: 28px; margin: 28px 0; align-items: flex-start; }
.fw-story-sidebar-quote {
  background: var(--fw-cream);
  border-left: 3px solid var(--fw-gold);
  border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0;
  padding: 20px 18px;
}
.fw-story-sidebar-quote__text {
  font-family: var(--fw-serif) !important;
  font-size: 16px !important;
  font-style: italic;
  color: var(--fw-text) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Scripture mid-article */
.fw-story-scripture-block {
  margin: 32px 0;
  padding: 24px 28px;
  background: rgba(51,56,88,.04);
  border-left: 3px solid var(--fw-gold);
  border-radius: 0 var(--fw-r-sm) var(--fw-r-sm) 0;
}
.fw-story-scripture-block__verse {
  font-family: var(--fw-serif) !important;
  font-size: 17px !important;
  font-style: italic;
  color: var(--fw-text) !important;
  line-height: 1.75 !important;
  margin: 0 0 10px !important;
}
.fw-story-scripture-block__ref {
  font-size: 13px !important;
  font-weight: 600;
  color: var(--fw-gold) !important;
  letter-spacing: .05em;
  margin: 0 !important;
}

/* Person spotlight */
.fw-story-person {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin: 32px 0;
  padding: 24px;
  background: var(--fw-cream);
  border-radius: var(--fw-r-lg);
}
.fw-story-person__img {
  flex: 0 0 80px;
  width: 80px !important;
  height: 80px;
  margin: 0 !important;
}
.fw-story-person__img img,
.fw-story-person__img figure {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50%;
  object-fit: cover;
  background: var(--fw-border);
}
.fw-story-person__info { flex: 1; min-width: 0; }
.fw-story-person__name {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--fw-text) !important;
  margin: 0 0 2px !important;
}
.fw-story-person__role {
  font-size: 13px !important;
  color: var(--fw-text-3) !important;
  margin: 0 0 10px !important;
}
.fw-story-person__quote {
  font-family: var(--fw-serif) !important;
  font-style: italic;
  font-size: 15px !important;
  color: var(--fw-text-2) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* Stats row */
.fw-story-stats-row {
  display: flex !important;
  gap: 0;
  margin: 36px 0;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r-lg);
  overflow: hidden;
}
.fw-story-stat {
  flex: 1;
  text-align: center;
  padding: 24px 16px;
  border-right: 1px solid var(--fw-border);
}
.fw-story-stat:last-child { border-right: none; }
.fw-story-stat__num {
  font-family: var(--fw-display) !important;
  font-size: clamp(26px, 3.5vw, 36px) !important;
  font-weight: 800 !important;
  color: var(--fw-navy) !important;
  line-height: 1 !important;
  margin: 0 0 6px !important;
}
.fw-story-stat__label {
  font-size: 12px !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fw-text-3) !important;
  margin: 0 !important;
}

/* Interview Q&A */
.fw-story-qa-block { margin: 28px 0; }
.fw-story-qa-item {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--fw-border-lt);
}
.fw-story-qa-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.fw-story-qa__q {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--fw-navy) !important;
  margin: 0 0 8px !important;
}
.fw-story-qa__q::before { content: 'Q: '; }
.fw-story-qa__a {
  font-size: 16px !important;
  color: var(--fw-text-2) !important;
  line-height: 1.8 !important;
  padding-left: 20px;
  border-left: 2px solid var(--fw-border);
  margin: 0 !important;
}

/* Section break divider */
.fw-story-divider { border-top: 2px solid var(--fw-border) !important; margin: 40px 0 28px !important; }

/* Closing reflection box */
.fw-story-reflection {
  margin: 36px 0;
  padding: 28px 32px;
  background: linear-gradient(135deg, rgba(51,56,88,.05) 0%, rgba(51,56,88,.02) 100%);
  border: 1px solid var(--fw-border);
  border-left: 4px solid var(--fw-navy);
  border-radius: 0 var(--fw-r-lg) var(--fw-r-lg) 0;
}
.fw-story-reflection__label {
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fw-navy) !important;
  margin: 0 0 10px !important;
}
.fw-story-reflection__question {
  font-family: var(--fw-serif) !important;
  font-size: 18px !important;
  font-style: italic;
  color: var(--fw-text) !important;
  line-height: 1.65 !important;
  margin: 0 0 16px !important;
}
.fw-story-reflection__action { margin: 0 !important; }
.fw-story-reflection__action a {
  font-weight: 600;
  font-size: 14px;
  color: var(--fw-navy);
  text-decoration: none;
}
.fw-story-reflection__action a:hover { text-decoration: underline; }

/* Photo + caption */
.fw-story-photo-break { margin: 32px 0; }
.fw-story-photo-break .wp-block-image { margin: 0 0 10px !important; }
.fw-story-photo-break .wp-block-image img { border-radius: var(--fw-r-md); width: 100%; }
.fw-story-photo-caption {
  font-size: 13px !important;
  color: var(--fw-text-3) !important;
  font-style: italic;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding-left: 4px;
  border-left: 2px solid var(--fw-border);
}

/* Two-column body text */
.fw-story-two-col { gap: 28px !important; margin: 8px 0 20px !important; }
.fw-story-two-col p { font-size: 16px !important; }

/* Context / scene-setter band */
.fw-story-context-band {
  margin: 28px 0;
  padding: 18px 20px;
  background: var(--fw-cream);
  border-radius: var(--fw-r-md);
}
.fw-story-context-band__loc {
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--fw-gold) !important;
  margin: 0 0 6px !important;
}
.fw-story-context-band__line {
  font-size: 15px !important;
  color: var(--fw-text-2) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Story inline gallery */
.fw-story-gallery { border-radius: var(--fw-r-md); overflow: hidden; margin: 28px 0 !important; }

/* ── New patterns: Testimonial Grid ── */
.fw-testimonial-grid { gap: 20px !important; }
.fw-testimonial-card { border: 1.5px solid var(--fw-border); border-radius: 14px; padding: 28px 24px; height: 100%; display: flex; flex-direction: column; gap: 12px; }
.fw-testimonial-card__quote { font-family: var(--fw-serif); font-style: italic; font-size: 16px; line-height: 1.6; color: var(--fw-navy); flex: 1; margin: 0; }
.fw-testimonial-card__name { font-weight: 700; font-size: 14px; color: var(--fw-navy); margin: 0; }
.fw-testimonial-card__role { font-size: 13px; color: var(--fw-text-3); margin: 0; }

/* ── New patterns: FAQ Accordion ── */
.fw-faq-item { border: 1.5px solid var(--fw-border); border-radius: 10px; padding: 16px 20px; margin-bottom: 8px; background: #fff; }
.fw-faq-item summary { font-weight: 600; font-size: 15px; color: var(--fw-navy); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.fw-faq-item summary::after { content: '+'; font-size: 20px; color: var(--fw-gold); font-weight: 300; flex-shrink: 0; }
.fw-faq-item[open] summary::after { content: '−'; }
.fw-faq-item p { margin-top: 12px; font-size: 15px; color: var(--fw-text-2); line-height: 1.65; }

/* ── New patterns: Engagement Tiers ── */
.fw-engagement-tiers { gap: 20px !important; }
.fw-tier-card { border: 1.5px solid var(--fw-border); border-radius: 14px; padding: 28px 24px; height: 100%; display: flex; flex-direction: column; gap: 10px; }
.fw-tier-card__num { font-size: 12px; font-weight: 800; letter-spacing: .08em; color: var(--fw-gold); font-family: var(--fw-sans); margin: 0; }
.fw-tier-card__title { font-size: 18px; font-weight: 700; color: var(--fw-navy); margin: 0; }
.fw-tier-card__body { font-size: 14px; color: var(--fw-text-2); line-height: 1.65; margin: 0; flex: 1; }
.fw-tier-card__link a { font-size: 14px; font-weight: 600; color: var(--fw-gold); text-decoration: none; }
.fw-tier-card__link a:hover { text-decoration: underline; }

/* ── New patterns: Video Section ── */
.fw-video-embed { border-radius: 12px; overflow: hidden; margin-top: 24px !important; }
.fw-video-embed .wp-block-embed__wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.fw-video-embed .wp-block-embed__wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* ── New patterns: Profile Cards ── */
.fw-profile-grid { gap: 20px !important; }
.fw-profile-card { border: 1.5px solid var(--fw-border); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.fw-profile-card__img { width: 100%; aspect-ratio: 4/3; overflow: hidden; margin: 0 !important; }
.fw-profile-card__img img { width: 100%; height: 100%; object-fit: cover; }
.fw-profile-card__name { font-size: 15px; font-weight: 700; color: var(--fw-navy); margin: 16px 20px 2px; }
.fw-profile-card__role { font-size: 12px; color: var(--fw-gold); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; margin: 0 20px 8px; }
.fw-profile-card__story { font-size: 13px; color: var(--fw-text-2); line-height: 1.6; margin: 0 20px 8px; flex: 1; }
.fw-profile-card__link { margin: 0 20px 20px; }
.fw-profile-card__link a { font-size: 13px; font-weight: 600; color: var(--fw-gold); text-decoration: none; }
.fw-profile-card__link a:hover { text-decoration: underline; }

/* ── New patterns: Press Logos ── */
.fw-press-logos { text-align: center; }
.fw-press-logos__row { align-items: center !important; justify-items: center; gap: 24px !important; }
.fw-press-logo { margin: 0 !important; }
.fw-press-logo img { max-height: 36px; width: auto; object-fit: contain; opacity: .55; filter: grayscale(100%); transition: opacity .2s, filter .2s; }
.fw-press-logo img:hover { opacity: .8; filter: grayscale(0%); }

/* ── New patterns: Featured Story Callout ── */
.fw-featured-story-card { border: 1.5px solid var(--fw-border); border-radius: 16px; overflow: hidden; }
.fw-featured-story-card__inner { gap: 0 !important; }
.fw-featured-story-card__img { margin: 0 !important; height: 100%; }
.fw-featured-story-card__img img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.fw-featured-story-card__content { padding: 36px 32px; display: flex; flex-direction: column; justify-content: center; }
.fw-featured-story-card__cat { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fw-gold); margin: 0 0 10px; }
.fw-featured-story-card__title { font-size: clamp(18px,2.2vw,26px); font-weight: 800; color: var(--fw-navy); line-height: 1.25; margin: 0 0 14px; }
.fw-featured-story-card__excerpt { font-size: 15px; color: var(--fw-text-2); line-height: 1.65; margin: 0 0 16px; }
.fw-featured-story-card__meta { font-size: 12px; color: var(--fw-text-3); margin: 0 0 14px; }
.fw-featured-story-card__link a { font-size: 14px; font-weight: 700; color: var(--fw-navy); text-decoration: none; }
.fw-featured-story-card__link a:hover { color: var(--fw-gold); }

/* ── Related resources ── */
.fw-story-related {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 48px;
  width: 100%;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
}
.fw-story-related__label {
  font-family: var(--fw-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--fw-text-3);
  margin-bottom: 18px;
}
.fw-story-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}
.fw-story-res-card {
  background: #fff;
  border: 1px solid var(--fw-border);
  border-top: 3px solid var(--fw-navy);
  border-radius: var(--fw-r);
  padding: 20px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow .15s, transform .15s;
}
.fw-story-res-card:hover { box-shadow: 0 6px 20px rgba(51,56,88,.1); transform: translateY(-2px); }
.fw-story-res-card__type {
  font-family: var(--fw-sans);
  font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--fw-text-3);
}
.fw-story-res-card__title {
  font-family: var(--fw-display);
  font-size: 16px; font-weight: 700;
  color: var(--fw-text); line-height: 1.35;
  flex: 1;
}
.fw-story-res-card__desc { font-size: 13px; color: var(--fw-text-2); line-height: 1.6; }
.fw-story-res-card__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.fw-story-res-card__time { font-size: 12px; color: var(--fw-text-3); font-family: var(--fw-sans); }
.fw-story-res-card__cta  { font-size: 13px; font-weight: 700; color: var(--fw-navy); }

/* ── Share bar ── */
.fw-story-share-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 0 0;
  border-top: 1px solid var(--fw-border-lt);
  margin-top: 40px;
}
.fw-story-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--fw-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--fw-navy) !important;
  background: #fff !important;
  border: 1.5px solid var(--fw-border) !important;
  border-radius: 24px;
  padding: 9px 18px;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
  box-shadow: none !important;
  text-transform: none;
  letter-spacing: 0;
}
.fw-story-share-btn:hover {
  border-color: var(--fw-navy) !important;
  background: var(--fw-cream) !important;
  color: var(--fw-navy) !important;
}
.fw-story-share-btn:active {
  background: var(--fw-navy) !important;
  border-color: var(--fw-navy) !important;
  color: #fff !important;
}
.fw-story-share-btn svg { stroke: currentColor; }
.fw-story-share-confirm {
  font-family: var(--fw-sans);
  font-size: 13px;
  color: var(--fw-gold-d);
  font-weight: 600;
  opacity: 0;
  transition: opacity .3s;
}
.fw-story-share-confirm.visible { opacity: 1; }

/* ── Story sharing callout ── */
.fw-story-share-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  background: var(--fw-cream);
  border: 2px solid var(--fw-gold);
  border-radius: var(--fw-r-lg);
  padding: 32px 36px;
  max-width: 720px;
  margin: 0 auto;
}
.fw-story-share-callout--media { border-color: var(--fw-border); }
.fw-story-article-section { padding-top: 32px !important; padding-bottom: 28px !important; }
.fw-story-callout-section { padding-top: 0 !important; padding-bottom: 52px !important; }
.fw-story-share-callout__heading {
  font-family: var(--fw-display);
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 700;
  color: var(--fw-text);
  margin-bottom: 6px;
  letter-spacing: -.01em;
}
.fw-story-share-callout__sub { font-size: 14px; color: var(--fw-text-2); line-height: 1.6; margin: 0; }

/* Responsive */
@media (max-width: 900px) {
  .fw-story-hero__inner { grid-template-columns: 1fr; }
  .fw-story-hero__img { display: none; }
  .fw-story-hero__content { padding: 48px 28px; }
}
@media (max-width: 640px) {
  .fw-story-hero { padding-left: 20px; padding-right: 20px; }
  .fw-story-hero__content { padding: 32px 0 40px; }
  .fw-story-hero__h1 { font-size: clamp(24px, 7vw, 36px); }
  .fw-story-meta-bar { padding: 0 20px; }
  .fw-story-meta-bar__inner { flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 10px; justify-content: space-between; }
  .fw-story-meta-bar__left { min-width: 0; }
  .fw-story-meta-bar__org { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .fw-story-meta-bar__actions { flex-shrink: 0; }
  .fw-story-body, .fw-story-related { padding: 0 20px; }
  .fw-story-share-callout { padding: 24px; flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════
   JOIN PAGE
════════════════════════════════════════════════════════════ */
.fw-join-page {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
}

/* ── Section card ── */
.fw-join-section {
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r-lg);
  padding: var(--sp-5) var(--sp-5);
  position: relative;
  border-left-width: 5px;
}
.fw-join-section--navy  { background: #f2f4f9; border-left-color: var(--fw-navy); }
.fw-join-section--gold  { background: #fdf8f0; border-left-color: var(--fw-gold); }
.fw-join-section--coral { background: #fdf3f0; border-left-color: var(--fw-coral, #c0614a); }

/* ── Section header: number + title block ── */
.fw-join-section__header {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 28px;
}
.fw-join-num {
  font-family: var(--fw-sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: .04em;
  margin-top: 4px;
}
.fw-join-num--navy  { background: var(--fw-navy); color: #fff; }
.fw-join-num--gold  { background: var(--fw-gold); color: var(--fw-navy); }
.fw-join-num--coral { background: var(--fw-coral, #c0614a); color: #fff; }
.fw-join-section__title {
  font-family: var(--fw-display);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800;
  color: var(--fw-text);
  margin: 0 0 8px;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.fw-join-section__desc {
  font-size: 15px;
  color: var(--fw-text-2);
  line-height: 1.65;
  margin: 0;
}

/* ── Sub-label (e.g. "HOW TO ADVOCATE") ── */
.fw-join-sublabel {
  margin-bottom: 24px;
}

/* ── Action items grid ── */
.fw-join-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}
.fw-join-items .fw-join-item:only-child { grid-column: 1 / -1; }

/* ── Single action item ── */
.fw-join-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  background: var(--fw-cream);
  border-radius: var(--fw-r);
  border: 1px solid var(--fw-border-lt);
}

/* ── Icon badge ── */
.fw-join-item__icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
}
.fw-join-item__icon--navy  { background: var(--fw-navy); }
.fw-join-item__icon--gold  { background: var(--fw-gold); }
.fw-join-item__icon--coral { background: var(--fw-coral); }
.fw-join-item__icon--cream { background: var(--fw-gold-lt); color: var(--fw-gold-d); }

.fw-join-item__body { flex: 1; }

.fw-join-item__title {
  font-family: var(--fw-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--fw-text);
  margin: 0 0 6px;
  line-height: 1.3;
}
.fw-join-item__desc {
  font-size: 14px;
  color: var(--fw-text-2);
  line-height: 1.6;
  margin: 0 0 14px;
}
.fw-join-item__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
/* Force consistent small-button sizing regardless of cascade order */
.fw-join-item .fw-btn,
.fw-join-item a.fw-btn {
  font-size: 13px !important;
  padding: 9px 20px !important;
}

/* ── Bottom CTA block ── */
.fw-join-cta {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  padding: 72px 40px;
}
.fw-join-cta__heading {
  font-family: var(--fw-display);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: #fff;
  margin: 12px 0 16px;
  letter-spacing: -.02em;
}
.fw-join-cta__sub {
  font-size: 16px;
  color: rgba(255,255,255,.75);
  line-height: 1.65;
  margin: 0 0 32px;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .fw-join-section { padding: 32px 28px; }
  .fw-join-items   { grid-template-columns: 1fr; }
  .fw-join-items--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .fw-join-section__header { flex-direction: column; gap: 12px; }
  .fw-join-cta  { padding: 56px 24px; }
  .fw-join-items--4 { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   SUPPORT PAGE
════════════════════════════════════════════════════════════ */

/* ── Section tints ── */
/* Support sections now use fw-join-section classes — no separate tint rules needed */

/* ── Content layout ── */
.fw-support-page {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  padding: var(--sp-3) 0;
}

/* ── Section group ── */
.fw-support-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.fw-support-section .fw-sec-label {
  margin-bottom: 4px;
}

/* Support sections share fw-join-section heading styles — no separate rules needed */

/* ── Disclaimer box ── */
.fw-support-disclaimer {
  background: var(--fw-gold-lt);
  border-left: 4px solid var(--fw-gold);
  border-radius: var(--fw-r);
  padding: 20px 24px;
  font-size: 15px;
  color: var(--fw-gold-d);
  line-height: 1.65;
}

/* ── Resource card ── */
.fw-support-card {
  background: #fff;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-r-lg);
  padding: var(--sp-4) var(--sp-5);
}
.fw-support-card__title {
  font-family: var(--fw-display);
  font-size: 19px;
  font-weight: 700;
  color: var(--fw-text);
  margin: 0 0 var(--sp-2);
  letter-spacing: -.01em;
}
.fw-support-card__desc {
  font-size: 15px;
  color: var(--fw-text-2);
  line-height: 1.65;
  margin: 0 0 var(--sp-3);
}
.fw-support-card__links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Force consistent button sizing inside support cards */
.fw-support-card .fw-btn {
  font-size: 13px !important;
  padding: 9px 20px !important;
}

/* ── Bottom CTA ── */
.fw-support-bottom {
  max-width: 640px;
  margin: 0 auto;
  padding: 64px 40px;
  text-align: center;
}
.fw-support-bottom__heading {
  font-family: var(--fw-display);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  color: var(--fw-text);
  margin: 12px 0 14px;
  letter-spacing: -.02em;
}
.fw-support-bottom__sub {
  font-size: 15px;
  color: var(--fw-text-2);
  line-height: 1.65;
  margin: 0 0 28px;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .fw-support-card   { padding: var(--sp-3) var(--sp-4); }
  .fw-support-bottom { padding: 48px 20px; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE DRAWER NAV
════════════════════════════════════════════════════════════ */

/* Panel background — override Kadence's #090c10 */
.popup-drawer .drawer-inner {
  background: var(--fw-navy-d) !important;
  color: #fff !important;
}

/* Header row (close button area) */
.popup-drawer .drawer-header {
  padding: 0 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  min-height: 60px;
  align-items: center;
}

/* Close (×) button */
.popup-drawer .drawer-header .drawer-toggle {
  color: rgba(255,255,255,.6) !important;
  font-size: 20px;
  transition: color .15s;
}
.popup-drawer .drawer-header .drawer-toggle:hover {
  color: #fff !important;
}

/* Nav content padding */
.popup-drawer .drawer-content {
  padding: 8px 0 32px;
}

/* Each nav link */
.popup-drawer .mobile-navigation a {
  font-family: var(--fw-sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.7) !important;
  padding: 14px 24px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  letter-spacing: .01em;
  transition: color .15s, background .15s;
}
.popup-drawer .mobile-navigation a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.04);
}

/* Current/active page */
.popup-drawer .mobile-navigation .current-menu-item > a,
.popup-drawer .mobile-navigation .current-page-ancestor > a {
  color: #fff !important;
  border-left: 3px solid var(--fw-gold) !important;
  padding-left: 21px !important;
}

/* Top-level list — no extra padding */
.popup-drawer .mobile-navigation > ul {
  padding: 0 !important;
}

/* Sub-menus */
.popup-drawer .mobile-navigation ul ul a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.5) !important;
  padding-left: 36px !important;
}
.popup-drawer .mobile-navigation ul ul a:hover {
  color: rgba(255,255,255,.85) !important;
}

/* Injected Join Us CTA — hidden in desktop nav, visible only in mobile popup */
li.fw-mobile-nav-cta { display: none !important; }
.popup-drawer li.fw-mobile-nav-cta { display: block !important; }
.popup-drawer li.fw-mobile-nav-cta a {
  display: block !important;
  margin: 36px 24px 36px !important;
  padding: 14px 24px !important;
  box-sizing: border-box !important;
  width: calc(100% - 48px) !important;
  background: var(--fw-gold) !important;
  color: var(--fw-navy-d) !important;
  border-radius: 100px !important;
  border: none !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
}
.popup-drawer li.fw-mobile-nav-cta a:hover {
  background: var(--fw-gold-d) !important;
  color: #fff !important;
}

/* "Join Us" CTA link in mobile nav — make it a gold button */
.popup-drawer .mobile-navigation .fw-nav-cta a,
.popup-drawer .mobile-navigation a.fw-nav-cta {
  margin: 36px 24px 36px !important;
  padding: 12px 24px !important;
  box-sizing: border-box !important;
  width: calc(100% - 48px) !important;
  background: var(--fw-gold) !important;
  color: var(--fw-navy-d) !important;
  border-radius: 100px !important;
  border: none !important;
  font-weight: 700 !important;
  text-align: center !important;
  display: block !important;
}
.popup-drawer .mobile-navigation .fw-nav-cta a:hover,
.popup-drawer .mobile-navigation a.fw-nav-cta:hover {
  background: var(--fw-gold-d) !important;
  color: #fff !important;
}

/* ── Pagination ─────────────────────────────────────────────── */
.fw-pagination {
  margin: 40px 0 40px;
  display: flex;
  justify-content: center;
}
.fw-pagination__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.fw-pagination__item a,
.fw-pagination__item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: var(--fw-navy);
  background: transparent;
  border: 1px solid var(--fw-border, #d8d8d8);
  text-decoration: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.fw-pagination__item a:focus-visible {
  outline: 2px solid var(--fw-gold);
  outline-offset: 2px;
}
.fw-pagination__item a:hover {
  background: var(--fw-cream, #f5f1eb);
  border-color: var(--fw-navy);
  color: var(--fw-navy);
}
.fw-pagination__item--active span,
.fw-pagination__item--active a {
  background: var(--fw-navy);
  color: #fff;
  border-color: var(--fw-navy);
  pointer-events: none;
}
.fw-pagination__item .dots {
  border: none;
  background: transparent;
  color: var(--fw-text-2);
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════
   UX / UI IMPROVEMENTS — v2.1
   Rules here intentionally override earlier declarations
   where labelled "fix:".
════════════════════════════════════════════════════════════ */

/* ── Skip link — keyboard / screen-reader accessibility ──── */
.fw-skip-link {
  position: absolute;
  top: -120px;
  left: 0;
  z-index: 100000;
  background: var(--fw-navy);
  color: #fff;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--fw-sans);
  text-decoration: none;
  border-radius: 0 0 var(--fw-r) 0;
  transition: top .15s;
  white-space: nowrap;
}
.fw-skip-link:focus {
  top: 0;
  color: #fff;
  outline: 3px solid var(--fw-gold);
  outline-offset: 2px;
}

/* ── Back-to-top button ─────────────────────────────────── */
.fw-back-to-top {
  position: fixed;
  bottom: 28px;
  right: 24px;
  z-index: 600;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--fw-navy);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.28);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .25s, transform .25s, background .15s;
  pointer-events: none;
  font-size: 22px;
  line-height: 1;
  font-family: var(--fw-sans);
}
.fw-back-to-top.fw-btt--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.fw-back-to-top:hover  { background: var(--fw-gold); }
.fw-back-to-top:focus-visible {
  outline: 3px solid var(--fw-gold);
  outline-offset: 3px;
}
@media (max-width: 640px) {
  .fw-back-to-top { bottom: 16px; right: 16px; width: 40px; height: 40px; font-size: 18px; }
}

/* ── fix: footer nav link contrast (was #3a3c56 ≈ 1.2:1 on #0d0e1c) */
.site-footer a,
#colophon a {
  color: rgba(255,255,255,.52) !important;
  transition: color .15s;
}
.site-footer a:hover,
#colophon a:hover { color: rgba(255,255,255,.88) !important; }

/* ── Audience panels — visual differentiation per path ───── */
/* fix: all three panels were identical #f5f2ed with no distinction */
.fw-aud-panel--discern  { background: #f0ede8; border-left: 4px solid var(--fw-navy); }
.fw-aud-panel--act      { background: #f5f2ec; border-left: 4px solid var(--fw-gold); }
.fw-aud-panel--affected { background: #fdf0eb; border-left: 4px solid var(--fw-coral); }
/* Affected panel: warm coral tone for tag + CTA */
.fw-aud-panel--affected .fw-aud-tag,
.fw-aud-panel--affected .fw-aud-cta { color: var(--fw-coral) !important; }
/* Lift on hover instead of dimming */
.fw-aud-panel {
  transition: transform .18s ease, box-shadow .18s ease, filter .15s !important;
}
.fw-aud-panel:hover {
  filter: none !important;
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(0,0,0,.1);
}

/* ── fix: primary button hover lift ─────────────────────── */
.fw-btn--gold:hover,
.fw-btn--coral:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(0,0,0,.18);
}
/* fix: fw-btn--navy:hover was opacity-only due to .fw-sec override */
.fw-btn--navy {
  transition: background .18s, color .18s, transform .18s, box-shadow .18s, opacity .18s !important;
}
.fw-btn--navy:hover {
  background: var(--fw-navy-d) !important;
  opacity: 1 !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(0,0,0,.18);
}
/* fix: fw-btn--gold-lg:hover was opacity-only */
.fw-btn--gold-lg {
  transition: background .18s, opacity .18s, transform .18s, box-shadow .18s !important;
}
.fw-btn--gold-lg:hover {
  background: var(--fw-gold-d) !important;
  opacity: 1 !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(0,0,0,.2);
}

/* ── Testimonial card hover (was no state at all) ───────── */
.fw-tcard {
  transition: box-shadow .2s ease, transform .2s ease;
}
.fw-tcard:hover {
  box-shadow: 0 10px 36px rgba(51,56,88,.13);
  transform: translateY(-3px);
}

/* ── Accordion — smooth height animation ────────────────── */
/* fix: existing CSS used abrupt display:none → display:block  */
.fw-policy-content {
  display: block !important;
  max-height: 0;
  overflow: hidden;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition: max-height .35s ease, padding-bottom .25s ease;
}
.fw-policy-item.open .fw-policy-content {
  max-height: 900px;
  padding-bottom: 18px !important;
}

/* ── Subnav — horizontal scroll on mobile (no wrapping) ─── */
/* fix: subnav wrapped onto two lines below ~480px            */
.fw-res-subnav__inner,
.fw-page-subnav__inner {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fw-res-subnav__inner::-webkit-scrollbar,
.fw-page-subnav__inner::-webkit-scrollbar { display: none; }

/* ── Hero scroll cue — animated chevron (full hero only) ─── */
.fw-hero:not(.fw-hero--short)::after {
  content: '';
  position: absolute;
  bottom: 28px;
  left: 50%;
  width: 16px;
  height: 16px;
  border-right: 2px solid rgba(255,255,255,.45);
  border-bottom: 2px solid rgba(255,255,255,.45);
  transform: translateX(-50%) rotate(45deg);
  z-index: 3;
  animation: fw-scroll-cue 2.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes fw-scroll-cue {
  0%   { opacity: 0;   transform: translateX(-50%) rotate(45deg) translateY(-4px); }
  25%  { opacity: .65; }
  75%  { opacity: .65; }
  100% { opacity: 0;   transform: translateX(-50%) rotate(45deg) translateY(6px); }
}

/* ── Improved empty state — structured instead of plain <p> */
.fw-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 56px 24px !important;
  grid-column: 1 / -1;
  text-align: center;
  color: var(--fw-text-3);
  width: 100%;
}
.fw-empty-state__icon {
  font-size: 32px;
  line-height: 1;
  margin-bottom: 14px;
  opacity: .35;
}
.fw-empty-state__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--fw-text-2);
  margin: 0 0 6px;
  font-family: var(--fw-sans);
}
.fw-empty-state__sub {
  font-size: 14px;
  color: var(--fw-text-3);
  margin: 0;
}

/* ── Print styles — resource and article pages ───────────── */
@media print {
  .fw-help-strip,
  .fw-res-subnav,
  .fw-page-subnav,
  .fw-filter-bar,
  .fw-signup-band,
  .fw-footer,
  .fw-back-to-top,
  .fw-hero__actions,
  .site-header,
  #masthead,
  .fw-pagination,
  #primary-navigation { display: none !important; }

  body { font-size: 12pt; color: #000 !important; background: #fff !important; line-height: 1.6; }
  h1, h2, h3, h4 { color: #000 !important; page-break-after: avoid; }
  a { color: #000 !important; text-decoration: underline; }
  a[href^="http"]::after { content: ' (' attr(href) ')'; font-size: 9pt; color: #555; }
  .fw-hero { background: #1a1a2e !important; -webkit-print-color-adjust: exact; color-adjust: exact; }
  .fw-hero::before, .fw-hero::after { display: none !important; }
  .fw-hero h1, .fw-hero .entry-title { font-size: 22pt !important; }
  .fw-detail, .fw-res-single__body { padding: 0 !important; max-width: 100% !important; }
  .fw-dl-bar,
  .fw-detail .fw-origin-callout { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   RESOURCES PAGE — /resources/ (archive-fw_resource)
════════════════════════════════════════════════════════════ */

/* Fix 1 — reset <button> default styles in subnav */
.fw-res-subnav button.sna,
.fw-page-subnav button.sna {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-family: var(--fw-sans);
  margin-bottom: -1px;
}

/* Fix 3/8 — filter bar top margin (was inline style) */
.fw-res-filter-bar {
  margin-top: 36px;
}

/* Resource search bar (above filter bar) */
.fw-res-search-bar {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
input.fw-res-search {
  flex: 1;
  padding: 10px 20px;
  font-family: var(--fw-sans);
  font-size: 14px;
  color: var(--fw-text);
  background: #fff;
  border: 1.5px solid var(--fw-border);
  border-radius: var(--fw-r) !important;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none;
}
input.fw-res-search::placeholder { color: var(--fw-text-3); }
input.fw-res-search:focus {
  border-color: var(--fw-gold);
  box-shadow: 0 0 0 3px rgba(200,147,90,.15);
}
.fw-res-search-submit {
  background: var(--fw-navy);
  color: #fff;
  border: none;
  border-radius: var(--fw-r);
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--fw-sans);
  cursor: pointer;
  white-space: nowrap;
}
.fw-res-search-submit:hover { opacity: .88; }
[hidden] { display: none !important; }

/* Fix 5 — result count */
.fw-res-count {
  font-size: 13px;
  font-weight: 600;
  color: var(--fw-text-3);
  font-family: var(--fw-sans);
  margin: 10px 0 0;
  min-height: 1.4em;
}

/* Fix 6 — external link badge */
.fw-tag--ext {
  background: rgba(192, 90, 58, .1);
  color: var(--fw-coral, #c05a3a);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: 4px;
  font-family: var(--fw-sans);
  white-space: nowrap;
}

/* ── Mobile filter toggle — hidden on desktop (JS + CSS) ───── */
.fw-mobile-filter-toggle { display: none; }
.fw-mobile-filter-clear  { display: none; }

/* ─────────────────────────────────────────────────────────────
   MOBILE FILTER PANEL  (≤ 640 px)
   Pattern: freestanding toggle chip — no box when collapsed.
   Box only appears when panel is open (like Eventbrite / Meetup).
───────────────────────────────────────────────────────────── */
@media (max-width: 640px) {

  /* ── Collapsed state: no box, just the toggle chip ──────── */
  .fw-filter-bar {
    background:    transparent !important;
    border:        none !important;
    border-radius: 0 !important;
    padding:       0 !important;
    margin-bottom: 6px !important;
    overflow:      visible !important;
  }

  /* ── Toggle row: chip on left, optional clear link right ── */
  .fw-mobile-filter-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-bottom:   0;
  }

  /* ── The "Filters" toggle chip ─────────────────────────── */
  .fw-mobile-filter-toggle {
    display:         inline-flex !important;
    align-items:     center !important;
    gap:             6px !important;
    background:      #fff !important;
    border:          1.5px solid var(--fw-border, #dde1ed) !important;
    border-radius:   20px !important;
    padding:         7px 14px 7px 12px !important;
    font-size:       14px !important;
    font-weight:     600 !important;
    font-family:     var(--fw-sans) !important;
    color:           var(--fw-navy, #1a2744) !important;
    cursor:          pointer !important;
    box-shadow:      0 1px 3px rgba(0,0,0,.07) !important;
    text-transform:  none !important;
    letter-spacing:  0 !important;
    line-height:     1 !important;
    transition:      background .15s, border-color .15s, box-shadow .15s !important;
  }
  .fw-mobile-filter-toggle.has-active {
    background:   var(--fw-gold-lt, #fdf3e3) !important;
    border-color: var(--fw-gold, #c49a3c) !important;
    box-shadow:   0 1px 4px rgba(196,154,60,.2) !important;
  }

  /* Filter count dot — always visible (grey = 0, navy = active) */
  .fw-mobile-filter-toggle__count {
    display:         inline-flex !important;
    align-items:     center !important;
    justify-content: center !important;
    min-width:       20px !important;
    height:          20px !important;
    padding:         0 5px !important;
    background:      #bbb !important;  /* grey when 0 */
    color:           #fff !important;
    font-size:       11px !important;
    font-weight:     700 !important;
    border-radius:   10px !important;
    line-height:     1 !important;
    transition:      background .15s !important;
  }
  .fw-mobile-filter-toggle__count.is-active {
    background: var(--fw-navy, #333858) !important;  /* dark when filters on */
  }

  /* Chevron SVG rotates when open */
  .fw-mobile-filter-toggle__chevron {
    display:    inline-flex !important;
    transition: transform .22s ease !important;
    opacity:    0.55 !important;
  }
  .fw-filter-bar.is-open .fw-mobile-filter-toggle__chevron {
    transform: rotate(180deg) !important;
    opacity:   0.8 !important;
  }

  /* "Clear all" link — only shown when filters active */
  .fw-mobile-filter-clear {
    display:         inline-flex !important;
    align-items:     center !important;
    font-size:       13px !important;
    font-weight:     500 !important;
    color:           var(--fw-text-3, #888ea0) !important;
    text-decoration: underline !important;
    cursor:          pointer !important;
    background:      none !important;
    border:          none !important;
    padding:         0 !important;
    font-family:     var(--fw-sans) !important;
  }

  /* ── Open state: card appears below the toggle ──────────── */
  .fw-filter-bar.is-open {
    background:    var(--fw-cream, #f7f4ef) !important;
    border:        1px solid var(--fw-border-lt, #e8eaf2) !important;
    border-radius: 16px !important;
    padding:       10px 14px 14px !important;
    margin-bottom: 10px !important;
    box-shadow:    0 2px 12px rgba(0,0,0,.06) !important;
  }

  /* Space between the toggle row and first filter row */
  .fw-filter-bar.is-open .fw-mobile-filter-header {
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--fw-border-lt, #e8eaf2) !important;
  }

  /* ── Filter rows: hidden until open ─────────────────────── */
  .fw-filter-bar .fw-filter-row {
    display:                  none !important;
    flex-wrap:                nowrap !important;
    overflow-x:               auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width:          none !important;
    -ms-overflow-style:       none !important;
    padding-bottom:           2px !important;
    margin-bottom:            4px !important;
    gap:                      6px !important;
  }
  .fw-filter-bar .fw-filter-row::-webkit-scrollbar { display: none; }
  .fw-filter-bar.is-open .fw-filter-row { display: flex !important; }
  .fw-filter-bar.is-open .fw-filter-row:last-child { margin-bottom: 0 !important; }

  /* Shrink label column so chips have more room */
  .fw-filter-lbl {
    min-width:  60px !important;
    font-size:  10px !important;
    flex-shrink: 0 !important;
  }

  /* Right-edge fade to hint scrollability */
  .fw-filter-bar.is-open {
    position: relative;
  }
}

/* ═══════════════════════════════════════════════════════════
   INITIATIVES PAGE — /initiatives/ (archive-fw_initiative)
════════════════════════════════════════════════════════════ */

/* Issue 1/9 — button row (was inline style) */
.fw-init-feat__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}

/* Issue 2 — sidebar placeholder (no fw_sidebar_steps set) */
.fw-init-feat__sidebar--placeholder {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fw-init-feat__sidebar--placeholder p {
  font-size: 14px;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
  margin: 0;
}
.fw-init-feat__sidebar--placeholder .fw-init-text-cta {
  font-size: 13px;
  font-weight: 700;
  color: var(--fw-gold);
  text-decoration: none;
}
.fw-init-feat__sidebar--placeholder .fw-init-text-cta:hover {
  text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════
   MOVEMENTS PAGE — /movements/ (archive-fw_organizing_group)
════════════════════════════════════════════════════════════ */

/* ── Toolbar row (filters + count) ─────────────────────── */
.fw-mov-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0 20px;
}

/* fw-filter-bar--inline removed — all pages now use stacked fw-filter-bar rows */

/* ── Group count label ──────────────────────────────────── */
.fw-group-count {
  font-size: 13px;
  font-weight: 600;
  color: var(--fw-text-3);
  font-family: var(--fw-sans);
  white-space: nowrap;
  margin: 0;
}

/* ── Group cards — card footer row ─────────────────────── */
.fw-group-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--fw-border, #e8e8ee);
}

/* ── Show-on-map button ─────────────────────────────────── */
.fw-group-card__map-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--fw-sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--fw-navy);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background .15s, color .15s;
  letter-spacing: .02em;
}
.fw-group-card__map-btn:hover {
  background: var(--fw-cream, #f5f1eb);
  color: var(--fw-navy-d, #1a1c2e);
}
.fw-group-card__map-btn:focus-visible {
  outline: 2px solid var(--fw-gold);
  outline-offset: 2px;
}

/* ── View page CTA link (inside card foot) ──────────────── */
.fw-group-card__foot .fw-group-card__cta {
  font-family: var(--fw-sans);
  font-size: 13px;
  font-weight: 700;
  color: var(--fw-gold);
  text-decoration: none;
  transition: color .15s;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  margin-top: 0;
}
.fw-group-card__foot .fw-group-card__cta:hover { color: var(--fw-gold-d, #a0702e); }

/* ── Card — click/dblclick interaction ─────────────────── */
.fw-group-card {
  cursor: pointer;
  user-select: none;
}
.fw-group-card:focus-visible {
  outline: 2px solid var(--fw-gold);
  outline-offset: 3px;
}

/* ── Active card state (synced from map pin click) ──────── */
.fw-group-card--active {
  outline: 2px solid var(--fw-gold);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px rgba(200,147,90,.12);
}

/* ── Badge variants for established / emerging ──────────── */
.fw-group-card__badge--emerging {
  background: rgba(200,147,90,.15);
  color: var(--fw-gold-d, #8a5e25);
}

/* ── No-posts fallback notice ───────────────────────────── */
.fw-empty-notice {
  padding: 40px 24px;
  text-align: center;
  color: var(--fw-text-3);
  font-size: 15px;
  grid-column: 1 / -1;
}

/* ── Partner grid — 2-column on desktop ────────────────── */
.fw-partner-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 28px;
}
@media (max-width: 640px) {
  .fw-partner-grid { grid-template-columns: 1fr; }
}

/* ── Join / CTA section ─────────────────────────────────── */
.fw-mov-join-cta {
  background: var(--fw-navy);
  color: #fff;
  padding: 72px 24px;
}
.fw-mov-join-cta__inner {
  max-width: 1120px;
  margin: 0 auto;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.fw-mov-join-cta__text { flex: 1 1 300px; min-width: 0; }
.fw-mov-join-cta__text .fw-hero-eyebrow { color: var(--fw-gold); }
.fw-mov-join-cta__text h2 {
  font-size: clamp(22px, 3vw, 32px);
  color: #fff;
  margin: 10px 0 12px;
  font-family: var(--fw-sans);
  font-weight: 800;
  line-height: 1.2;
}
.fw-mov-join-cta__text p {
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}
.fw-mov-join-cta__action {
  flex: 0 0 auto;
}
@media (max-width: 680px) {
  .fw-mov-join-cta { padding: 48px 20px; }
  .fw-mov-join-cta__inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .fw-mov-join-cta__text { flex: 0 0 auto; }
}

/* ── Network section — Campaign partner cards ─────────────── */
.fw-network-partners {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--fw-border-lt);
}
.fw-network-partners__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--fw-gold-d);
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--fw-sans);
}
.fw-network-partners__eyebrow::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: var(--fw-gold);
  flex-shrink: 0;
}
.fw-network-partners__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.fw-network-partners__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 28px 20px 24px;
  border: 1.5px solid var(--fw-border);
  border-radius: 16px;
  text-decoration: none;
  background: #fff;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.fw-network-partners__card:hover {
  border-color: var(--fw-gold);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.fw-network-partners__icon {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  background: #f5f1eb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.fw-network-partners__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
}
.fw-network-partners__initials {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  color: var(--fw-gold);
  letter-spacing: .04em;
  font-family: var(--fw-sans);
}
.fw-network-partners__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--fw-navy);
  font-family: var(--fw-sans);
  text-align: center !important;
  line-height: 1.4;
  width: 100%;
  display: block;
}
@media (max-width: 700px) {
  .fw-network-partners__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 400px) {
  .fw-network-partners__grid { gap: 12px; }
  .fw-network-partners__card { padding: 20px 14px 18px; }
  .fw-network-partners__icon { width: 56px; height: 56px; }
}

/* ═══════════════════════════════════════════════════════════
   RESOURCE ARTICLE — NaLEC content components  v2.9
════════════════════════════════════════════════════════════ */

/* Attribution banner */
.fw-article .fw-resource-attribution {
  background: #f5f1eb !important;
  border-left: 4px solid var(--fw-gold) !important;
  border-radius: 6px;
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: var(--fw-text-2) !important;
  margin: 0 0 28px !important;
}

/* Rights list — simple flexbox rows, immune to theme paragraph margins */
.fw-article .fw-rights-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  counter-reset: fw-rights;
}
.fw-article .fw-rights-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--fw-border) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  counter-increment: fw-rights;
}
/* Kill any <p> inside li that Kadence or block editor injects */
.fw-article .fw-rights-list li p,
.fw-article .fw-rights-list li > * {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
/* Number badge for ordered list */
.fw-article ol.fw-rights-list li::before {
  content: counter(fw-rights);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  width: 26px;
  height: 26px;
  background: var(--fw-navy);
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
/* For unordered (bullet) version — gold dot */
.fw-article ul.fw-rights-list li::before {
  content: '';
  min-width: 8px;
  width: 8px;
  height: 8px;
  background: var(--fw-gold);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 8px;
}

/* Rights statement blockquote — high-contrast */
.fw-article .fw-rights-statement,
.fw-article .wp-block-quote.fw-rights-statement {
  background: var(--fw-navy) !important;
  border-left: 6px solid var(--fw-gold) !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
}
.fw-article .fw-rights-statement p,
.fw-article .fw-rights-statement cite {
  color: #fff !important;
}
.fw-article .fw-rights-statement p {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 8px !important;
}
.fw-article .fw-rights-statement cite {
  font-size: 13px !important;
  opacity: .75;
  font-style: normal !important;
}

/* Emergency contacts table */
.fw-article .fw-contacts-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
}
.fw-article .fw-contacts-table td {
  padding: 10px 14px;
  border: 1px solid var(--fw-border);
  font-size: 14px;
  vertical-align: top;
}
.fw-article .fw-contacts-table tr:first-child td {
  background: #f8f8f8;
}

/* Legal template box */
.fw-legal-template {
  background: #fafafa;
  border: 1.5px solid var(--fw-border);
  border-radius: 8px;
  padding: 28px 32px;
  margin: 16px 0 28px;
  font-size: 14px;
  line-height: 1.7;
}
.fw-legal-template h3 {
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  border-bottom: 2px solid var(--fw-navy);
  padding-bottom: 10px;
  margin: 0 0 20px;
  color: var(--fw-navy);
}
.fw-legal-template h4 {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fw-text-2);
  margin: 20px 0 8px;
}
.fw-legal-template p { margin: 0 0 10px; }
.fw-legal-template ul {
  padding-left: 18px;
  margin: 6px 0 10px;
}
.fw-legal-template ul li { margin-bottom: 3px; }
@media (max-width: 600px) {
  .fw-legal-template { padding: 18px 16px; }
}

/* ═══════════════════════════════════════════════════════════
   LANGUAGE SWITCHER — TranslatePress branded
   ════════════════════════════════════════════════════════════ */

/* Hide TranslatePress default UI everywhere */
.trp-language-switcher-container,
.trp-floatting-ls,
.trp-language-switcher,
#trp-floatting-ls { display: none !important; }

/* ── Nav list item wrapper ───────────────────────────────── */
/* Mobile-only pill: hidden on desktop, visible inside mobile nav drawer */
.fw-lang-nav-item--mobile {
  display: none !important;
}
@media (max-width: 1024px) {
  .fw-lang-nav-item--mobile {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
  }
}

/* ── The pill container ──────────────────────────────────── */
.fw-lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 100px;
  padding: 3px 4px;
  background: transparent;
  transition: border-color .2s, background .2s;
}
.fw-lang-switcher:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.05);
}

/* ── Individual language links ───────────────────────────── */
.fw-lang-opt {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 100px;
  font-family: var(--fw-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: rgba(255,255,255,.55);
  background: transparent;
  transition: background .18s, color .18s;
  line-height: 1;
  white-space: nowrap;
}
.fw-lang-opt:hover {
  color: #fff;
}
.fw-lang-opt--active {
  background: var(--fw-gold);
  color: var(--fw-navy) !important;
}
.fw-lang-opt--active:hover {
  background: var(--fw-gold-d);
  color: var(--fw-navy) !important;
}
.fw-lang-opt:focus-visible {
  outline: 2px solid var(--fw-gold);
  outline-offset: 2px;
}

/* ── Divider between options ─────────────────────────────── */
.fw-lang-divider {
  width: 1px;
  height: 11px;
  background: rgba(255,255,255,.18);
  flex-shrink: 0;
  display: inline-block;
}

/* ── Mobile nav ──────────────────────────────────────────── */
.fw-mobile-nav-cta ~ .fw-lang-nav-item {
  margin: 0 auto 4px !important;
  justify-content: center !important;
}
.fw-mobile-nav-cta ~ .fw-lang-nav-item .fw-lang-switcher {
  border-color: rgba(255,255,255,.3);
}
.fw-mobile-nav-cta ~ .fw-lang-nav-item .fw-lang-opt {
  font-size: 12px;
  padding: 4px 11px;
}

/* ── Logo placement (Option C: right of logo, left of nav) ── */
.fw-lang-switcher--logo {
  margin-left: 14px;
  border-color: rgba(255,255,255,.2);
  padding: 2px 3px;
}
.fw-lang-switcher--logo .fw-lang-opt {
  font-size: 10px;
  padding: 2px 8px;
  letter-spacing: .07em;
}
.fw-lang-switcher--logo .fw-lang-divider {
  height: 10px;
}
/* Hide the logo pill on mobile — mobile nav has its own pill */
@media (max-width: 1024px) {
  .fw-lang-switcher--logo {
    display: none !important;
  }
}

/* ── Footer bottom bar placement (Option B) ─────────────────── */
.fw-lang-switcher--footer {
  border-color: rgba(255,255,255,.2);
}

/* ═══════════════════════════════════════════════════════════
   HEADER UI — Search + Language Globe Dropdown
   ════════════════════════════════════════════════════════════ */

/* Prevent the nav from clipping our absolute-positioned panels */
#site-header .nav-wrap > ul,
#site-header .nav-wrap ul.menu,
#site-header nav > ul {
  overflow: visible !important;
}

/* ── Controls <li> ───────────────────────────────────────── */
li.fw-hdr-controls-item {
  display:        flex    !important;
  align-items:    center  !important;
  padding:        0 4px   !important;
  list-style:     none;
  position:       relative;
}
.fw-hdr-controls {
  display:     flex;
  align-items: center;
  gap:         2px;
}

/* ── Icon buttons (shared base) ──────────────────────────── */
.fw-hdr-btn {
  display:         inline-flex;
  align-items:     center;
  gap:             5px;
  padding:         6px 10px;
  background:      transparent;
  border:          none;
  border-radius:   100px;
  color:           rgba(245,242,237,.68);
  cursor:          pointer;
  font-family:     var(--fw-sans);
  font-size:       11px;
  font-weight:     700;
  letter-spacing:  .06em;
  text-transform:  uppercase;
  line-height:     1;
  transition:      color .15s, background .15s;
  white-space:     nowrap;
}
.fw-hdr-btn svg { flex-shrink: 0; }
.fw-hdr-btn:hover {
  color:      #f5f2ed;
  background: rgba(255,255,255,.08);
}
.fw-hdr-btn.is-open {
  color:      var(--fw-gold, #c49a3c);
  background: rgba(196,154,60,.12);
}
.fw-hdr-btn:focus-visible {
  outline:        2px solid var(--fw-gold, #c49a3c);
  outline-offset: 2px;
}

/* Search button — square-ish circle so the icon sits centred */
.fw-hdr-btn--search {
  padding:       7px;
  width:         34px;
  height:        34px;
  justify-content: center;
  border-radius: 50%;
}

/* Globe / language button — pill with text */
.fw-hdr-btn--lang {
  gap:           6px;
  padding:       6px 10px 6px 9px;
  border:        1.5px solid rgba(245,242,237,.2);
  border-radius: 100px;
}
.fw-hdr-btn--lang:hover  { border-color: rgba(245,242,237,.4);  background: rgba(255,255,255,.06); }
.fw-hdr-btn--lang.is-open { border-color: rgba(196,154,60,.45); background: rgba(196,154,60,.1);  }
.fw-hdr-lang-abbr { font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.fw-hdr-chevron   { transition: transform .2s ease; opacity: .6; }
.fw-hdr-btn--lang.is-open .fw-hdr-chevron { transform: rotate(180deg); opacity: 1; }

/* ── Panel (shared base) ─────────────────────────────────── */
.fw-hdr-panel {
  position:       absolute;
  top:            calc(100% + 8px);
  right:          0;
  z-index:        9999;
  background:     #1a1d38;
  border:         1px solid rgba(255,255,255,.1);
  border-radius:  16px;
  box-shadow:     0 20px 60px rgba(0,0,0,.55), 0 4px 12px rgba(0,0,0,.25);
  overflow:       hidden;
  transform-origin: top center;
  animation:      fwPanelIn .15s ease forwards;
}
.fw-hdr-panel[hidden] { display: none; }
@keyframes fwPanelIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0);    }
}
.fw-hdr-panel__inner { padding: 14px; }

/* ── Search panel ────────────────────────────────────────── */
.fw-hdr-panel--search {
  width:      320px;
  right:      auto;
  left:       -4px;   /* slight left-align under the search button */
}

/* Input row — full-width, clean border only */
.fw-hdr-search-row {
  display:       flex;
  align-items:   center;
  background:    rgba(255,255,255,.05);
  border:        1.5px solid rgba(255,255,255,.14);
  border-radius: 10px;
  overflow:      hidden;
  transition:    border-color .18s;
}
.fw-hdr-search-row:focus-within { border-color: var(--fw-gold, #c49a3c); }
.fw-hdr-search-row input[type="search"] {
  flex:           1;
  min-width:      0;
  background:     transparent !important;
  border:         none !important;
  box-shadow:     none !important;
  outline:        none !important;
  color:          #f5f2ed !important;
  font-family:    var(--fw-sans) !important;
  font-size:      15px !important;
  height:         46px !important;
  padding:        0 4px 0 14px !important;
  -webkit-appearance: none;
}
.fw-hdr-search-row input[type="search"]::placeholder { color: rgba(245,242,237,.28) !important; }
.fw-hdr-search-row input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/* Submit — just the arrow icon, no background box */
.fw-hdr-search-row button[type="submit"] {
  flex-shrink:     0;
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           44px;
  height:          46px;
  background:      transparent;
  border:          none;
  color:           rgba(245,242,237,.3);
  cursor:          pointer;
  transition:      color .15s;
  padding:         0;
}
.fw-hdr-search-row:focus-within button[type="submit"],
.fw-hdr-search-row button[type="submit"]:hover {
  color: var(--fw-gold, #c49a3c);
}

/* ── Language panel ──────────────────────────────────────── */
.fw-hdr-panel--lang { width: 210px; }
.fw-hdr-panel--lang .fw-hdr-panel__inner { padding: 8px; }

.fw-hdr-lang-opt {
  display:         flex;
  align-items:     center;
  gap:             10px;
  padding:         9px 10px;
  border-radius:   8px;
  text-decoration: none !important;
  color:           rgba(245,242,237,.68) !important;
  transition:      background .15s, color .15s;
}
.fw-hdr-lang-opt:hover          { background: rgba(255,255,255,.07); color: #f5f2ed !important; }
.fw-hdr-lang-opt--active        { background: rgba(196,154,60,.15)  !important; color: var(--fw-gold, #c49a3c) !important; }
.fw-hdr-lang-opt--active:hover  { background: rgba(196,154,60,.22)  !important; }
.fw-hdr-lang-opt__code {
  font-size:      11px;
  font-weight:    800;
  letter-spacing: .1em;
  text-transform: uppercase;
  min-width:      26px;
}
.fw-hdr-lang-opt__name { font-size: 13px; font-weight: 500; }

/* ── Mobile — inside hamburger drawer ────────────────────── */
@media (max-width: 1024px) {
  li.fw-hdr-controls-item {
    flex-direction:  column  !important;
    align-items:     stretch !important;
    padding:         10px 0 4px !important;
    border-top:      1px solid rgba(255,255,255,.1);
    margin-top:      4px !important;
  }
  .fw-hdr-controls {
    justify-content: center;
    padding:         0 16px;
    gap:             8px;
  }
  .fw-hdr-btn--search { padding: 8px; width: 38px; height: 38px; }
  .fw-hdr-btn--lang   { padding: 7px 12px 7px 10px; font-size: 12px; }

  /* Panels collapse inline */
  .fw-hdr-panel {
    position:      static;
    width:         100% !important;
    border:        none;
    border-top:    1px solid rgba(255,255,255,.07);
    border-radius: 0;
    box-shadow:    none;
    background:    rgba(0,0,0,.25);
    animation:     none;
    margin-top:    6px;
    margin-bottom: 4px;
  }
  .fw-hdr-panel__inner            { padding: 14px 20px; }
  .fw-hdr-panel--lang .fw-hdr-panel__inner { padding: 8px 16px; }
  .fw-hdr-lang-opt                { padding: 10px 12px; }
  .fw-hdr-lang-opt__name          { font-size: 14px; }
  .fw-hdr-search-row input[type="search"] { height: 46px !important; }
}

/* ── Controls styling inside the dark navy popup drawer ──── */
/* The drawer bg is var(--fw-navy-d) so white text works fine.
   We only need to tighten spacing and make the search row readable. */
.popup-drawer li.fw-hdr-controls-item {
  padding: 16px 0 8px !important;
  margin-top: 0 !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
}
.popup-drawer .fw-hdr-controls {
  padding: 0 24px;
  gap: 10px;
}
/* Make search input bg slightly lighter than the drawer for contrast */
.popup-drawer .fw-hdr-search-row {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.popup-drawer .fw-hdr-search-row:focus-within {
  border-color: var(--fw-gold) !important;
}
/* Language options in dark context */
.popup-drawer .fw-hdr-lang-opt {
  color: rgba(245,242,237,.75) !important;
}
.popup-drawer .fw-hdr-lang-opt:hover {
  background: rgba(255,255,255,.08) !important;
  color: #f5f2ed !important;
}
.popup-drawer .fw-hdr-lang-opt--active {
  background: rgba(196,154,60,.2) !important;
  color: var(--fw-gold) !important;
}
/* Panel inner bg in dark drawer */
.popup-drawer .fw-hdr-panel {
  background: rgba(0,0,0,.3) !important;
  border-top-color: rgba(255,255,255,.1) !important;
}
/* Lang panel inner padding in drawer */
.popup-drawer .fw-hdr-panel--lang .fw-hdr-panel__inner {
  padding: 6px 24px !important;
}

/* ── Force full desktop nav from 821px–1024px ───────────────── */
/* Kadence hides #main-header at max-width:1024px (its default)  */
/* Override so the hamburger only appears at ≤820px.             */
@media screen and (min-width: 821px) and (max-width: 1024px) {
  #main-header                             { display: block !important; }
  #mobile-header                           { display: none  !important; }
  .mobile-toggle-open-container            { display: none  !important; }
  .site-header-item-navgation-popup-toggle { display: none  !important; }
}

/* ── Prevent nav wrapping: nowrap always on desktop ─────── */
@media (min-width: 821px) {
  .header-navigation .header-menu-container .menu,
  #site-header .nav-wrap > ul,
  #site-header .nav-wrap ul.menu,
  #site-header nav > ul {
    flex-wrap: nowrap !important;
  }
  /* Ensure every nav link text stays on one line */
  .main-navigation .primary-menu-container > ul > li.menu-item > a,
  #primary-navigation a,
  .kadence-navigation a,
  .primary-navigation a {
    white-space: nowrap !important;
  }
}

/* ── Strip every possible border/separator from the controls <li> in the
   desktop header. Target #main-header for higher specificity than any
   Kadence rule, and cover all border shorthands + pseudo-elements. ── */
#main-header li.fw-hdr-controls-item,
#masthead    li.fw-hdr-controls-item {
  border:        none !important;
  border-top:    none !important;
  border-bottom: none !important;
  border-left:   none !important;
  border-right:  none !important;
  outline:       none !important;
  margin-top:    0    !important;
  padding-top:   0    !important;
}
#main-header li.fw-hdr-controls-item::before,
#main-header li.fw-hdr-controls-item::after,
#masthead    li.fw-hdr-controls-item::before,
#masthead    li.fw-hdr-controls-item::after {
  display: none !important;
  content: none !important;
}

/* ── Tighten nav at 821–1200px: hide wordmark, tighten padding ── */
@media (min-width: 821px) and (max-width: 1200px) {

  /* Hide wordmark — logo mark only, keeps brand visible without eating nav space */
  .fw-brand-name { display: none !important; }

  /* Tighten padding only — font size stays the same */
  .main-navigation .primary-menu-container > ul > li.menu-item > a,
  #primary-navigation a,
  .kadence-navigation a,
  .primary-navigation a {
    padding-left:  8px    !important;
    padding-right: 8px    !important;
  }

  /* CTA pill — tighter padding only */
  .fw-nav-cta {
    padding:     6px 11px !important;
    white-space: nowrap   !important;
  }

  /* Join Us button — tighter padding only */
  #main-header .header-button {
    padding:   8px 14px !important;
    min-width: 0        !important;
  }

  /* Controls */
  li.fw-hdr-controls-item { padding: 0 1px !important; }
  .fw-hdr-controls { gap: 0; }
  .fw-hdr-btn--search { width: 30px !important; height: 30px !important; padding: 6px !important; }
  .fw-hdr-btn--lang { padding: 5px 8px 5px 7px !important; font-size: 10px !important; }
  .fw-hdr-lang-abbr { font-size: 10px !important; }
  .fw-hdr-chevron svg { width: 10px; height: 10px; }
}
/* Shrink logo mark slightly in the tighter range */
@media (min-width: 821px) and (max-width: 1030px) {
  .custom-logo,
  .site-logo img { max-height: 48px !important; }
}

/* ═══════════════════════════════════════════════════════════
   JOIN THE CAMPAIGN — MC4WP form + page layout
   ════════════════════════════════════════════════════════════ */

/* ── Page layout: form LEFT, sidebar RIGHT ───────────────── */
.fw-campaign-form-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 56px;
  align-items: start;
}
@media (max-width: 960px) {
  .fw-campaign-form-wrap {
    display: flex;
    flex-direction: column;   /* form first, sidebar below */
    gap: 40px;
  }
  .fw-campaign-form-aside { position: static; }
}

/* ── Form body: white card ───────────────────────────────── */
.fw-campaign-form-body {
  background: #fff;
  border: 1.5px solid var(--fw-border-lt);
  border-radius: 16px;
  padding: 40px 44px;
  box-shadow: 0 2px 24px rgba(51,56,88,.07);
}
@media (max-width: 600px) {
  .fw-campaign-form-body { padding: 28px 20px; border-radius: 12px; }
}

/* ── Consent note ────────────────────────────────────────── */
.fw-campaign-form-consent {
  font-size: 12px;
  color: var(--fw-text-3);
  line-height: 1.6;
  margin: 0 0 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--fw-border-lt);
}

/* ── Aside sidebar ───────────────────────────────────────── */
.fw-campaign-form-aside { position: sticky; top: 100px; }

.fw-campaign-aside-block {
  background: var(--fw-navy);
  border-radius: 14px;
  padding: 32px 28px;
  margin-bottom: 24px;
}
.fw-campaign-aside-block .fw-hero-eyebrow {
  color: var(--fw-gold);
  margin-bottom: 12px;
}
.fw-campaign-aside-block h2 {
  font-family: var(--fw-display);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0 0 14px !important;
}
.fw-campaign-aside-block p {
  font-size: 14px;
  color: rgba(255,255,255,.68);
  line-height: 1.65;
  margin: 0;
}
.fw-campaign-aside-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fw-campaign-aside-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--fw-text-2);
  line-height: 1.45;
}
.fw-campaign-aside-list svg { flex-shrink: 0; color: var(--fw-gold); margin-top: 1px; }

.fw-campaign-aside-partners {
  background: var(--fw-cream);
  border-radius: 12px;
  padding: 20px 22px;
}
.fw-campaign-aside-partners__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fw-text-3);
  margin: 0 0 12px;
}
.fw-campaign-aside-partners__logos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fw-campaign-aside-partner-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border: 1.5px solid var(--fw-border-lt);
  border-radius: 100px;
  font-family: var(--fw-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--fw-text-2);
  text-decoration: none;
  background: #fff;
  transition: border-color .15s, color .15s;
}
.fw-campaign-aside-partner-badge:hover {
  border-color: var(--fw-gold);
  color: var(--fw-gold-d);
}

/* ── "Form not connected" admin notice ───────────────────── */
.fw-mc-setup-notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  background: #fef9ec;
  border: 1.5px solid #f5c842;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--fw-text-1);
}
.fw-mc-setup-notice svg { flex-shrink: 0; color: #d97706; margin-top: 2px; }
.fw-mc-setup-notice strong { display: block; font-weight: 700; margin-bottom: 6px; }
.fw-mc-setup-notice p { margin: 0; }
.fw-mc-setup-notice a { color: var(--fw-gold-d); text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════
   MC4WP FORM STYLING
   Targets Mailchimp for WordPress (mc4wp) generated markup.
   Applies the Faithful Witness design system to all MC4WP
   form fields so the form builder output matches the site.
   ════════════════════════════════════════════════════════════ */

/* ── Form wrapper ────────────────────────────────────────── */
.mc4wp-form { font-family: var(--fw-sans); }

/* ── All text inputs, email, select ─────────────────────── */
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"],
.mc4wp-form input[type="tel"],
.mc4wp-form input[type="number"],
.mc4wp-form input[type="url"],
.mc4wp-form select,
.mc4wp-form textarea {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  font-family: var(--fw-sans) !important;
  font-size: 15px !important;
  color: var(--fw-text-1) !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color .15s, box-shadow .15s;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  box-sizing: border-box;
}
.mc4wp-form textarea { height: auto; padding: 12px 14px; }
.mc4wp-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 36px !important;
}
.mc4wp-form input[type="text"]:focus,
.mc4wp-form input[type="email"]:focus,
.mc4wp-form input[type="tel"]:focus,
.mc4wp-form select:focus,
.mc4wp-form textarea:focus {
  border-color: var(--fw-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,147,90,.18) !important;
}
.mc4wp-form input::placeholder,
.mc4wp-form textarea::placeholder { color: #9ca3af; }

/* ── Labels ──────────────────────────────────────────────── */
.mc4wp-form label {
  display: block;
  font-family: var(--fw-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--fw-navy);
  letter-spacing: .01em;
  margin-bottom: 6px;
}

/* ── Paragraph wrapper MC4WP uses per-field ─────────────── */
.mc4wp-form p {
  margin-bottom: 18px;
}
.mc4wp-form p:last-child { margin-bottom: 0; }

/* ── Fieldsets (if used in form builder) ────────────────── */
.mc4wp-form fieldset {
  border: none;
  padding: 0;
  margin: 0 0 32px;
}
.mc4wp-form legend {
  display: block;
  width: 100%;
  font-family: var(--fw-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--fw-navy);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--fw-border-lt);
  margin-bottom: 18px;
}

/* ── Checkboxes ──────────────────────────────────────────── */
.mc4wp-form input[type="checkbox"],
.mc4wp-form input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--fw-gold);
  cursor: pointer;
  flex-shrink: 0;
  margin: 0 8px 0 0;
  vertical-align: middle;
}
/* Row wrapper MC4WP uses for checkbox/radio lists */
.mc4wp-form ul { list-style: none; padding: 0; margin: 0 0 18px; }
.mc4wp-form ul li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 15px;
  color: var(--fw-text-1);
  line-height: 1.4;
}
.mc4wp-form ul li label {
  font-weight: 400;
  font-size: 15px;
  margin-bottom: 0;
  cursor: pointer;
}

/* ── Submit button ───────────────────────────────────────── */
.mc4wp-form input[type="submit"],
.mc4wp-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  padding: 14px 32px !important;
  background: var(--fw-gold) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 40px !important;
  font-family: var(--fw-sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .18s, transform .15s, box-shadow .18s !important;
  box-shadow: 0 4px 14px rgba(200,147,90,.28) !important;
  min-width: 200px !important;
  width: auto !important;
}
.mc4wp-form input[type="submit"]:hover,
.mc4wp-form button[type="submit"]:hover {
  background: var(--fw-gold-d) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(200,147,90,.36) !important;
}

/* ── Success message ─────────────────────────────────────── */
.mc4wp-success .mc4wp-alert,
.mc4wp-form .mc4wp-success {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 18px 20px !important;
  border-radius: 10px !important;
  background: #f0fdf4 !important;
  border: 1.5px solid #86efac !important;
  color: #166534 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
}

/* ── Error / notice message ──────────────────────────────── */
.mc4wp-error .mc4wp-alert,
.mc4wp-form .mc4wp-error,
.mc4wp-form .mc4wp-notice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  border-radius: 10px !important;
  background: #fef2f2 !important;
  border: 1.5px solid #fca5a5 !important;
  color: #991b1b !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
}

/* ── Required asterisk ───────────────────────────────────── */
.mc4wp-form abbr[title="required"] {
  text-decoration: none;
  color: var(--fw-coral);
  margin-left: 2px;
}

/* ── Section divider between question groups ─────────────── */
.mc4wp-form hr.fw-mc-divider {
  border: none;
  border-top: 1px solid var(--fw-border-lt);
  margin: 6px 0 24px;
}

/* ── Group question label (section heading for checkbox/radio) */
.mc4wp-form p.fw-mc-group-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--fw-navy);
  margin: 0 0 10px !important;
  letter-spacing: .01em;
  line-height: 1.4;
}
.mc4wp-form p.fw-mc-group-label span {
  font-weight: 400;
  font-size: 12px;
  color: var(--fw-text-3);
  margin-left: 4px;
}

/* ── Two / three column field rows ──────────────────────── */
.fw-mc-2col,
.fw-mc-3col {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
}
.fw-mc-2col { grid-template-columns: 1fr 1fr; }
.fw-mc-3col { grid-template-columns: 2fr 1fr 1fr; }
.fw-mc-2col p,
.fw-mc-3col p { margin-bottom: 0 !important; }

@media (max-width: 600px) {
  .fw-mc-2col,
  .fw-mc-3col { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .mc4wp-form input[type="text"],
  .mc4wp-form input[type="email"],
  .mc4wp-form select { font-size: 16px !important; } /* prevent iOS zoom */
}

/* ═══════════════════════════════════════════════════════════
   SEARCH RESULTS PAGE  /?s=query
   ════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────── */
.fw-search-hero .fw-hero__inner { max-width: 680px; }

.fw-search-hero__heading {
  font-size:     clamp(24px, 4vw, 40px) !important;
  line-height:   1.2 !important;
  margin-bottom: 28px !important;
}
.fw-search-hero__heading em { font-style: normal; }
.fw-search-hero__query      { color: var(--fw-gold); }

/* Refine search form — pill shape */
.fw-search-hero__form { width: 100%; max-width: 560px; }
.fw-search-hero__row {
  display:       flex;
  align-items:   center;
  background:    rgba(255,255,255,.1);
  border:        1.5px solid rgba(255,255,255,.18);
  border-radius: 100px;
  overflow:      hidden;
  transition:    border-color .18s, background .18s;
}
.fw-search-hero__row:focus-within {
  border-color: var(--fw-gold);
  background:   rgba(255,255,255,.14);
}
.fw-search-hero__row input[type="search"] {
  flex:        1 !important;
  min-width:   0 !important;
  background:  transparent !important;
  border:      none !important;
  box-shadow:  none !important;
  outline:     none !important;
  color:       #fff !important;
  font-family: var(--fw-sans) !important;
  font-size:   15px !important;
  height:      50px !important;
  padding:     0 20px !important;
}
.fw-search-hero__row input[type="search"]::placeholder { color: rgba(255,255,255,.38) !important; }
.fw-search-hero__row input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.fw-search-hero__row button[type="submit"] {
  flex-shrink:    0;
  display:        flex;
  align-items:    center;
  gap:            8px;
  height:         50px;
  padding:        0 22px;
  background:     var(--fw-gold);
  border:         none;
  border-radius:  0 100px 100px 0;
  color:          #fff;
  font-family:    var(--fw-sans);
  font-size:      13px;
  font-weight:    700;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor:         pointer;
  transition:     background .15s;
  white-space:    nowrap;
}
.fw-search-hero__row button[type="submit"]:hover { background: var(--fw-gold-d); }

/* ── Page section — cream background so white cards pop ──── */
.fw-search-section { padding-top: 40px !important; }

/* ── Centred column ──────────────────────────────────────── */
.fw-search-wrap { max-width: 760px; margin-inline: auto; }

/* ── Result count line ───────────────────────────────────── */
.fw-search-count {
  font-size:      13px;
  font-weight:    600;
  color:          var(--fw-text-3);
  letter-spacing: .02em;
  text-transform: uppercase;
  margin:         0 0 20px;
  padding-bottom: 16px;
  border-bottom:  1px solid var(--fw-border-lt);
}

/* ── Results list ────────────────────────────────────────── */
.fw-search-results {
  display:        flex;
  flex-direction: column;
  gap:            12px;
  margin-bottom:  48px;
}

/* ── Individual result card ──────────────────────────────── */
.fw-search-result {
  position:     relative;          /* for stretched-link */
  display:      flex;
  align-items:  flex-start;
  gap:          20px;
  padding:      22px 22px 22px 24px;
  background:   #fff;
  border:       1px solid var(--fw-border-lt);
  border-left:  4px solid var(--result-accent, #333858);
  border-radius: 12px;
  transition:   box-shadow .2s ease, border-color .2s ease, transform .18s ease;
  overflow:     hidden;
}
.fw-search-result:hover {
  box-shadow:   0 6px 24px rgba(51,56,88,.10);
  border-color: rgba(51,56,88,.18);
  transform:    translateY(-2px);
}

/* Content column */
.fw-search-result__body {
  flex:      1;
  min-width: 0;
}

/* Tag + meta row */
.fw-search-result__top {
  display:       flex;
  align-items:   center;
  gap:           10px;
  margin-bottom: 8px;
  flex-wrap:     wrap;
}
.fw-search-result__meta {
  font-size:      12px;
  color:          var(--fw-text-3);
  font-weight:    500;
  letter-spacing: .01em;
}

/* Title */
.fw-search-result__title {
  font-family:    var(--fw-display) !important;
  font-size:      clamp(16px, 2vw, 20px) !important;
  font-weight:    700 !important;
  line-height:    1.3 !important;
  letter-spacing: -.01em !important;
  color:          var(--fw-navy) !important;
  margin:         0 0 8px !important;
}

/* Stretched link — makes the entire card clickable */
.fw-search-result__link {
  color:           var(--fw-navy) !important;
  text-decoration: none !important;
}
.fw-search-result__link::after {
  content:  '';
  position: absolute;
  inset:    0;
}
.fw-search-result:hover .fw-search-result__link { color: var(--fw-gold-d) !important; }

/* Excerpt */
.fw-search-result__excerpt {
  font-size:            14.5px;
  color:                var(--fw-text-3);
  line-height:          1.65;
  margin:               0 0 14px;
  display:              -webkit-box;
  -webkit-line-clamp:   2;
  -webkit-box-orient:   vertical;
  overflow:             hidden;
}

/* CTA label — visible but below the stretched link */
.fw-search-result__cta {
  display:        inline-flex;
  align-items:    center;
  gap:            5px;
  font-size:      13px;
  font-weight:    700;
  letter-spacing: .03em;
  color:          var(--fw-gold-d);
  transition:     gap .15s;
  pointer-events: none; /* stretched link handles the click */
}
.fw-search-result:hover .fw-search-result__cta { gap: 8px; }

/* Thumbnail — square, right-aligned */
.fw-search-result__thumb {
  flex-shrink: 0;
  width:       88px;
  height:      88px;
  border-radius: 8px;
  overflow:    hidden;
  align-self:  flex-start;
  margin-top:  2px;
}
.fw-search-result__thumb img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
}

/* ── Pagination ──────────────────────────────────────────── */
.fw-search-pagination { margin-top: 8px; }

.fw-search-pagination ul.page-numbers {
  list-style: none;
  margin:     0;
  padding:    0;
  display:    flex;
  align-items: center;
  justify-content: center;
  gap:        4px;
  flex-wrap:  wrap;
}
.fw-search-pagination ul.page-numbers li { display: contents; }

.fw-search-pagination .page-numbers {
  display:         inline-flex !important;
  align-items:     center !important;
  justify-content: center !important;
  gap:             5px;
  min-width:       38px;
  height:          38px;
  padding:         0 14px;
  border-radius:   8px;
  font-family:     var(--fw-sans);
  font-size:       14px;
  font-weight:     500;
  line-height:     1;
  color:           var(--fw-navy) !important;
  background:      #fff;
  border:          1px solid var(--fw-border-lt);
  text-decoration: none !important;
  transition:      background .15s, color .15s, border-color .15s, box-shadow .15s;
  white-space:     nowrap;
}
.fw-search-pagination a.page-numbers:hover {
  background:   var(--fw-cream);
  border-color: var(--fw-navy);
  color:        var(--fw-navy) !important;
  box-shadow:   0 2px 8px rgba(51,56,88,.1);
}
.fw-search-pagination a.page-numbers:focus-visible {
  outline:        2px solid var(--fw-gold);
  outline-offset: 2px;
}
.fw-search-pagination .page-numbers.current {
  background:     var(--fw-navy) !important;
  color:          #fff !important;
  border-color:   var(--fw-navy) !important;
  pointer-events: none;
}
.fw-search-pagination .page-numbers.dots {
  border:         none;
  background:     transparent;
  color:          var(--fw-text-3) !important;
  pointer-events: none;
  min-width:      20px;
  padding:        0;
}
.fw-search-pagination .page-numbers.prev,
.fw-search-pagination .page-numbers.next { font-weight: 600; }

/* ── No-results empty state ──────────────────────────────── */
.fw-search-empty {
  text-align:      center;
  padding:         64px 24px 48px;
  background:      #fff;
  border:          1px solid var(--fw-border-lt);
  border-radius:   16px;
}
.fw-search-empty__icon {
  color:         var(--fw-border);
  margin-bottom: 20px;
  line-height:   1;
}
.fw-search-empty__h2 {
  font-family:    var(--fw-display) !important;
  font-size:      clamp(20px, 3vw, 28px) !important;
  font-weight:    700 !important;
  color:          var(--fw-navy) !important;
  margin:         0 0 10px !important;
  letter-spacing: -.01em !important;
}
.fw-search-empty__sub {
  font-size:     15px;
  color:         var(--fw-text-3);
  line-height:   1.6;
  margin:        0 0 32px;
  max-width:     400px;
  margin-inline: auto;
}
.fw-search-empty__links {
  display:         flex;
  gap:             12px;
  justify-content: center;
  flex-wrap:       wrap;
}

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 640px) {
  .fw-search-hero__row button[type="submit"] span { display: none; }
  .fw-search-hero__row button[type="submit"] { padding: 0 16px; }
  .fw-search-result { padding: 18px 16px 18px 18px; gap: 14px; }
  .fw-search-result__thumb { width: 64px; height: 64px; }
  .fw-search-result__excerpt { -webkit-line-clamp: 3; }
}


/* ═══════════════════════════════════════════════════════════
   SOCIAL MEDIA MENTIONS WALL
   ════════════════════════════════════════════════════════════ */

/* ── Story section wide body override ──────────────────────── */
.fw-story-body--wide {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* ══════════════════════════════════════════════════════════════
   SOCIAL MENTIONS — Custom Preview Cards  (v2.22)
   ══════════════════════════════════════════════════════════════ */

/* ── Wall wrapper ───────────────────────────────────────────── */
.fw-social-wall {
  width: 100%;
}

/* ── Header row ─────────────────────────────────────────────── */
.fw-social-wall__header {
  margin-bottom: 20px;
}
.fw-social-wall__heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fw-text-muted, #888);
  margin: 0;
}
.fw-social-wall__heading:empty { display: none; }

/* ── Nav buttons — centred below the track ──────────────────── */
.fw-social-wall__nav {
  display:         flex;
  justify-content: center;
  gap:             10px;
  margin-top:      20px;
}
.fw-sw-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--fw-border-lt, #e2e4ed);
  background: #fff;
  color: var(--fw-navy, #333858);
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  padding: 0;
}
.fw-sw-btn:hover {
  background: var(--fw-navy, #333858);
  border-color: var(--fw-navy, #333858);
  color: #fff;
}
.fw-sw-btn:disabled {
  opacity: .35;
  cursor: default;
}

/* ── Horizontal scroll track ────────────────────────────────── */
.fw-social-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* padding gives room for the hover shadow + translateY so it doesn't get clipped */
  padding: 10px 4px 24px;
  cursor: grab;
}
.fw-social-track:active { cursor: grabbing; }
.fw-social-track::-webkit-scrollbar { display: none; }

/* ── Card — portrait tile, always in track ───────────────────── */
.fw-social-card {
  position: relative;
  flex: 0 0 240px;
  height: 340px;
  border-radius: 20px;
  overflow: hidden;
  scroll-snap-align: start;
  text-decoration: none;
  display: block;
  transition: transform .2s ease, box-shadow .2s ease;
  will-change: transform;
  box-shadow: 0 2px 12px rgba(0,0,0,.12);
}
.fw-social-card:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}
/* Platform-specific hover glow */
.fw-social-card[data-platform="instagram"]:hover { box-shadow: 0 16px 40px rgba(131,58,180,.35); }
.fw-social-card[data-platform="facebook"]:hover  { box-shadow: 0 16px 40px rgba(24,119,242,.35); }
.fw-social-card[data-platform="tiktok"]:hover    { box-shadow: 0 16px 40px rgba(0,0,0,.45); }
.fw-social-card[data-platform="youtube"]:hover   { box-shadow: 0 16px 40px rgba(255,0,0,.30); }
.fw-social-card[data-platform="twitter"]:hover   { box-shadow: 0 16px 40px rgba(0,0,0,.35); }
.fw-social-card[data-platform="linkedin"]:hover  { box-shadow: 0 16px 40px rgba(0,119,181,.35); }
@media (max-width: 600px) {
  .fw-social-card {
    flex: 0 0 75vw;
    height: 300px;
  }
}

/* ── Image / Video card ──────────────────────────────────────── */
.fw-social-card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* Fallback gradient shown when image fails to load or hasn't loaded yet */
  background: linear-gradient(160deg, #2a2d4a 0%, #3d4273 100%);
}
.fw-social-card__media img,
.fw-social-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* iframe embeds (YouTube, TikTok) — fill card, no interaction chrome */
.fw-social-card__media iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  /* Prevent the iframe from intercepting the card's <a> click */
  pointer-events: none;
}
/* Re-enable pointer events so the video actually plays on hover */
.fw-social-card:hover .fw-social-card__media iframe {
  pointer-events: auto;
}

/* ── Text / quote card ───────────────────────────────────────── */
.fw-social-card__text-bg {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 18px 56px;
  overflow: hidden;
}
/* Big decorative quote mark — watermark behind the text */
.fw-social-card__quote-mark {
  position: absolute;
  top: -10px;
  left: 10px;
  font-size: 120px;
  line-height: 1;
  color: rgba(255,255,255,.12);
  font-family: Georgia, serif;
  pointer-events: none;
  user-select: none;
}
.fw-social-card__text-content {
  position: relative; /* above the quote-mark */
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  font-weight: 500;
  /* allow up to 7 lines before clipping */
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
}

/* ── Overlay ─────────────────────────────────────────────────── */
.fw-social-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.28) 0%,
    transparent 30%,
    transparent 45%,
    rgba(0,0,0,.72) 100%
  );
  pointer-events: none;
  overflow: hidden; /* clips the sliding CTA bar */
}

/* ── Platform pill (top-left) — brand colored ───────────────── */
.fw-social-card__platform-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  align-self: flex-start;
  margin: 12px 0 0 12px;
  background: rgba(0,0,0,.40);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  padding: 5px 11px 5px 9px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  white-space: nowrap;
}
/* Platform brand colors */
.fw-social-card[data-platform="instagram"] .fw-social-card__platform-pill {
  background: linear-gradient(90deg, #833ab4 0%, #fd1d1d 60%, #fcb045 100%);
  border-color: transparent;
}
.fw-social-card[data-platform="facebook"] .fw-social-card__platform-pill {
  background: #1877f2;
  border-color: transparent;
}
.fw-social-card[data-platform="tiktok"] .fw-social-card__platform-pill {
  background: #010101;
  border-color: rgba(255,255,255,.2);
}
.fw-social-card[data-platform="youtube"] .fw-social-card__platform-pill {
  background: #ff0000;
  border-color: transparent;
}
.fw-social-card[data-platform="twitter"] .fw-social-card__platform-pill {
  background: #000;
  border-color: rgba(255,255,255,.15);
}
.fw-social-card[data-platform="linkedin"] .fw-social-card__platform-pill {
  background: #0077b5;
  border-color: transparent;
}
.fw-social-card__pill-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
}
.fw-social-card__pill-icon svg { display: block; }

/* ── Bottom section: caption + author + sliding CTA ─────────── */
.fw-social-card__bottom {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.fw-social-card__caption {
  color: rgba(255,255,255,.92);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  padding: 0 12px 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 2px rgba(0,0,0,.6);
}
.fw-social-card__author {
  color: rgba(255,255,255,.65);
  font-size: 11px;
  font-weight: 600;
  margin: 0;
  padding: 0 12px 8px;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── "View post" — full-width bar that slides up on hover ───── */
.fw-social-card__view-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,.18);
  padding: 11px 16px;
  /* Start just below the card bottom, slide into view on hover */
  transform: translateY(100%);
  transition: transform .22s ease, background .15s;
  pointer-events: none; /* overlay is pointer-events:none; card <a> handles click */
}
.fw-social-card:hover .fw-social-card__view-cta {
  transform: translateY(0);
  background: rgba(255,255,255,.22);
}
.fw-social-card__view-cta svg { flex-shrink: 0; }

/* ── Section spacing ─────────────────────────────────────────── */
.fw-news-section--social { margin-top: 0; }
.fw-story-social-section { padding-top: 40px; padding-bottom: 40px; }
