/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 12 2026 | 15:25:22 */
/* ============================================================
   REKONECT — MASTER STYLESHEET
   Sitewide + Forms #5, #18, #37
   Excludes individual program pages (body.category-csf / category-sic)
   ============================================================ */

/* -------------------------------------------------------------
   01 — FONT IMPORTS
   Bricolage Grotesque (display, technical/engineered)
   Manrope (body, geometric workhorse)
   Fraunces (editorial accents — manifesto/mission only)
   JetBrains Mono (occasional code/numeric accents)
   ------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300..800&family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=JetBrains+Mono:wght@400;500;700&family=Manrope:wght@300;400;500;600;700;800&display=swap');

/* -------------------------------------------------------------
   02 — BRAND TOKENS (root, but body.category-csf/sic excluded below)
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) {
  /* Brand blues — sampled from the Rekonect logo */
  --rk-blue:          #3FA5DD;   /* logo light-blue strokes */
  --rk-blue-bright:   #5AB8EC;   /* hover/glow */
  --rk-blue-deep:     #2A7FB2;   /* logo deep-blue strokes */
  --rk-blue-darker:   #1E5E85;   /* hover/active */
  --rk-blue-ink:      #0C3E5F;   /* heading-grade dark blue */
  --rk-blue-soft:     #E8F4FB;   /* tinted surface */
  --rk-blue-mist:     #F2F8FC;   /* faintest tint */
  --rk-blue-glow:     rgba(63, 165, 221, 0.18);

  /* Neutrals */
  --rk-ink:           #0A0E14;   /* near-black, body text */
  --rk-ink-soft:      #1F2937;
  --rk-graphite:      #475569;
  --rk-slate:         #64748B;
  --rk-mute:          #94A3B8;
  --rk-line:          #E5E7EB;
  --rk-line-soft:     #F1F3F5;
  --rk-surface:       #FFFFFF;
  --rk-surface-2:     #FAFBFC;
  --rk-surface-3:     #F4F6F8;

  /* Manifesto pop palette (dark canvas) */
  --rk-night:         #06080C;
  --rk-night-2:       #0F141B;
  --rk-night-line:    rgba(255, 255, 255, 0.08);

  /* Status */
  --rk-danger:        #DC2626;
  --rk-danger-soft:   #FEE2E2;
  --rk-success:       #059669;

  /* Geometry */
  --rk-r-sm:          6px;
  --rk-r:             10px;
  --rk-r-lg:          14px;
  --rk-r-xl:          20px;
  --rk-r-full:        9999px;

  /* Shadow */
  --rk-sh-sm:         0 1px 2px rgba(10, 14, 20, 0.04);
  --rk-sh:            0 1px 3px rgba(10, 14, 20, 0.05), 0 4px 12px rgba(10, 14, 20, 0.04);
  --rk-sh-md:         0 4px 6px -2px rgba(10, 14, 20, 0.05), 0 12px 24px -8px rgba(10, 14, 20, 0.12);
  --rk-sh-lg:         0 10px 30px rgba(10, 14, 20, 0.10);
  --rk-sh-glow:       0 0 0 1px var(--rk-blue-glow), 0 12px 32px rgba(63, 165, 221, 0.25);

  /* Type */
  --rk-font-display:  "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --rk-font-body:     "Manrope", ui-sans-serif, system-ui, sans-serif;
  --rk-font-editorial:"Fraunces", "Iowan Old Style", Georgia, serif;
  --rk-font-mono:     "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Motion */
  --rk-ease:          cubic-bezier(0.4, 0, 0.2, 1);
  --rk-ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --rk-dur:           220ms;
  --rk-dur-slow:      420ms;

  /* Control sizing */
  --rk-ctl-h:         48px;
}

/* -------------------------------------------------------------
   03 — BASE / TYPOGRAPHY
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) {
  font-family: var(--rk-font-body);
  color: var(--rk-ink);
  background: var(--rk-surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "cv11";
}

body:not(.category-csf):not(.category-sic) .entry-content {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--rk-ink-soft);
}

body:not(.category-csf):not(.category-sic) .entry-content p {
  margin: 0 0 1.25em 0;
}

body:not(.category-csf):not(.category-sic) h1,
body:not(.category-csf):not(.category-sic) h2,
body:not(.category-csf):not(.category-sic) h3,
body:not(.category-csf):not(.category-sic) h4,
body:not(.category-csf):not(.category-sic) h5,
body:not(.category-csf):not(.category-sic) h6,
body:not(.category-csf):not(.category-sic) .uagb-heading-text {
  font-family: var(--rk-font-display);
  color: var(--rk-ink);
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.15;
  margin: 1.6em 0 0.6em;
  font-variation-settings: "opsz" 48, "wdth" 100;
}

body:not(.category-csf):not(.category-sic) h1,
body:not(.category-csf):not(.category-sic) .entry-title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0.3em 0 0.5em;
  font-variation-settings: "opsz" 72, "wdth" 100;
}

body:not(.category-csf):not(.category-sic) h2 {
  font-size: clamp(1.625rem, 2.6vw, 2.25rem);
}

body:not(.category-csf):not(.category-sic) h3 {
  font-size: clamp(1.25rem, 1.9vw, 1.5rem);
}

body:not(.category-csf):not(.category-sic) .entry-content a:not(.wp-block-button__link):not(.uagb-buttons-repeater):not(.read-more) {
  color: var(--rk-blue-deep);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(42, 127, 178, 0.35);
  transition: color var(--rk-dur) var(--rk-ease), text-decoration-color var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .entry-content a:not(.wp-block-button__link):not(.uagb-buttons-repeater):not(.read-more):hover {
  color: var(--rk-blue-darker);
  text-decoration-color: var(--rk-blue-deep);
}

body:not(.category-csf):not(.category-sic) .entry-content ul,
body:not(.category-csf):not(.category-sic) .entry-content ol {
  padding-left: 1.4em;
  margin: 0 0 1.4em;
}

body:not(.category-csf):not(.category-sic) .entry-content li {
  margin: 0.4em 0;
}

body:not(.category-csf):not(.category-sic) .entry-content strong {
  color: var(--rk-ink);
  font-weight: 700;
}

/* Selection */
body:not(.category-csf):not(.category-sic) ::selection {
  background: var(--rk-blue);
  color: #fff;
}

/* -------------------------------------------------------------
   04 — PAGE HEADER / ENTRY HEADER (default pages)
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) .entry-header {
  margin-bottom: 2.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid var(--rk-line);
  position: relative;
}

body:not(.category-csf):not(.category-sic) .entry-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 60px;
  height: 3px;
  background: var(--rk-blue);
  border-radius: 2px;
}

body:not(.category-csf):not(.category-sic) .page-header {
  margin-bottom: 2em;
}

body:not(.category-csf):not(.category-sic) .page-title {
  font-family: var(--rk-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
}

/* -------------------------------------------------------------
   05 — BUTTONS (sitewide pill style)
   Targets: WP buttons + UAGB buttons + raw <a class="rk-btn">
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) .wp-block-button__link,
body:not(.category-csf):not(.category-sic) .uagb-buttons-repeater,
body:not(.category-csf):not(.category-sic) .rk-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.85em 1.6em !important;
  background: var(--rk-blue) !important;
  color: #fff !important;
  border: 1.5px solid var(--rk-blue) !important;
  border-radius: var(--rk-r-full) !important;
  font-family: var(--rk-font-body);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform var(--rk-dur) var(--rk-ease),
              background var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease),
              border-color var(--rk-dur) var(--rk-ease);
  box-shadow: 0 1px 2px rgba(10, 14, 20, 0.06),
              0 8px 22px -8px var(--rk-blue-glow);
}

body:not(.category-csf):not(.category-sic) .wp-block-button__link:hover,
body:not(.category-csf):not(.category-sic) .uagb-buttons-repeater:hover,
body:not(.category-csf):not(.category-sic) .rk-btn:hover {
  background: var(--rk-blue-darker) !important;
  border-color: var(--rk-blue-darker) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(10, 14, 20, 0.08),
              0 16px 36px -10px var(--rk-blue-glow);
  color: #fff !important;
}

body:not(.category-csf):not(.category-sic) .wp-block-button__link:active,
body:not(.category-csf):not(.category-sic) .uagb-buttons-repeater:active,
body:not(.category-csf):not(.category-sic) .rk-btn:active {
  transform: translateY(0);
}

/* Secondary / ghost variant */
body:not(.category-csf):not(.category-sic) .rk-btn--ghost,
body:not(.category-csf):not(.category-sic) .is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--rk-blue-deep) !important;
  border-color: var(--rk-blue) !important;
  box-shadow: none !important;
}

body:not(.category-csf):not(.category-sic) .rk-btn--ghost:hover,
body:not(.category-csf):not(.category-sic) .is-style-outline .wp-block-button__link:hover {
  background: var(--rk-blue-soft) !important;
  color: var(--rk-blue-darker) !important;
  border-color: var(--rk-blue-deep) !important;
}

/* Dark/inverted button variant (for manifesto/dark sections) */
body:not(.category-csf):not(.category-sic) .rk-btn--dark {
  background: var(--rk-ink) !important;
  border-color: var(--rk-ink) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.15), 0 10px 28px -10px rgba(0,0,0,.4) !important;
}

body:not(.category-csf):not(.category-sic) .rk-btn--dark:hover {
  background: var(--rk-blue) !important;
  border-color: var(--rk-blue) !important;
}

/* -------------------------------------------------------------
   06 — HOMEPAGE: HERO + STATS + EVERYTHING
   These styles target the page that contains .rk-home class on the
   entry-content (added via the Gutenberg block we deliver).
   ------------------------------------------------------------- */
.rk-home {
  --hero-pad: clamp(3rem, 7vw, 6rem);
}

.rk-hero {
  position: relative;
  padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 3vw, 2.5rem);
  margin: -1rem 0 4rem;
  overflow: hidden;
  border-radius: clamp(16px, 2.5vw, 28px);
  background:
    radial-gradient(ellipse 80% 50% at 80% 0%, rgba(63, 165, 221, 0.12), transparent 60%),
    radial-gradient(ellipse 60% 40% at 0% 100%, rgba(42, 127, 178, 0.08), transparent 60%),
    linear-gradient(180deg, var(--rk-surface) 0%, var(--rk-blue-mist) 100%);
  border: 1px solid var(--rk-line);
}

/* Subtle grid texture overlay */
.rk-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(10, 14, 20, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 14, 20, 0.025) 1px, transparent 1px);
  background-size: 32px 32px;
  background-position: 0 0;
  mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

.rk-hero > * { position: relative; z-index: 1; }

.rk-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--rk-font-mono);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rk-blue-deep);
  padding: 0.45em 0.9em;
  background: rgba(63, 165, 221, 0.10);
  border: 1px solid rgba(63, 165, 221, 0.25);
  border-radius: var(--rk-r-full);
  margin-bottom: 1.25em;
}

.rk-hero__eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rk-blue);
  box-shadow: 0 0 0 4px rgba(63, 165, 221, 0.18);
  animation: rk-pulse 2.4s ease-in-out infinite;
}

@keyframes rk-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(63, 165, 221, 0.18); }
  50% { box-shadow: 0 0 0 8px rgba(63, 165, 221, 0); }
}

.rk-hero__title {
  font-family: var(--rk-font-display) !important;
  font-size: clamp(2.25rem, 6vw, 4.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 0.5em !important;
  max-width: 14ch;
  font-variation-settings: "opsz" 96, "wdth" 100;
}

.rk-hero__title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--rk-blue) 0%, var(--rk-blue-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: relative;
}

.rk-hero__subtitle {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important;
  line-height: 1.55 !important;
  color: var(--rk-graphite) !important;
  max-width: 56ch;
  margin: 0 0 2em !important;
}

.rk-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875em;
  align-items: center;
}

/* Hero stats strip */
.rk-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-top: clamp(2rem, 4vw, 2.5rem);
  border-top: 1px solid rgba(10, 14, 20, 0.08);
}

.rk-stat__value {
  font-family: var(--rk-font-display);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--rk-ink);
  font-variation-settings: "opsz" 72, "wdth" 90;
}

.rk-stat__value sup {
  font-size: 0.5em;
  color: var(--rk-blue);
  margin-left: 0.1em;
  vertical-align: super;
  top: -0.4em;
  position: relative;
}

.rk-stat__label {
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rk-graphite);
  margin-top: 0.5em;
  display: block;
}

@media (max-width: 640px) {
  .rk-stats { grid-template-columns: 1fr; gap: 1rem; padding-top: 1.5rem; }
  .rk-stat { padding: 1rem 0; border-bottom: 1px solid var(--rk-line); }
  .rk-stat:last-child { border-bottom: none; }
}

/* Section eyebrow tag (used on homepage section headers) */
.rk-section-eyebrow {
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rk-blue-deep);
  display: flex;
  align-items: center;
  gap: 0.6em;
  margin: 0 0 0.5em;
}

.rk-section-eyebrow::before {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--rk-blue);
  display: inline-block;
}

.rk-section-eyebrow--center {
  justify-content: center;
}

/* Program type cards (CSF + SIC on homepage and start page) */
.rk-program-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: 2.5rem 0;
}

.rk-program-card {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2rem);
  background: var(--rk-surface);
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-r-xl);
  transition: transform var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease),
              border-color var(--rk-dur) var(--rk-ease);
  overflow: hidden;
}

.rk-program-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--rk-blue), var(--rk-blue-deep));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--rk-dur-slow) var(--rk-ease-out);
}

.rk-program-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--rk-sh-md);
  border-color: rgba(63, 165, 221, 0.35);
}

.rk-program-card:hover::before {
  transform: scaleX(1);
}

.rk-program-card__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-family: var(--rk-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rk-blue-deep);
  background: var(--rk-blue-soft);
  padding: 0.35em 0.7em;
  border-radius: var(--rk-r-sm);
  margin-bottom: 1.25em;
  font-weight: 600;
}

.rk-program-card__title {
  font-family: var(--rk-font-display) !important;
  font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.5em !important;
  line-height: 1.15 !important;
}

.rk-program-card__desc {
  color: var(--rk-graphite) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin: 0 0 1.5em !important;
}

.rk-program-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-family: var(--rk-font-body);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--rk-blue-deep) !important;
  text-decoration: none !important;
  letter-spacing: 0;
  transition: gap var(--rk-dur) var(--rk-ease), color var(--rk-dur) var(--rk-ease);
}

.rk-program-card__link::after {
  content: "→";
  transition: transform var(--rk-dur) var(--rk-ease);
  font-weight: 400;
}

.rk-program-card__link:hover {
  color: var(--rk-blue-darker) !important;
  gap: 0.65em;
}

.rk-program-card__link:hover::after {
  transform: translateX(3px);
}

/* Pillar trio (Hosting / Administration / Stewardship) */
.rk-pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: 2.5rem 0;
}

.rk-pillar {
  padding: clamp(1.5rem, 3vw, 2rem);
  background: var(--rk-surface-2);
  border-radius: var(--rk-r-lg);
  border: 1px solid var(--rk-line-soft);
  text-align: left;
}

.rk-pillar__num {
  display: inline-block;
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--rk-blue);
  margin-bottom: 1.5em;
}

.rk-pillar__title {
  font-family: var(--rk-font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.6em !important;
}

.rk-pillar__desc {
  color: var(--rk-graphite) !important;
  font-size: 0.97rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* -------------------------------------------------------------
   07 — ABOUT / HOW IT WORKS / START — shared content blocks
   ------------------------------------------------------------- */

/* Two-column info block (Who Rekonect Is For / How Donations Work) */
.rk-twocol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  margin: 2.5rem 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--rk-surface-2);
  border: 1px solid var(--rk-line-soft);
  border-radius: var(--rk-r-xl);
}

.rk-twocol__col h3 {
  font-size: 1.35rem !important;
  margin-top: 0 !important;
}

.rk-twocol__col p {
  color: var(--rk-graphite) !important;
}

/* Step list (How It Works) */
.rk-steps {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: 2.5rem 0;
  counter-reset: rk-step;
}

.rk-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--rk-surface);
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-r-lg);
  transition: border-color var(--rk-dur) var(--rk-ease),
              transform var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease);
}

.rk-step:hover {
  border-color: rgba(63, 165, 221, 0.3);
  transform: translateX(3px);
  box-shadow: var(--rk-sh);
}

.rk-step__num {
  counter-increment: rk-step;
  font-family: var(--rk-font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  font-variation-settings: "opsz" 96, "wdth" 85;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--rk-blue);
  min-width: 1.5em;
}

.rk-step__num::before {
  content: "0" counter(rk-step);
}

.rk-step__body h3 {
  margin: 0 0 0.4em !important;
  font-size: clamp(1.15rem, 1.8vw, 1.4rem) !important;
}

.rk-step__body p {
  margin: 0 !important;
  color: var(--rk-graphite) !important;
}

.rk-step__body p + p {
  margin-top: 0.5em !important;
}

.rk-step__body ul {
  margin: 0.5em 0 0 1.2em !important;
  padding: 0 !important;
}

.rk-step__body li {
  color: var(--rk-graphite);
  margin: 0.25em 0;
}

/* Roles strip (Rekonect / BrightLeaf / Organizers) */
.rk-roles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1px;
  background: var(--rk-line);
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-r-lg);
  overflow: hidden;
  margin: 2.5rem 0;
}

.rk-role {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  background: var(--rk-surface);
}

.rk-role__name {
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rk-blue-deep);
  margin-bottom: 1em;
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.rk-role__name::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--rk-blue);
  border-radius: 50%;
}

.rk-role ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.rk-role li {
  color: var(--rk-ink-soft);
  font-size: 0.94rem;
  line-height: 1.5;
  padding: 0.5em 0;
  border-bottom: 1px solid var(--rk-line-soft);
}

.rk-role li:last-child { border-bottom: none; }

/* Call-out / quote block for emphasis */
.rk-callout {
  margin: 2.5rem 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(135deg, var(--rk-blue-soft) 0%, var(--rk-blue-mist) 100%);
  border: 1px solid rgba(63, 165, 221, 0.2);
  border-radius: var(--rk-r-xl);
  position: relative;
  overflow: hidden;
}

.rk-callout::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, var(--rk-blue), var(--rk-blue-deep));
}

.rk-callout__lead {
  font-family: var(--rk-font-editorial) !important;
  font-size: clamp(1.15rem, 2vw, 1.5rem) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: var(--rk-ink) !important;
  margin: 0 !important;
  font-variation-settings: "opsz" 144, "SOFT" 50;
}

.rk-callout__lead strong {
  color: var(--rk-blue-deep) !important;
}

/* "What we believe" or list-style assertion blocks */
.rk-assertions {
  display: grid;
  gap: 0.5rem;
  margin: 2.5rem 0;
}

.rk-assertion {
  padding: 1em 1.25em;
  background: var(--rk-surface);
  border-left: 3px solid var(--rk-blue);
  font-size: 1.05rem;
  line-height: 1.5;
  color: var(--rk-ink);
  font-weight: 500;
  transition: padding var(--rk-dur) var(--rk-ease),
              border-left-width var(--rk-dur) var(--rk-ease),
              background var(--rk-dur) var(--rk-ease);
}

.rk-assertion:hover {
  padding-left: 1.5em;
  border-left-width: 5px;
  background: var(--rk-blue-mist);
}

/* CTA strip (bottom of about/how/start) */
.rk-cta-strip {
  margin: 4rem 0 2rem;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
  background: var(--rk-ink);
  color: #fff;
  border-radius: var(--rk-r-xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.rk-cta-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(63, 165, 221, 0.2), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(42, 127, 178, 0.15), transparent 50%);
  pointer-events: none;
}

.rk-cta-strip > * { position: relative; z-index: 1; }

.rk-cta-strip h2,
.rk-cta-strip .uagb-heading-text {
  color: #fff !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  margin: 0 0 0.4em !important;
}

.rk-cta-strip p {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 1.05rem !important;
  max-width: 56ch;
  margin: 0 auto 1.75em !important;
}

.rk-cta-strip .wp-block-button__link,
.rk-cta-strip .uagb-buttons-repeater {
  background: var(--rk-blue) !important;
  border-color: var(--rk-blue) !important;
}

.rk-cta-strip .wp-block-button__link:hover,
.rk-cta-strip .uagb-buttons-repeater:hover {
  background: var(--rk-blue-bright) !important;
  border-color: var(--rk-blue-bright) !important;
}

.rk-cta-strip__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75em;
}

/* -------------------------------------------------------------
   08 — MISSION PAGE (editorial gravitas, lighter ground)
   ------------------------------------------------------------- */
.rk-mission .entry-title {
  font-family: var(--rk-font-editorial) !important;
  font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  font-variation-settings: "opsz" 144, "SOFT" 50;
  line-height: 1 !important;
}

.rk-mission .entry-content {
  font-family: var(--rk-font-body);
  font-size: 1.15rem;
  line-height: 1.7;
  max-width: 64ch;
  margin: 0 auto;
}

.rk-mission .entry-content > p:first-of-type {
  font-family: var(--rk-font-editorial);
  font-size: clamp(1.5rem, 2.5vw, 1.85rem);
  line-height: 1.35;
  font-weight: 400;
  color: var(--rk-ink);
  margin: 0 0 1.5em;
  font-variation-settings: "opsz" 144;
}

.rk-mission .entry-content > p:first-of-type strong {
  color: var(--rk-blue-deep);
}

.rk-mission .entry-content h3 {
  font-family: var(--rk-font-editorial) !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
  margin: 2.5em 0 0.5em !important;
  font-variation-settings: "opsz" 144;
}

.rk-mission .entry-content h3::before {
  content: "§";
  color: var(--rk-blue);
  font-weight: 400;
  margin-right: 0.5em;
  font-family: var(--rk-font-editorial);
}

/* The big stats line */
.rk-mission .entry-content p strong:only-child,
.rk-mission .rk-mission-stats {
  display: block;
  font-family: var(--rk-font-display);
  font-size: clamp(1.1rem, 1.8vw, 1.3rem);
  font-weight: 700;
  line-height: 1.45;
  color: var(--rk-ink);
  padding: 1.5em;
  margin: 2em 0;
  background: var(--rk-blue-soft);
  border-left: 4px solid var(--rk-blue);
  border-radius: 0 var(--rk-r) var(--rk-r) 0;
  letter-spacing: -0.005em;
}

/* -------------------------------------------------------------
   09 — MANIFESTO PAGE — DARK CANVAS, EDITORIAL + EDGE
   This is the showpiece. Goes full takeover dark mode.
   ------------------------------------------------------------- */
body.rk-manifesto-body:not(.category-csf):not(.category-sic) {
  background: var(--rk-night);
}

body.rk-manifesto-body:not(.category-csf):not(.category-sic) #page,
body.rk-manifesto-body:not(.category-csf):not(.category-sic) .site-content,
body.rk-manifesto-body:not(.category-csf):not(.category-sic) .content-area,
body.rk-manifesto-body:not(.category-csf):not(.category-sic) #main,
body.rk-manifesto-body:not(.category-csf):not(.category-sic) article.page {
  background: var(--rk-night) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

body.rk-manifesto-body:not(.category-csf):not(.category-sic) .inside-article {
  background: transparent !important;
}

.rk-manifesto {
  position: relative;
  padding: clamp(2rem, 5vw, 4rem) 0;
  color: rgba(255, 255, 255, 0.85);
}

/* Animated grid backdrop */
.rk-manifesto::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(63, 165, 221, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63, 165, 221, 0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  z-index: 0;
  animation: rk-grid-drift 60s linear infinite;
}

@keyframes rk-grid-drift {
  to { background-position: 64px 64px; }
}

/* Subtle blue radial glow */
.rk-manifesto::after {
  content: "";
  position: fixed;
  top: -20%;
  right: -10%;
  width: 60vw;
  height: 60vw;
  background: radial-gradient(circle, rgba(63, 165, 221, 0.08) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
  filter: blur(40px);
}

.rk-manifesto > * { position: relative; z-index: 1; }

/* Hide the standard entry-header on manifesto — we build our own */
.rk-manifesto .entry-header {
  display: none;
}

/* Manifesto hero: massive opening */
.rk-manifesto__hero {
  padding: clamp(3rem, 8vw, 6rem) clamp(1rem, 3vw, 2rem) clamp(2rem, 5vw, 4rem);
  text-align: left;
  max-width: 1100px;
  margin: 0 auto;
  border-bottom: 1px solid var(--rk-night-line);
}

.rk-manifesto__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  font-family: var(--rk-font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rk-blue-bright);
  margin-bottom: 1.5em;
  opacity: 0;
  animation: rk-fade-up 0.8s var(--rk-ease-out) 0.1s forwards;
}

.rk-manifesto__eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--rk-blue);
}

.rk-manifesto__opener {
  font-family: var(--rk-font-editorial);
  font-size: clamp(2.5rem, 8vw, 6rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: #fff;
  margin: 0 0 0.5em;
  font-variation-settings: "opsz" 144, "SOFT" 30;
  opacity: 0;
  animation: rk-fade-up 1s var(--rk-ease-out) 0.3s forwards;
}

.rk-manifesto__opener em {
  font-style: italic;
  background: linear-gradient(135deg, var(--rk-blue-bright) 0%, var(--rk-blue) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.rk-manifesto__opener-sub {
  font-family: var(--rk-font-body);
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.55);
  margin: 1.5em 0 0;
  max-width: 50ch;
  letter-spacing: 0;
  opacity: 0;
  animation: rk-fade-up 1s var(--rk-ease-out) 0.6s forwards;
}

@keyframes rk-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Manifesto body content */
.rk-manifesto__content {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
  font-family: var(--rk-font-body);
  font-size: 1.1rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.78);
}

.rk-manifesto__content p {
  margin: 0 0 1.3em;
}

.rk-manifesto__content p strong {
  color: #fff;
  font-weight: 700;
}

.rk-manifesto__content a {
  color: var(--rk-blue-bright) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(90, 184, 236, 0.4);
}

.rk-manifesto__content a:hover {
  text-decoration-color: var(--rk-blue-bright);
}

/* Section headings — editorial with marker */
.rk-manifesto__content h2,
.rk-manifesto__content h3 {
  font-family: var(--rk-font-editorial);
  font-size: clamp(1.65rem, 3vw, 2.5rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #fff;
  margin: 3em 0 1em;
  position: relative;
  padding-left: 1.2em;
  font-variation-settings: "opsz" 144, "SOFT" 50;
}

.rk-manifesto__content h2::before,
.rk-manifesto__content h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.7em;
  height: 1.5px;
  background: var(--rk-blue);
}

/* Drop cap on first paragraph after each h3 */
.rk-manifesto__content h3 + p::first-letter {
  font-family: var(--rk-font-editorial);
  font-size: 4.2em;
  font-weight: 400;
  float: left;
  line-height: 0.85;
  margin: 0.05em 0.12em -0.05em 0;
  color: var(--rk-blue-bright);
  font-variation-settings: "opsz" 144;
}

/* "What we believe, plainly" — paragraphs become punchy lines */
.rk-manifesto__beliefs {
  margin: 3em 0;
  padding: 2em 0;
  border-top: 1px solid var(--rk-night-line);
  border-bottom: 1px solid var(--rk-night-line);
}

.rk-manifesto__belief {
  font-family: var(--rk-font-display);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  padding: 0.5em 0;
  margin: 0;
  letter-spacing: -0.005em;
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 0.6em;
  opacity: 0.85;
  transition: opacity var(--rk-dur) var(--rk-ease), color var(--rk-dur) var(--rk-ease), transform var(--rk-dur) var(--rk-ease);
}

.rk-manifesto__belief::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--rk-blue);
  flex-shrink: 0;
  transform: rotate(45deg);
  transition: transform var(--rk-dur) var(--rk-ease), background var(--rk-dur) var(--rk-ease);
}

.rk-manifesto__belief:hover {
  opacity: 1;
  color: var(--rk-blue-bright);
  transform: translateX(4px);
}

.rk-manifesto__belief:hover::before {
  background: var(--rk-blue-bright);
  transform: rotate(45deg) scale(1.3);
}

/* People list (The friend, The teacher, The block captain...) */
.rk-manifesto__people {
  margin: 2em 0;
  padding: 1.5em 0;
}

.rk-manifesto__people p {
  font-family: var(--rk-font-editorial);
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.4;
  font-style: italic;
  color: rgba(255, 255, 255, 0.7);
  padding: 0.5em 0;
  margin: 0 0 0.25em;
  border-left: 2px solid transparent;
  padding-left: 1em;
  transition: border-color var(--rk-dur) var(--rk-ease), color var(--rk-dur) var(--rk-ease);
  font-variation-settings: "opsz" 144;
}

.rk-manifesto__people p:hover {
  border-left-color: var(--rk-blue);
  color: #fff;
}

/* Closing CTA */
.rk-manifesto__close {
  margin: 4em 0 2em;
  padding: clamp(2rem, 5vw, 3.5rem);
  background:
    linear-gradient(135deg, rgba(63, 165, 221, 0.08) 0%, transparent 100%);
  border: 1px solid var(--rk-night-line);
  border-radius: var(--rk-r-xl);
  text-align: center;
}

.rk-manifesto__close-line {
  font-family: var(--rk-font-editorial);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 400;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 1.5em;
  font-variation-settings: "opsz" 144, "SOFT" 50;
}

.rk-manifesto__close-line strong {
  background: linear-gradient(135deg, var(--rk-blue-bright), var(--rk-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 500;
}

.rk-manifesto__close .wp-block-button__link,
.rk-manifesto__close .uagb-buttons-repeater,
.rk-manifesto__close .rk-btn {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--rk-night) !important;
}

.rk-manifesto__close .wp-block-button__link:hover,
.rk-manifesto__close .uagb-buttons-repeater:hover,
.rk-manifesto__close .rk-btn:hover {
  background: var(--rk-blue) !important;
  border-color: var(--rk-blue) !important;
  color: #fff !important;
}

/* Scroll-revealed paragraphs (handled via JS observer) */
.rk-manifesto__content > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s var(--rk-ease-out), transform 0.7s var(--rk-ease-out);
}

.rk-manifesto__content > .rk-in-view {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .rk-manifesto__content > * { opacity: 1; transform: none; }
  .rk-manifesto::before { animation: none; }
  .rk-manifesto__eyebrow,
  .rk-manifesto__opener,
  .rk-manifesto__opener-sub { opacity: 1; animation: none; }
}

/* -------------------------------------------------------------
   10 — BLOG (archive + single)
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic).category .site-main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

body:not(.category-csf):not(.category-sic).category article.post {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.4fr;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--rk-surface);
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-r-xl);
  margin: 0 0 1.5rem;
  transition: transform var(--rk-dur) var(--rk-ease),
              border-color var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic).category article.post:hover {
  transform: translateY(-2px);
  border-color: rgba(63, 165, 221, 0.3);
  box-shadow: var(--rk-sh-md);
}

body:not(.category-csf):not(.category-sic).category .inside-article {
  display: contents;
}

body:not(.category-csf):not(.category-sic).category .post-image {
  order: -1;
  border-radius: var(--rk-r-lg);
  overflow: hidden;
  align-self: center;
}

body:not(.category-csf):not(.category-sic).category .post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--rk-ease-out);
}

body:not(.category-csf):not(.category-sic).category article.post:hover .post-image img {
  transform: scale(1.04);
}

body:not(.category-csf):not(.category-sic).category .entry-header {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0.5em;
}

body:not(.category-csf):not(.category-sic).category .entry-header::after { display: none; }

body:not(.category-csf):not(.category-sic).category .entry-title {
  font-size: clamp(1.3rem, 2.2vw, 1.65rem) !important;
  line-height: 1.2 !important;
  margin: 0 0 0.5em !important;
}

body:not(.category-csf):not(.category-sic).category .entry-title a {
  color: var(--rk-ink) !important;
  text-decoration: none !important;
  background-image: linear-gradient(to right, var(--rk-blue), var(--rk-blue));
  background-size: 0% 2px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s var(--rk-ease);
}

body:not(.category-csf):not(.category-sic).category .entry-title a:hover {
  background-size: 100% 2px;
  color: var(--rk-blue-deep) !important;
}

body:not(.category-csf):not(.category-sic).category .entry-meta {
  font-family: var(--rk-font-mono);
  font-size: 0.78rem;
  color: var(--rk-slate);
  letter-spacing: 0.02em;
  margin: 0 0 0.75em;
}

body:not(.category-csf):not(.category-sic).category .entry-meta a {
  color: var(--rk-slate) !important;
  text-decoration: none !important;
}

body:not(.category-csf):not(.category-sic).category .entry-meta a:hover {
  color: var(--rk-blue-deep) !important;
}

body:not(.category-csf):not(.category-sic).category .entry-summary {
  color: var(--rk-graphite);
  font-size: 0.97rem;
  line-height: 1.6;
}

body:not(.category-csf):not(.category-sic).category .read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-weight: 700;
  color: var(--rk-blue-deep) !important;
  text-decoration: none !important;
  margin-top: 0.4em;
  transition: gap var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic).category .read-more:hover {
  gap: 0.7em;
}

body:not(.category-csf):not(.category-sic).category .entry-meta.cat-links,
body:not(.category-csf):not(.category-sic).category .entry-meta.tags-links,
body:not(.category-csf):not(.category-sic).category footer.entry-meta {
  margin-top: 0.75em;
  font-size: 0.78rem;
}

body:not(.category-csf):not(.category-sic).category footer.entry-meta a {
  display: inline-block;
  padding: 0.15em 0.6em;
  background: var(--rk-surface-3);
  border-radius: var(--rk-r-sm);
  color: var(--rk-graphite) !important;
  text-decoration: none !important;
  font-weight: 500;
  margin: 0 0.25em 0.25em 0;
}

body:not(.category-csf):not(.category-sic).category footer.entry-meta a:hover {
  background: var(--rk-blue-soft);
  color: var(--rk-blue-deep) !important;
}

/* Pagination */
body:not(.category-csf):not(.category-sic) .paging-navigation,
body:not(.category-csf):not(.category-sic) .nav-links,
body:not(.category-csf):not(.category-sic) .gv-widget-page-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4em;
  margin: 2.5rem 0;
  padding: 1rem 0;
}

body:not(.category-csf):not(.category-sic) .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 0.6em;
  border-radius: var(--rk-r);
  background: var(--rk-surface);
  border: 1px solid var(--rk-line);
  color: var(--rk-ink-soft) !important;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none !important;
  transition: all var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .page-numbers:hover {
  background: var(--rk-blue-soft);
  border-color: var(--rk-blue);
  color: var(--rk-blue-deep) !important;
}

body:not(.category-csf):not(.category-sic) .page-numbers.current {
  background: var(--rk-blue);
  border-color: var(--rk-blue);
  color: #fff !important;
}

body:not(.category-csf):not(.category-sic) .page-numbers.dots {
  background: transparent;
  border: none;
  color: var(--rk-mute) !important;
}

/* Sidebar widgets */
body:not(.category-csf):not(.category-sic) .sidebar .widget {
  background: var(--rk-surface-2);
  border-radius: var(--rk-r-lg);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--rk-line-soft);
}

body:not(.category-csf):not(.category-sic) .sidebar .widget h2 {
  font-size: 1rem !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 1em !important;
  color: var(--rk-slate);
}

body:not(.category-csf):not(.category-sic) .wp-block-search__inside-wrapper {
  display: flex;
  gap: 0.5em;
}

body:not(.category-csf):not(.category-sic) .wp-block-search__input {
  flex: 1;
  padding: 0.6em 0.9em;
  border: 1.5px solid var(--rk-line);
  border-radius: var(--rk-r);
  background: #fff;
  font: inherit;
  font-size: 0.95rem;
}

body:not(.category-csf):not(.category-sic) .wp-block-search__input:focus {
  outline: none;
  border-color: var(--rk-blue);
  box-shadow: 0 0 0 3px var(--rk-blue-glow);
}

body:not(.category-csf):not(.category-sic) .wp-block-search__button {
  padding: 0.6em 1.1em;
  background: var(--rk-blue);
  color: #fff;
  border: none;
  border-radius: var(--rk-r);
  font: inherit;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .wp-block-search__button:hover {
  background: var(--rk-blue-darker);
}

body:not(.category-csf):not(.category-sic) .wp-block-latest-posts__list li {
  padding: 0.4em 0;
  border-bottom: 1px solid var(--rk-line-soft);
}

body:not(.category-csf):not(.category-sic) .wp-block-latest-posts__list li:last-child {
  border-bottom: none;
}

body:not(.category-csf):not(.category-sic) .wp-block-latest-posts__post-title {
  color: var(--rk-ink-soft) !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 0.92rem;
  line-height: 1.4;
  transition: color var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .wp-block-latest-posts__post-title:hover {
  color: var(--rk-blue-deep) !important;
}

@media (max-width: 720px) {
  body:not(.category-csf):not(.category-sic).category article.post {
    grid-template-columns: 1fr;
  }
}

/* -------------------------------------------------------------
   11 — GRAVITYVIEW (Browse Programs) — REPLACES PRIOR STYLES
   Expanded category color coding.
   ------------------------------------------------------------- */

#gv-view-2433-1 {
  --rk-card-r: var(--rk-r-xl);
  margin: 2rem 0 3rem;
}

/* Search widget */
#gv-view-2433-1 .gv-widget-search {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  max-width: 100%;
}

#gv-view-2433-1 .gv-widget-search input[type="search"],
#gv-view-2433-1 .gv-widget-search input[type="text"] {
  flex: 1;
  min-width: 200px;
  padding: 0.7em 1em;
  border: 1.5px solid var(--rk-line);
  border-radius: var(--rk-r);
  background: var(--rk-surface);
  font: inherit;
  font-size: 0.95rem;
  transition: border-color var(--rk-dur) var(--rk-ease), box-shadow var(--rk-dur) var(--rk-ease);
}

#gv-view-2433-1 .gv-widget-search input[type="search"]:focus,
#gv-view-2433-1 .gv-widget-search input[type="text"]:focus {
  outline: none;
  border-color: var(--rk-blue);
  box-shadow: 0 0 0 3px var(--rk-blue-glow);
}

#gv-view-2433-1 .gv-widget-search input[type="submit"] {
  padding: 0.7em 1.4em;
  background: var(--rk-blue);
  color: #fff;
  border: 1.5px solid var(--rk-blue);
  border-radius: var(--rk-r);
  font: inherit;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all var(--rk-dur) var(--rk-ease);
}

#gv-view-2433-1 .gv-widget-search input[type="submit"]:hover {
  background: var(--rk-blue-darker);
  border-color: var(--rk-blue-darker);
}

/* Grid */
#gv-view-2433-1 .gv-list-container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

#gv-view-2433-1 .gv-list-container * {
  box-sizing: border-box;
  min-width: 0;
}

/* Tile */
#gv-view-2433-1 .gv-list-view {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.85rem;
  padding: 1.5rem 1.5rem 1.25rem;
  background: var(--rk-surface);
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-card-r);
  cursor: pointer;
  overflow: hidden;
  transition: transform var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease),
              border-color var(--rk-dur) var(--rk-ease);
  min-height: 240px;
  isolation: isolate;
}

/* Top accent stripe — colored per category */
#gv-view-2433-1 .gv-list-view::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--rk-tag-color, var(--rk-blue));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.4s var(--rk-ease-out);
  z-index: 1;
}

/* Decorative diagonal glow */
#gv-view-2433-1 .gv-list-view::after {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 70% 30%,
              color-mix(in srgb, var(--rk-tag-color, var(--rk-blue)) 10%, transparent),
              transparent 50%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.4;
  transition: opacity var(--rk-dur) var(--rk-ease);
}

#gv-view-2433-1 .gv-list-view:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(10, 14, 20, 0.08),
              0 16px 36px -12px var(--rk-blue-glow);
  border-color: color-mix(in srgb, var(--rk-tag-color, var(--rk-blue)) 50%, var(--rk-line));
}

#gv-view-2433-1 .gv-list-view:hover::before {
  transform: scaleX(1);
}

#gv-view-2433-1 .gv-list-view:hover::after {
  opacity: 0.8;
}

#gv-view-2433-1 .gv-list-view > * { position: relative; z-index: 1; }

/* Title */
#gv-view-2433-1 .gv-list-view-title h3 {
  margin: 0 !important;
  font-family: var(--rk-font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
  color: var(--rk-ink) !important;
}

/* Content area */
#gv-view-2433-1 .gv-list-view-content,
#gv-view-2433-1 .gv-list-view-content > div {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

#gv-view-2433-1 .gv-field-21-4,
#gv-view-2433-1 .gv-field-21-4 * { width: 100% !important; max-width: 100% !important; }

#gv-view-2433-1 .gv-field-21-4 p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--rk-graphite);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#gv-view-2433-1 .gv-field-21-4 a[href*="/entry/"] {
  display: none !important;
}

/* Footer */
#gv-view-2433-1 .gv-list-view-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75em;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  border-top: 1px dashed var(--rk-line);
  padding-top: 0.85rem;
}

/* Tag pill */
#gv-view-2433-1 .gv-field-21-5 {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.4em 0.75em;
  background: color-mix(in srgb, var(--rk-tag-color, var(--rk-blue)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--rk-tag-color, var(--rk-blue)) 35%, transparent);
  color: color-mix(in srgb, var(--rk-tag-color, var(--rk-blue)) 75%, var(--rk-ink));
  border-radius: var(--rk-r-full);
  font-family: var(--rk-font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

#gv-view-2433-1 .gv-field-21-5::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rk-tag-color, var(--rk-blue));
}

/* Donate button on tile */
#gv-view-2433-1 .gv-field-21-7 a {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  padding: 0.55em 1em;
  background: var(--rk-ink) !important;
  color: #fff !important;
  border-radius: var(--rk-r-full);
  font-family: var(--rk-font-body);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  transition: background var(--rk-dur) var(--rk-ease), gap var(--rk-dur) var(--rk-ease);
}

#gv-view-2433-1 .gv-field-21-7 a::after {
  content: "→";
  transition: transform var(--rk-dur) var(--rk-ease);
}

#gv-view-2433-1 .gv-field-21-7 a:hover {
  background: var(--rk-blue-deep) !important;
  gap: 0.55em;
}

#gv-view-2433-1 .gv-list-view:hover .gv-field-21-7 a {
  background: var(--rk-blue) !important;
}

/* Category color tokens — sets --rk-tag-color */
#gv-view-2433-1 .rk-tag-community             { --rk-tag-color: #3FA5DD; } /* brand blue */
#gv-view-2433-1 .rk-tag-emergencies           { --rk-tag-color: #DC2626; } /* red */
#gv-view-2433-1 .rk-tag-education             { --rk-tag-color: #7C3AED; } /* purple */
#gv-view-2433-1 .rk-tag-family-support        { --rk-tag-color: #EA580C; } /* orange */
#gv-view-2433-1 .rk-tag-medical-expenses      { --rk-tag-color: #0891B2; } /* teal */
#gv-view-2433-1 .rk-tag-monthly-bills         { --rk-tag-color: #65A30D; } /* lime */
#gv-view-2433-1 .rk-tag-religious             { --rk-tag-color: #B45309; } /* amber */
#gv-view-2433-1 .rk-tag-environment           { --rk-tag-color: #059669; } /* emerald */
#gv-view-2433-1 .rk-tag-funerals-and-memorials{ --rk-tag-color: #475569; } /* slate */
#gv-view-2433-1 .rk-tag-volunteering          { --rk-tag-color: #DB2777; } /* pink */
#gv-view-2433-1 .rk-tag-other                 { --rk-tag-color: #64748B; } /* neutral */

/* Pagination */
#gv-view-2433-1 .gv-widgets-footer {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rk-line);
}

#gv-view-2433-1 .gv-widget-page-links ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4em;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* -------------------------------------------------------------
   12 — UAGB block sanitization
   Strip default UAGB styles that fight ours
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) .wp-block-uagb-container,
body:not(.category-csf):not(.category-sic) .uagb-container-inner-blocks-wrap {
  background: transparent;
}

body:not(.category-csf):not(.category-sic) .uagb-buttons__wrap {
  gap: 0.75em;
}

body:not(.category-csf):not(.category-sic) .uagb-button__wrapper {
  margin: 0 !important;
}

/* Default the alignfull/alignwide UAGB hero container fix */
body:not(.category-csf):not(.category-sic) .alignfull.uagb-is-root-container {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: clamp(1.25rem, 3vw, 2.5rem);
  padding-right: clamp(1.25rem, 3vw, 2.5rem);
}

/* -------------------------------------------------------------
   13 — FORMS — SHARED BASE (#5 Contact, #18 Donate, #37 Start)
   Single set of tokens scoped to all three forms.
   ------------------------------------------------------------- */
#gform_wrapper_5,
#gform_wrapper_18,
#gform_wrapper_37 {
  --f-accent:        var(--rk-blue);
  --f-accent-hover:  var(--rk-blue-darker);
  --f-accent-dark:   var(--rk-blue-ink);
  --f-accent-soft:   var(--rk-blue-soft);
  --f-accent-glow:   var(--rk-blue-glow);
  --f-text:          var(--rk-ink);
  --f-text-soft:     var(--rk-ink-soft);
  --f-muted:         var(--rk-graphite);
  --f-subtle:        var(--rk-mute);
  --f-line:          var(--rk-line);
  --f-line-soft:     var(--rk-line-soft);
  --f-surface:       var(--rk-surface);
  --f-surface-2:     var(--rk-surface-2);
  --f-danger:        var(--rk-danger);
  --f-danger-soft:   var(--rk-danger-soft);
  --f-r-sm:          var(--rk-r-sm);
  --f-r:             var(--rk-r);
  --f-r-lg:          var(--rk-r-lg);
  --f-r-full:        var(--rk-r-full);
  --f-sh-sm:         var(--rk-sh-sm);
  --f-sh:            var(--rk-sh);
  --f-ctl-h:         var(--rk-ctl-h);
}

/* Box-sizing reset */
#gform_wrapper_5,
#gform_wrapper_5 *,
#gform_wrapper_5 *::before,
#gform_wrapper_5 *::after,
#gform_wrapper_18,
#gform_wrapper_18 *,
#gform_wrapper_18 *::before,
#gform_wrapper_18 *::after,
#gform_wrapper_37,
#gform_wrapper_37 *,
#gform_wrapper_37 *::before,
#gform_wrapper_37 *::after {
  box-sizing: border-box !important;
}

/* Wrapper card */
#gform_wrapper_5,
#gform_wrapper_18,
#gform_wrapper_37 {
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  padding: clamp(1.25rem, 3vw, 2rem) !important;
  background: var(--f-surface) !important;
  border: 1px solid var(--f-line) !important;
  border-radius: var(--rk-r-xl) !important;
  box-shadow: var(--rk-sh-md) !important;
  font-family: var(--rk-font-body) !important;
  color: var(--f-text) !important;
  line-height: 1.55 !important;
}

/* Strip stray strong wrappers */
#gform_wrapper_18 fieldset > strong,
#gform_wrapper_18 fieldset > strong > strong,
#gform_wrapper_18 .gfield > strong,
#gform_wrapper_18 .gfield > strong > strong {
  font-weight: inherit !important;
  display: contents !important;
}

/* Heading */
#gform_wrapper_5 .gform_heading,
#gform_wrapper_18 .gform_heading,
#gform_wrapper_37 .gform_heading {
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  text-align: left !important;
  border: none !important;
}

#gform_wrapper_5 .gform_required_legend,
#gform_wrapper_18 .gform_required_legend,
#gform_wrapper_37 .gform_required_legend {
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  color: var(--f-muted);
  margin: 0 0 0.75em;
  letter-spacing: 0.04em;
}

#gform_wrapper_5 .gform_description,
#gform_wrapper_18 .gform_description,
#gform_wrapper_37 .gform_description {
  font-size: 0.9rem !important;
  color: var(--f-muted) !important;
  margin: 0 !important;
}

#gform_wrapper_5 .gform_description:empty,
#gform_wrapper_18 .gform_description:empty,
#gform_wrapper_37 .gform_description:empty { display: none !important; }

/* Fields layout */
#gform_wrapper_5 .gform_fields,
#gform_wrapper_18 .gform_fields,
#gform_wrapper_37 .gform_fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.95rem !important;
  grid-template-columns: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#gform_wrapper_18 .donation-method,
#gform_wrapper_18 .donation-amount,
#gform_wrapper_18 .your-donation,
#gform_wrapper_18 .your-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.95rem !important;
  width: 100% !important;
}

#gform_wrapper_5 .gfield,
#gform_wrapper_18 .gfield,
#gform_wrapper_37 .gfield {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#gform_wrapper_5 .gfield--width-half,
#gform_wrapper_18 .gfield--width-half,
#gform_wrapper_37 .gfield--width-half {
  flex-basis: 100% !important;
}

#gform_wrapper_5 .gfield--width-full,
#gform_wrapper_18 .gfield--width-full,
#gform_wrapper_37 .gfield--width-full {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

#gform_wrapper_18 .admin-hidden-markup,
#gform_wrapper_18 .gfield_visibility_hidden,
#gform_wrapper_37 .admin-hidden-markup,
#gform_wrapper_37 .gfield_visibility_hidden { display: none !important; }

/* Section dividers (default) */
#gform_wrapper_18 .gsection,
#gform_wrapper_37 .gsection {
  border: none !important;
  margin: 0.5em 0 0 !important;
  padding: 0 0 0.4em 0 !important;
  border-bottom: 1px solid var(--f-line) !important;
  background: transparent !important;
}

#gform_wrapper_18 .gsection_title,
#gform_wrapper_37 .gsection_title {
  font-family: var(--rk-font-mono) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  color: var(--f-text) !important;
  text-align: left !important;
  margin: 0 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#gform_wrapper_18 .gsection_description,
#gform_wrapper_37 .gsection_description {
  font-size: 0.85rem !important;
  color: var(--f-muted) !important;
  text-align: left !important;
  margin-top: 0.3em !important;
}

#gform_wrapper_18 .your-donation .gsection_title {
  text-align: center !important;
}

/* === ACCORDION HEADERS (donate form #18) === */
#gform_wrapper_18 .gsection.bl-accordion,
#gform_wrapper_18 .gsection.blacc-header,
#gform_wrapper_18 .bl-accordion.blacc-header {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0.25em 0 0 0 !important;
  padding: 14px 44px 14px 18px !important;
  background: var(--f-accent-soft) !important;
  border: 1px solid rgba(63, 165, 221, 0.2) !important;
  border-bottom: 1px solid rgba(63, 165, 221, 0.2) !important;
  border-radius: var(--f-r) !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: background var(--rk-dur) var(--rk-ease), border-color var(--rk-dur) var(--rk-ease) !important;
}

#gform_wrapper_18 .gsection.bl-accordion:hover,
#gform_wrapper_18 .gsection.blacc-header:hover {
  background: color-mix(in srgb, var(--f-accent-soft) 70%, var(--f-accent) 8%) !important;
  border-color: rgba(63, 165, 221, 0.35) !important;
}

#gform_wrapper_18 .gsection.bl-accordion .gsection_title,
#gform_wrapper_18 .gsection.blacc-header .gsection_title {
  font-family: var(--rk-font-mono) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: var(--f-accent-dark) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;
}

#gform_wrapper_18 .gsection.bl-accordion .gsection_description,
#gform_wrapper_18 .gsection.blacc-header .gsection_description {
  font-family: var(--rk-font-display) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--f-text) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

#gform_wrapper_18 .gsection.bl-accordion::after,
#gform_wrapper_18 .gsection.blacc-header::after {
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  margin-top: -7px !important;
  border-right: 2.5px solid var(--f-accent) !important;
  border-bottom: 2.5px solid var(--f-accent) !important;
  transform: rotate(-45deg) !important;
  transition: transform var(--rk-dur) var(--rk-ease), margin-top var(--rk-dur) var(--rk-ease) !important;
  pointer-events: none !important;
}

#gform_wrapper_18 .gsection.bl-accordion[aria-expanded="true"]::after,
#gform_wrapper_18 .gsection.blacc-header[aria-expanded="true"]::after {
  transform: rotate(45deg) !important;
  margin-top: -8px !important;
}

#gform_wrapper_18 .gsection.bl-accordion > span:not([data-gppa-live-merge-tag]):not(.gsection_description span),
#gform_wrapper_18 .gsection.blacc-header > span:not([data-gppa-live-merge-tag]):not(.gsection_description span) {
  display: none !important;
}

/* Labels */
#gform_wrapper_5 .gfield_label,
#gform_wrapper_18 .gfield_label,
#gform_wrapper_37 .gfield_label {
  font-family: var(--rk-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--f-text-soft) !important;
  margin: 0 0 0.4em 0 !important;
  display: block !important;
  text-align: left !important;
  letter-spacing: 0.01em !important;
}

#gform_wrapper_5 legend.gfield_label,
#gform_wrapper_18 legend.gfield_label,
#gform_wrapper_37 legend.gfield_label {
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
}

#gform_wrapper_5 .hidden_label > .gfield_label,
#gform_wrapper_5 .screen-reader-text,
#gform_wrapper_18 .hidden_label > .gfield_label,
#gform_wrapper_18 .screen-reader-text,
#gform_wrapper_37 .hidden_label > .gfield_label,
#gform_wrapper_37 .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#gform_wrapper_5 .gfield_required,
#gform_wrapper_18 .gfield_required,
#gform_wrapper_37 .gfield_required {
  color: var(--f-accent) !important;
  margin-left: 2px !important;
  font-weight: 400 !important;
  font-size: 0.85em !important;
}

#gform_wrapper_5 .gfield_description,
#gform_wrapper_18 .gfield_description,
#gform_wrapper_37 .gfield_description {
  color: var(--f-muted) !important;
  font-size: 0.82rem !important;
  text-align: left !important;
  margin: 0.3em 0 0 0 !important;
  font-family: var(--rk-font-body) !important;
}

#gform_wrapper_37 .charleft.ginput_counter {
  font-family: var(--rk-font-mono) !important;
  font-size: 0.72rem !important;
  color: var(--f-muted) !important;
  margin-top: 0.4em !important;
}

/* Text inputs / textarea */
#gform_wrapper_5 input[type="text"],
#gform_wrapper_5 input[type="email"],
#gform_wrapper_5 input[type="tel"],
#gform_wrapper_5 input[type="number"],
#gform_wrapper_5 input[type="url"],
#gform_wrapper_5 input[type="password"],
#gform_wrapper_5 input.large,
#gform_wrapper_5 input.medium,
#gform_wrapper_5 input.small,
#gform_wrapper_5 textarea,
#gform_wrapper_18 input[type="text"],
#gform_wrapper_18 input[type="email"],
#gform_wrapper_18 input[type="tel"],
#gform_wrapper_18 input[type="number"],
#gform_wrapper_18 input[type="url"],
#gform_wrapper_18 input[type="password"],
#gform_wrapper_18 input.large,
#gform_wrapper_18 input.medium,
#gform_wrapper_18 input.small,
#gform_wrapper_18 textarea,
#gform_wrapper_37 input[type="text"],
#gform_wrapper_37 input[type="email"],
#gform_wrapper_37 input[type="tel"],
#gform_wrapper_37 input[type="number"],
#gform_wrapper_37 input[type="url"],
#gform_wrapper_37 input[type="password"],
#gform_wrapper_37 input.large,
#gform_wrapper_37 input.medium,
#gform_wrapper_37 input.small,
#gform_wrapper_37 textarea {
  width: 100% !important;
  height: var(--f-ctl-h) !important;
  padding: 0.7em 0.95em !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1.5px solid var(--f-line) !important;
  border-radius: var(--f-r) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--f-text) !important;
  line-height: 1.4 !important;
  box-shadow: var(--f-sh-sm) !important;
  transition: border-color var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease),
              background var(--rk-dur) var(--rk-ease) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  outline: none !important;
}

#gform_wrapper_5 textarea,
#gform_wrapper_18 textarea,
#gform_wrapper_37 textarea {
  height: auto !important;
  min-height: 140px !important;
  line-height: 1.55 !important;
  resize: vertical !important;
}

#gform_wrapper_5 input:hover,
#gform_wrapper_5 textarea:hover,
#gform_wrapper_18 input:hover,
#gform_wrapper_18 textarea:hover,
#gform_wrapper_37 input:hover,
#gform_wrapper_37 textarea:hover {
  border-color: #CBD5E1 !important;
}

#gform_wrapper_5 input:focus,
#gform_wrapper_5 textarea:focus,
#gform_wrapper_18 input:focus,
#gform_wrapper_18 textarea:focus,
#gform_wrapper_37 input:focus,
#gform_wrapper_37 textarea:focus {
  border-color: var(--f-accent) !important;
  box-shadow: 0 0 0 3px var(--f-accent-glow) !important;
}

#gform_wrapper_5 input::placeholder,
#gform_wrapper_5 textarea::placeholder,
#gform_wrapper_18 input::placeholder,
#gform_wrapper_18 textarea::placeholder,
#gform_wrapper_37 input::placeholder,
#gform_wrapper_37 textarea::placeholder {
  color: var(--f-subtle) !important;
  opacity: 1 !important;
}

/* Select */
#gform_wrapper_5 select,
#gform_wrapper_18 select,
#gform_wrapper_37 select {
  width: 100% !important;
  height: var(--f-ctl-h) !important;
  padding: 0 42px 0 0.95em !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px !important;
  border: 1.5px solid var(--f-line) !important;
  border-radius: var(--f-r) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  color: var(--f-text) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  outline: none !important;
  transition: border-color var(--rk-dur) var(--rk-ease), box-shadow var(--rk-dur) var(--rk-ease) !important;
}

#gform_wrapper_5 select:focus,
#gform_wrapper_18 select:focus,
#gform_wrapper_37 select:focus {
  border-color: var(--f-accent) !important;
  box-shadow: 0 0 0 3px var(--f-accent-glow) !important;
}

#gform_wrapper_5 select::-ms-expand,
#gform_wrapper_18 select::-ms-expand,
#gform_wrapper_37 select::-ms-expand { display: none !important; }

/* Radios / checkboxes as pills */
#gform_wrapper_5 .gfield_radio input[type="radio"],
#gform_wrapper_5 .gfield_checkbox input[type="checkbox"],
#gform_wrapper_5 .ginput_container_consent input[type="checkbox"],
#gform_wrapper_18 .gfield_radio input[type="radio"],
#gform_wrapper_18 .gfield_checkbox input[type="checkbox"],
#gform_wrapper_18 .ginput_container_consent input[type="checkbox"],
#gform_wrapper_37 .gfield_radio input[type="radio"],
#gform_wrapper_37 .gfield_checkbox input[type="checkbox"],
#gform_wrapper_37 .ginput_container_consent input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  pointer-events: none !important;
}

#gform_wrapper_5 .gfield_radio,
#gform_wrapper_5 .gfield_checkbox,
#gform_wrapper_18 .gfield_radio,
#gform_wrapper_18 .gfield_checkbox,
#gform_wrapper_37 .gfield_radio,
#gform_wrapper_37 .gfield_checkbox {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5em !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Form 37: program-type radio as 2-up tile */
#gform_wrapper_37 #field_37_1 .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.5em !important;
}

#gform_wrapper_5 .gfield_radio .gchoice,
#gform_wrapper_5 .gfield_checkbox .gchoice,
#gform_wrapper_18 .gfield_radio .gchoice,
#gform_wrapper_18 .gfield_checkbox .gchoice,
#gform_wrapper_37 .gfield_radio .gchoice,
#gform_wrapper_37 .gfield_checkbox .gchoice {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}

#gform_wrapper_5 .gfield_radio .gchoice label,
#gform_wrapper_5 .gfield_checkbox .gchoice label,
#gform_wrapper_18 .gfield_radio .gchoice label,
#gform_wrapper_18 .gfield_checkbox .gchoice label,
#gform_wrapper_37 .gfield_radio .gchoice label,
#gform_wrapper_37 .gfield_checkbox .gchoice label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 0.6em 1em !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1.5px solid var(--f-line) !important;
  border-radius: var(--f-r) !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--f-text) !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all var(--rk-dur) var(--rk-ease) !important;
  user-select: none !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
}

#gform_wrapper_5 .gfield_radio .gchoice label:hover,
#gform_wrapper_5 .gfield_checkbox .gchoice label:hover,
#gform_wrapper_18 .gfield_radio .gchoice label:hover,
#gform_wrapper_18 .gfield_checkbox .gchoice label:hover,
#gform_wrapper_37 .gfield_radio .gchoice label:hover,
#gform_wrapper_37 .gfield_checkbox .gchoice label:hover {
  border-color: var(--f-accent) !important;
  background: var(--f-accent-soft) !important;
  color: var(--f-accent-dark) !important;
}

#gform_wrapper_5 .gfield_radio input[type="radio"]:checked + label,
#gform_wrapper_5 .gfield_checkbox input[type="checkbox"]:checked + label,
#gform_wrapper_18 .gfield_radio input[type="radio"]:checked + label,
#gform_wrapper_18 .gfield_checkbox input[type="checkbox"]:checked + label,
#gform_wrapper_37 .gfield_radio input[type="radio"]:checked + label,
#gform_wrapper_37 .gfield_checkbox input[type="checkbox"]:checked + label {
  background: var(--f-accent) !important;
  border-color: var(--f-accent) !important;
  color: #fff !important;
}

#gform_wrapper_5 .gfield_radio input[type="radio"]:checked + label::before,
#gform_wrapper_5 .gfield_checkbox input[type="checkbox"]:checked + label::before,
#gform_wrapper_18 .gfield_radio input[type="radio"]:checked + label::before,
#gform_wrapper_18 .gfield_checkbox input[type="checkbox"]:checked + label::before,
#gform_wrapper_37 .gfield_radio input[type="radio"]:checked + label::before,
#gform_wrapper_37 .gfield_checkbox input[type="checkbox"]:checked + label::before {
  content: "" !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 8px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233FA5DD' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 11px 11px !important;
  border-radius: 50% !important;
}

/* Donate suggested amounts grid */
#gform_wrapper_18 .donation-amount .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  flex-direction: unset !important;
  gap: 0.5em !important;
}

#gform_wrapper_18 .gfield--type-checkbox .gchoice label {
  font-size: 0.86rem !important;
  padding: 0.6em 0.75em !important;
  line-height: 1.25 !important;
}

#gform_wrapper_18 .gfield--type-checkbox .gfield_description {
  text-align: center !important;
}

/* Composite fields (name / address) */
#gform_wrapper_5 .ginput_complex,
#gform_wrapper_18 .ginput_complex,
#gform_wrapper_37 .ginput_complex {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.625rem !important;
  width: 100% !important;
}

#gform_wrapper_5 .ginput_complex .ginput_full,
#gform_wrapper_5 .ginput_complex .address_line_1,
#gform_wrapper_5 .ginput_complex .address_line_2,
#gform_wrapper_18 .ginput_complex .ginput_full,
#gform_wrapper_18 .ginput_complex .address_line_1,
#gform_wrapper_18 .ginput_complex .address_line_2,
#gform_wrapper_37 .ginput_complex .ginput_full,
#gform_wrapper_37 .ginput_complex .address_line_1,
#gform_wrapper_37 .ginput_complex .address_line_2 {
  grid-column: span 2 !important;
}

#gform_wrapper_5 .ginput_complex .gform-grid-col,
#gform_wrapper_18 .ginput_complex .gform-grid-col,
#gform_wrapper_37 .ginput_complex .gform-grid-col { min-width: 0 !important; }

#gform_wrapper_5 .ginput_complex input,
#gform_wrapper_5 .ginput_complex select,
#gform_wrapper_18 .ginput_complex input,
#gform_wrapper_18 .ginput_complex select,
#gform_wrapper_37 .ginput_complex input,
#gform_wrapper_37 .ginput_complex select { width: 100% !important; }

#gform_wrapper_5 .ginput_complex .gform-field-label--type-sub,
#gform_wrapper_18 .ginput_complex .gform-field-label--type-sub,
#gform_wrapper_37 .ginput_complex .gform-field-label--type-sub { display: none !important; }

#gform_wrapper_5 .gf_clear,
#gform_wrapper_5 .gf_clear_complex,
#gform_wrapper_18 .gf_clear,
#gform_wrapper_18 .gf_clear_complex,
#gform_wrapper_37 .gf_clear,
#gform_wrapper_37 .gf_clear_complex { display: none !important; }

/* Phone (intl-tel-input) */
#gform_wrapper_5 .ginput_container_phone,
#gform_wrapper_18 .ginput_container_phone,
#gform_wrapper_37 .ginput_container_phone { width: 100% !important; }

#gform_wrapper_5 .iti,
#gform_wrapper_18 .iti,
#gform_wrapper_37 .iti {
  position: relative !important;
  display: block !important;
}

#gform_wrapper_5 .iti__a11y-text,
#gform_wrapper_18 .iti__a11y-text,
#gform_wrapper_37 .iti__a11y-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#gform_wrapper_5 .iti__dropdown-content.iti__hide,
#gform_wrapper_18 .iti__dropdown-content.iti__hide,
#gform_wrapper_37 .iti__dropdown-content.iti__hide {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -99999px !important;
  pointer-events: none !important;
}

/* Date */
#gform_wrapper_18 .ginput_container_date,
#gform_wrapper_18 .clear-multi {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5em !important;
  align-items: stretch !important;
}

#gform_wrapper_18 .ginput_container_date > div,
#gform_wrapper_18 .ginput_container_date > span { flex: 1 !important; min-width: 0 !important; }

#gform_wrapper_18 .ginput_container_date input,
#gform_wrapper_18 .ginput_container_date select { width: 100% !important; }

#gform_wrapper_18 .ginput_container_date label {
  display: block !important;
  font-family: var(--rk-font-mono) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: var(--f-muted) !important;
  margin-top: 0.25em !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

/* Credit card */
#gform_wrapper_18 .ginput_container_creditcard {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.625rem !important;
  width: 100% !important;
}

#gform_wrapper_18 .ginput_container_creditcard .ginput_full,
#gform_wrapper_18 .ginput_container_creditcard input { width: 100% !important; }

#gform_wrapper_18 .gform_card_icon_container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4em !important;
  margin-bottom: 0.5em !important;
  min-height: 28px !important;
  align-items: center !important;
}

#gform_wrapper_18 .gform_card_icon {
  display: inline-block !important;
  width: 34px !important;
  height: 22px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  opacity: 1 !important;
}

#gform_wrapper_18 .ginput_cardextras {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: 0.625rem !important;
  align-items: start !important;
}

#gform_wrapper_18 .ginput_cardinfo_left {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#gform_wrapper_18 .ginput_card_expiration_container {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5em !important;
}

#gform_wrapper_18 .ginput_card_expiration_month_container,
#gform_wrapper_18 .ginput_card_expiration_year_container { min-width: 0 !important; }

#gform_wrapper_18 .ginput_cardinfo_right {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

#gform_wrapper_18 .ginput_card_security_code { width: 100% !important; }

#gform_wrapper_18 .ginput_card_security_code_icon {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 14px !important;
  background: #D1D5DB !important;
  border-radius: 3px !important;
  pointer-events: none !important;
  opacity: 0.7 !important;
}

/* ACH */
#gform_wrapper_18 .ginput_container_ach {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.625rem !important;
}

#gform_wrapper_18 .ginput_container_ach .ginput_full {
  grid-column: span 2 !important;
}

#gform_wrapper_18 .ginput_container_ach input,
#gform_wrapper_18 .ginput_container_ach select { width: 100% !important; }

/* Donation amount input + total card */
#gform_wrapper_18 .ginput_container_product_price input.ginput_amount,
#gform_wrapper_18 input.ginput_amount {
  width: 100% !important;
  height: var(--f-ctl-h) !important;
  text-align: center !important;
  font-family: var(--rk-font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--f-text) !important;
}

#gform_wrapper_18 .ginput_container_product_calculation { text-align: center !important; }

#gform_wrapper_18 .ginput_product_price_wrapper {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 0.4em !important;
  padding: 1.25em 1.5em !important;
  margin: 0.4em auto 0 !important;
  max-width: 100% !important;
  background: linear-gradient(135deg, var(--f-accent-soft) 0%, var(--rk-blue-mist) 100%) !important;
  border: 1px solid rgba(63, 165, 221, 0.25) !important;
  border-radius: var(--rk-r-lg) !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

#gform_wrapper_18 .ginput_product_price_wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--f-accent), var(--f-accent-dark)) !important;
}

#gform_wrapper_18 .ginput_product_price_label { display: none !important; }

#gform_wrapper_18 .ginput_product_price {
  font-family: var(--rk-font-display) !important;
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: var(--f-accent-dark) !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  display: inline-block !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  font-variation-settings: "opsz" 96, "wdth" 95 !important;
}

#gform_wrapper_18 .ginput_product_price::after {
  content: "Total" !important;
  display: block !important;
  margin-top: 0.6em !important;
  font-family: var(--rk-font-mono) !important;
  font-size: 0.32em !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--f-muted) !important;
}

/* HTML notes / inline fields */
#gform_wrapper_18 .gfield_html,
#gform_wrapper_37 .gfield_html { text-align: left !important; }

#gform_wrapper_18 .gfield_html p,
#gform_wrapper_37 .gfield_html p {
  margin: 0 !important;
  color: var(--f-text-soft) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

#gform_wrapper_18 .gfield_html strong,
#gform_wrapper_37 .gfield_html strong { color: var(--f-text) !important; }

#gform_wrapper_18 .gfield_html:has(> br:only-child) { display: none !important; }

/* Swiper (donate form) */
#gform_wrapper_18 .swiper-wrapper,
#gform_wrapper_18 .gform-body.swiper-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#gform_wrapper_18 .swiper-slide,
#gform_wrapper_18 .gform_page.swiper-slide {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

#gform_wrapper_18 .swiper-wrapper:has(> .gform_page:nth-child(1).swiper-slide-active) {
  transform: translate3d(0px, 0, 0) !important;
}

#gform_wrapper_18 .swiper-wrapper:has(> .gform_page:nth-child(2).swiper-slide-active) {
  transform: translate3d(-100%, 0, 0) !important;
}

#gform_wrapper_18 .swiper::before,
#gform_wrapper_18 .gform-body.swiper-wrapper::before,
#gform_wrapper_18 .swiper::after,
#gform_wrapper_18 .gform-body.swiper-wrapper::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
}

#gform_wrapper_18 .gform_page,
#gform_wrapper_18 .gform_page_fields,
#gform_wrapper_18 fieldset.gfield,
#gform_wrapper_18 .gform-grid-row,
#gform_wrapper_37 fieldset.gfield,
#gform_wrapper_37 .gform-grid-row,
#gform_wrapper_5 fieldset.gfield,
#gform_wrapper_5 .gform-grid-row {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Footers */
#gform_wrapper_5 .gform_footer,
#gform_wrapper_5 .gform-footer,
#gform_wrapper_18 .gform_footer,
#gform_wrapper_18 .gform-footer,
#gform_wrapper_37 .gform_footer,
#gform_wrapper_37 .gform-footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.5em !important;
  width: 100% !important;
  margin: 1.25rem 0 0 0 !important;
  padding: 1rem 0 0 0 !important;
  border-top: 1px solid var(--f-line) !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}

#gform_wrapper_18 .gform-page-footer,
#gform_wrapper_18 .gform_page_footer,
#gform_wrapper_37 .gform-page-footer,
#gform_wrapper_37 .gform_page_footer {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: stretch !important;
  gap: 0.5em !important;
  width: 100% !important;
  margin: 1.25rem 0 0 0 !important;
  padding: 1rem 0 0 0 !important;
  border-top: 1px solid var(--f-line) !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}

#gform_wrapper_18 .gform-page-footer:has(> input:only-of-type),
#gform_wrapper_18 .gform_page_footer:has(> input:only-of-type),
#gform_wrapper_37 .gform-page-footer:has(> input:only-of-type),
#gform_wrapper_37 .gform_page_footer:has(> input:only-of-type) {
  justify-content: center !important;
}

/* Buttons */
#gform_wrapper_5 input[type="submit"],
#gform_wrapper_5 .gform_button,
#gform_wrapper_5 button.gform_button,
#gform_wrapper_18 input[type="submit"],
#gform_wrapper_18 .gform_button,
#gform_wrapper_18 button.gform_button,
#gform_wrapper_18 .gform_next_button,
#gform_wrapper_18 input.gform_next_button,
#gform_wrapper_37 input[type="submit"],
#gform_wrapper_37 .gform_button,
#gform_wrapper_37 button.gform_button,
#gform_wrapper_37 .gform_next_button,
#gform_wrapper_37 input.gform_next_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0.95em 1.2em !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  border: none !important;
  border-radius: var(--f-r-full) !important;
  cursor: pointer !important;
  transition: background var(--rk-dur) var(--rk-ease),
              transform var(--rk-dur) var(--rk-ease),
              box-shadow var(--rk-dur) var(--rk-ease) !important;
  animation: none !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  background: var(--f-accent) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(10,14,20,0.06), 0 8px 22px -8px var(--f-accent-glow) !important;
}

#gform_wrapper_5 input[type="submit"]:hover,
#gform_wrapper_5 .gform_button:hover,
#gform_wrapper_18 input[type="submit"]:hover,
#gform_wrapper_18 .gform_button:hover,
#gform_wrapper_18 .gform_next_button:hover,
#gform_wrapper_37 input[type="submit"]:hover,
#gform_wrapper_37 .gform_button:hover,
#gform_wrapper_37 .gform_next_button:hover {
  background: var(--f-accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(10,14,20,0.08), 0 16px 36px -10px var(--f-accent-glow) !important;
}

#gform_wrapper_5 input[type="submit"]:active,
#gform_wrapper_18 input[type="submit"]:active,
#gform_wrapper_37 input[type="submit"]:active { transform: translateY(0) !important; }

/* Previous button (donate) */
#gform_wrapper_18 .gform_previous_button,
#gform_wrapper_18 input.gform_previous_button,
#gform_wrapper_37 .gform_previous_button,
#gform_wrapper_37 input.gform_previous_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0.85em 1.2em !important;
  background: #fff !important;
  color: var(--f-text) !important;
  border: 1.5px solid var(--f-line) !important;
  border-radius: var(--f-r-full) !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all var(--rk-dur) var(--rk-ease) !important;
  box-shadow: var(--f-sh-sm) !important;
}

#gform_wrapper_18 .gform_previous_button:hover,
#gform_wrapper_37 .gform_previous_button:hover {
  background: var(--f-surface-2) !important;
  border-color: var(--f-accent) !important;
  color: var(--f-accent) !important;
  transform: translateY(-1px) !important;
}

/* CAPTCHA — invisible v3 floating badge */
#gform_wrapper_5 .ginput_recaptcha,
#gform_wrapper_18 .ginput_recaptcha,
#gform_wrapper_37 .ginput_recaptcha {
  display: flex !important;
  justify-content: center !important;
  margin: 0.5em 0 !important;
}

#gform_wrapper_5 .gfield--type-captcha .gfield_label,
#gform_wrapper_18 .gfield--type-captcha .gfield_label,
#gform_wrapper_37 .gfield--type-captcha .gfield_label { display: none !important; }

.grecaptcha-badge {
  position: fixed !important;
  bottom: 14px !important;
  right: 14px !important;
  left: auto !important;
  top: auto !important;
  z-index: 9999 !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 70px !important;
  transition: width 0.3s !important;
  box-shadow: 0 0 5px rgba(0,0,0,.18) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
}

.grecaptcha-badge:hover { width: 256px !important; }

#gform_wrapper_5 .grecaptcha-badge,
#gform_wrapper_5 *:not(body) > .grecaptcha-badge,
#gform_wrapper_18 .grecaptcha-badge,
#gform_wrapper_18 *:not(body) > .grecaptcha-badge,
#gform_wrapper_37 .grecaptcha-badge,
#gform_wrapper_37 *:not(body) > .grecaptcha-badge,
.gf-cache-buster-form-container .grecaptcha-badge,
form .grecaptcha-badge {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -99999px !important;
}

body > .grecaptcha-badge {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: fixed !important;
  bottom: 14px !important;
  right: 14px !important;
  left: auto !important;
  top: auto !important;
}

/* Validation */
#gform_wrapper_5 .validation_message,
#gform_wrapper_5 .gfield_validation_message,
#gform_wrapper_18 .validation_message,
#gform_wrapper_18 .gfield_validation_message,
#gform_wrapper_37 .validation_message,
#gform_wrapper_37 .gfield_validation_message {
  font-size: 0.82rem !important;
  color: #B91C1C !important;
  margin-top: 0.4em !important;
  padding: 0.4em 0.7em !important;
  background: var(--f-danger-soft) !important;
  border-radius: var(--f-r-sm) !important;
  text-align: left !important;
}

#gform_wrapper_5 .gfield_error input,
#gform_wrapper_5 .gfield_error textarea,
#gform_wrapper_5 .gfield_error select,
#gform_wrapper_18 .gfield_error input,
#gform_wrapper_18 .gfield_error textarea,
#gform_wrapper_18 .gfield_error select,
#gform_wrapper_37 .gfield_error input,
#gform_wrapper_37 .gfield_error textarea,
#gform_wrapper_37 .gfield_error select {
  border-color: var(--f-danger) !important;
}

#gform_wrapper_5 .gform_validation_errors,
#gform_wrapper_18 .gform_validation_errors,
#gform_wrapper_37 .gform_validation_errors {
  padding: 0.8em 1em !important;
  margin: 0 0 1em 0 !important;
  background: var(--f-danger-soft) !important;
  border: 1px solid var(--f-danger) !important;
  border-radius: var(--f-r) !important;
  color: #991B1B !important;
  font-size: 0.9rem !important;
  text-align: left !important;
}

/* Respect GF conditional logic display:none */
#gform_wrapper_5 .gform_footer[style*="display: none"],
#gform_wrapper_5 .gform-footer[style*="display: none"],
#gform_wrapper_5 .gfield[style*="display: none"],
#gform_wrapper_5 input[type="submit"][style*="display: none"],
#gform_wrapper_18 .gform_footer[style*="display: none"],
#gform_wrapper_18 .gform-footer[style*="display: none"],
#gform_wrapper_18 .gfield[style*="display: none"],
#gform_wrapper_18 input[type="submit"][style*="display: none"],
#gform_wrapper_18 .gform_button[style*="display: none"],
#gform_wrapper_37 .gform_footer[style*="display: none"],
#gform_wrapper_37 .gform-footer[style*="display: none"],
#gform_wrapper_37 .gfield[style*="display: none"],
#gform_wrapper_37 input[type="submit"][style*="display: none"] {
  display: none !important;
}

/* Accessibility focus */
#gform_wrapper_5 *:focus-visible,
#gform_wrapper_18 *:focus-visible,
#gform_wrapper_37 *:focus-visible {
  outline: 2px solid var(--f-accent) !important;
  outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
  #gform_wrapper_5 *, #gform_wrapper_18 *, #gform_wrapper_37 * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.2s !important;
  }
}

/* Form responsive */
@media (max-width: 600px) {
  #gform_wrapper_5, #gform_wrapper_18, #gform_wrapper_37 {
    padding: 1.125rem !important;
    border-radius: var(--rk-r-lg) !important;
  }
  #gform_wrapper_5 .ginput_complex,
  #gform_wrapper_18 .ginput_complex,
  #gform_wrapper_18 .ginput_cardextras,
  #gform_wrapper_18 .ginput_container_ach,
  #gform_wrapper_37 .ginput_complex {
    grid-template-columns: 1fr !important;
  }
  #gform_wrapper_18 .ginput_container_ach .ginput_full {
    grid-column: span 1 !important;
  }
  #gform_wrapper_18 .donation-amount .gfield_radio {
    grid-template-columns: 1fr 1fr !important;
  }
  #gform_wrapper_37 #field_37_1 .gfield_radio {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  #gform_wrapper_5, #gform_wrapper_18, #gform_wrapper_37 {
    padding: 1rem !important;
  }
  #gform_wrapper_18 .donation-amount .gfield_radio {
    grid-template-columns: 1fr !important;
  }
}

/* -------------------------------------------------------------
   14 — NAVBAR (preserved from original, with new accent colors)
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) {
  --nav-bg: #ffffff;
  --nav-text: var(--rk-graphite);
  --nav-text-hover: var(--rk-blue-deep);
  --nav-cta-from: var(--rk-blue);
  --nav-cta-to: var(--rk-blue-deep);
  --nav-border: rgba(10, 14, 20, 0.06);
  --nav-hover-bg: rgba(63, 165, 221, 0.08);
  --nav-radius: 8px;
  --nav-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

body:not(.category-csf):not(.category-sic) .site-header,
body:not(.category-csf):not(.category-sic) .site-header.has-inline-mobile-toggle {
  background: var(--nav-bg) !important;
  border-bottom: 1px solid var(--nav-border) !important;
  box-shadow: none !important;
}

body:not(.category-csf):not(.category-sic) .site-header::after { display: none !important; }

body:not(.category-csf):not(.category-sic) .inside-header,
body:not(.category-csf):not(.category-sic) .main-navigation,
body:not(.category-csf):not(.category-sic) #site-navigation,
body:not(.category-csf):not(.category-sic) .inside-navigation,
body:not(.category-csf):not(.category-sic) .main-navigation.has-sticky-branding,
body:not(.category-csf):not(.category-sic) #site-navigation.has-sticky-branding,
body:not(.category-csf):not(.category-sic) .navigation-branding,
body:not(.category-csf):not(.category-sic) .sticky-navigation-logo,
body:not(.category-csf):not(.category-sic) .main-nav,
body:not(.category-csf):not(.category-sic) #primary-menu {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

body:not(.category-csf):not(.category-sic) .inside-header {
  padding: 0.875rem 1.5rem !important;
}

body:not(.category-csf):not(.category-sic) .main-navigation.stuckElement,
body:not(.category-csf):not(.category-sic) #site-navigation.stuckElement,
body:not(.category-csf):not(.category-sic) .main-navigation.has-sticky-branding.stuckElement,
body:not(.category-csf):not(.category-sic) #site-navigation.has-sticky-branding.stuckElement {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: saturate(180%) blur(12px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(12px) !important;
  box-shadow: 0 1px 0 rgba(10, 14, 20, 0.06),
              0 8px 24px -12px rgba(10, 14, 20, 0.12) !important;
  border-bottom: none !important;
}

body:not(.category-csf):not(.category-sic) .site-logo img,
body:not(.category-csf):not(.category-sic) .header-image,
body:not(.category-csf):not(.category-sic) .sticky-navigation-logo img,
body:not(.category-csf):not(.category-sic) .navigation-branding img {
  filter: none !important;
  transition: opacity var(--nav-transition) !important;
  max-height: 48px !important;
  width: auto !important;
}

body:not(.category-csf):not(.category-sic) .site-logo a:hover img,
body:not(.category-csf):not(.category-sic) .sticky-navigation-logo a:hover img {
  filter: none !important;
  transform: none !important;
  opacity: 0.85 !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul,
body:not(.category-csf):not(.category-sic) #menu-menu-1,
body:not(.category-csf):not(.category-sic) .sf-menu {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul li,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li {
  list-style: none !important;
  margin: 0 !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul li a,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li a {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--nav-text) !important;
  font-family: var(--rk-font-body) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  padding: 0.5rem 0.875rem !important;
  border-radius: var(--nav-radius) !important;
  background: transparent !important;
  transition: color var(--nav-transition), background-color var(--nav-transition) !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul li a::after,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li a::after { display: none !important; }

body:not(.category-csf):not(.category-sic) .main-nav ul li a:hover,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li a:hover {
  color: var(--nav-text-hover) !important;
  background: var(--nav-hover-bg) !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul li.current-menu-item > a,
body:not(.category-csf):not(.category-sic) .main-nav ul li.current_page_item > a,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li.current-menu-item > a,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li.current_page_item > a {
  color: var(--nav-text-hover) !important;
  background: rgba(63, 165, 221, 0.1) !important;
}

/* Donate CTA */
body:not(.category-csf):not(.category-sic) .main-nav ul li:last-child > a,
body:not(.category-csf):not(.category-sic) .main-nav ul li#menu-item-758 > a,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li:last-child > a,
body:not(.category-csf):not(.category-sic) #menu-item-758 > a {
  background: linear-gradient(135deg, var(--nav-cta-from) 0%, var(--nav-cta-to) 100%) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  padding: 0.45rem 1.25rem !important;
  border-radius: 8px !important;
  margin-left: 0.5rem !important;
  line-height: 1.4 !important;
  box-shadow: 0 1px 2px rgba(63, 165, 221, 0.2),
              0 4px 12px -2px rgba(63, 165, 221, 0.3) !important;
  transition: transform var(--nav-transition),
              box-shadow var(--nav-transition),
              filter var(--nav-transition) !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul li:last-child > a:hover,
body:not(.category-csf):not(.category-sic) #menu-item-758 > a:hover {
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  filter: brightness(1.08) !important;
  box-shadow: 0 2px 4px rgba(63, 165, 221, 0.25),
              0 8px 20px -4px rgba(63, 165, 221, 0.4) !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul li:last-child > a:active,
body:not(.category-csf):not(.category-sic) #menu-item-758 > a:active { transform: translateY(0) !important; }

/* Dropdowns */
body:not(.category-csf):not(.category-sic) .main-nav ul ul,
body:not(.category-csf):not(.category-sic) .main-nav .sub-menu,
body:not(.category-csf):not(.category-sic) .sf-menu ul {
  background: #ffffff !important;
  border: 1px solid var(--nav-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 6px -2px rgba(10, 14, 20, 0.05),
              0 12px 24px -8px rgba(10, 14, 20, 0.12) !important;
  padding: 0.375rem !important;
  min-width: 200px !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul ul li a,
body:not(.category-csf):not(.category-sic) .sf-menu ul li a {
  color: var(--nav-text) !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 6px !important;
  font-size: 0.875rem !important;
  width: 100% !important;
}

body:not(.category-csf):not(.category-sic) .main-nav ul ul li a:hover,
body:not(.category-csf):not(.category-sic) .sf-menu ul li a:hover {
  background: var(--nav-hover-bg) !important;
  color: var(--nav-text-hover) !important;
}

/* Mobile toggle */
body:not(.category-csf):not(.category-sic) .menu-toggle {
  background: transparent !important;
  border: 1px solid var(--nav-border) !important;
  border-radius: 10px !important;
  color: var(--nav-text) !important;
  box-shadow: none !important;
  padding: 0.5rem 0.625rem !important;
  transition: all var(--nav-transition) !important;
}

body:not(.category-csf):not(.category-sic) .menu-toggle:hover {
  background: var(--nav-hover-bg) !important;
  border-color: rgba(63, 165, 221, 0.3) !important;
  color: var(--nav-text-hover) !important;
}

body:not(.category-csf):not(.category-sic) .menu-toggle svg { fill: currentColor !important; }

@media (max-width: 768px) {
  body:not(.category-csf):not(.category-sic) .main-navigation:not(.toggled) .main-nav,
  body:not(.category-csf):not(.category-sic) #site-navigation:not(.toggled) .main-nav {
    display: none !important;
  }
  body:not(.category-csf):not(.category-sic) .main-navigation.toggled .main-nav,
  body:not(.category-csf):not(.category-sic) #site-navigation.toggled .main-nav {
    display: block !important;
    width: 100% !important;
    background: #ffffff !important;
    border-top: 1px solid var(--nav-border) !important;
    box-shadow: 0 8px 24px -8px rgba(10, 14, 20, 0.1) !important;
  }
  body:not(.category-csf):not(.category-sic) .main-navigation.toggled .main-nav > ul,
  body:not(.category-csf):not(.category-sic) #site-navigation.toggled .main-nav > ul,
  body:not(.category-csf):not(.category-sic) .main-navigation.toggled #menu-menu-1,
  body:not(.category-csf):not(.category-sic) #site-navigation.toggled #menu-menu-1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.125rem !important;
    padding: 0.75rem !important;
    margin: 0 !important;
  }
  body:not(.category-csf):not(.category-sic) .main-nav ul li,
  body:not(.category-csf):not(.category-sic) #menu-menu-1 li {
    width: 100% !important;
    margin: 0 !important;
  }
  body:not(.category-csf):not(.category-sic) .main-nav ul li a,
  body:not(.category-csf):not(.category-sic) #menu-menu-1 li a {
    display: flex !important;
    padding: 0.875rem 1rem !important;
    font-size: 1rem !important;
    border-radius: 10px !important;
    margin: 0 !important;
    width: 100% !important;
  }
  body:not(.category-csf):not(.category-sic) .main-nav ul li:last-child > a,
  body:not(.category-csf):not(.category-sic) #menu-item-758 > a {
    margin: 0.5rem 0 0 0 !important;
    padding: 0.75rem 1.5rem !important;
    text-align: center !important;
    justify-content: center !important;
    border-radius: 9999px !important;
  }
  body:not(.category-csf):not(.category-sic) .main-nav ul ul,
  body:not(.category-csf):not(.category-sic) .sf-menu ul {
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0.25rem 0 0.25rem 1rem !important;
    margin: 0 0 0 0.75rem !important;
    border-left: 2px solid var(--nav-border) !important;
    border-radius: 0 !important;
    width: auto !important;
  }
}

body:not(.category-csf):not(.category-sic) .main-nav ul li a:focus-visible,
body:not(.category-csf):not(.category-sic) #menu-menu-1 li a:focus-visible,
body:not(.category-csf):not(.category-sic) .menu-toggle:focus-visible {
  outline: 2px solid var(--nav-text-hover) !important;
  outline-offset: 2px !important;
}

/* -------------------------------------------------------------
   15 — FOOTER (light styling for site footer)
   ------------------------------------------------------------- */
body:not(.category-csf):not(.category-sic) .site-footer {
  background: var(--rk-ink);
  color: rgba(255, 255, 255, 0.7);
  border-top: 1px solid var(--rk-line);
}

body:not(.category-csf):not(.category-sic) .site-footer a {
  color: rgba(255, 255, 255, 0.85) !important;
}

body:not(.category-csf):not(.category-sic) .site-footer a:hover {
  color: var(--rk-blue-bright) !important;
}

/* -------------------------------------------------------------
   16 — MOTION / GLOBAL UTILS
   ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  body:not(.category-csf):not(.category-sic) *,
  body:not(.category-csf):not(.category-sic) *::before,
  body:not(.category-csf):not(.category-sic) *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.2s !important;
    scroll-behavior: auto !important;
  }
}

/* Reveal-on-scroll utility (controlled via JS) */
body:not(.category-csf):not(.category-sic) .rk-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s var(--rk-ease-out), transform 0.7s var(--rk-ease-out);
}

body:not(.category-csf):not(.category-sic) .rk-reveal.rk-in-view {
  opacity: 1;
  transform: translateY(0);
}

/* End of stylesheet */

/* ============================================================
   ADDENDUM v3 — Same-row pill + donate, properly sized
   Replaces v2 entirely.
   ============================================================ */

/* ---- GravityView tile category pills ---- */
#gv-view-2433-1 .gv-field-21-5 {
  padding: 0.32em 0.7em;
  font-size: 0.64rem;
  letter-spacing: 0.05em;
  gap: 0.35em;
  white-space: nowrap;
  /* Pill can shrink its text via ellipsis only as an absolute last resort
     (very long custom categories on very narrow tiles). For the 11
     standard categories at standard tile widths, this won't trigger. */
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

#gv-view-2433-1 .gv-field-21-5::before {
  width: 5px;
  height: 5px;
  flex-shrink: 0;
}

/* Footer row: same row, no wrap, pill left, donate right */
#gv-view-2433-1 .gv-list-view-footer {
  gap: 0.5em;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}

/* Donate button: more compact so the pill has room to breathe */
#gv-view-2433-1 .gv-field-21-7 {
  flex-shrink: 0;
}

#gv-view-2433-1 .gv-field-21-7 a {
  padding: 0.45em 0.8em;
  font-size: 0.75rem;
  gap: 0.25em;
  letter-spacing: 0;
}

/* Tighter arrow */
#gv-view-2433-1 .gv-field-21-7 a::after {
  font-size: 0.9em;
}

#gv-view-2433-1 .gv-field-21-7 a:hover {
  gap: 0.45em;
}

/* ---- UAGB Post Grid: force white titles + dark overlay ---- */

/* UAGB renders post-grid title as h2.uagb-post__title with the link inside.
   Both the wrapper AND the <a> can carry inline color from UAGB settings,
   so override both, and target every variant of their class naming. */
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid h1.uagb-post__title,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid h2.uagb-post__title,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid h3.uagb-post__title,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid h4.uagb-post__title,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__title,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__title a,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__title a:link,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__title a:visited,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post-grid .uagb-post__title,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post-grid .uagb-post__title a {
  color: #ffffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 2px 14px rgba(0, 0, 0, 0.65);
  font-family: var(--rk-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  transition: color var(--rk-dur) var(--rk-ease) !important;
}

body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__title a:hover,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__title:hover a {
  color: var(--rk-blue-bright) !important;
}

/* Darken the image overlay so white pops on any image */
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__image-position-background article::before,
body:not(.category-csf):not(.category-sic) .wp-block-uagb-post-grid .uagb-post__image-position-background .uagb-post__inner-wrap::before {
  background: linear-gradient(180deg, rgba(10, 14, 20, 0.4) 0%, rgba(10, 14, 20, 0.78) 100%) !important;
  opacity: 1 !important;
}

/* ============================================================
   MANIFESTO HOTFIX — text visibility + section recovery
   Drop at the END of rekonect.css (must come after all other rules)
   ============================================================ */

/* The hero h1 — was inheriting dark ink color from the global h1 rule
   because .rk-manifesto__opener has lower specificity than
   body:not(...):not(...) h1. Force white. */
body:not(.category-csf):not(.category-sic) .rk-manifesto__opener {
  color: #ffffff !important;
}

/* The em inside the opener — keep the gradient treatment but make sure
   it overrides the parent !important above */
body:not(.category-csf):not(.category-sic) .rk-manifesto__opener em {
  background: linear-gradient(135deg, var(--rk-blue-bright) 0%, var(--rk-blue) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* Section headings inside the manifesto — same cascade problem */
body:not(.category-csf):not(.category-sic) .rk-manifesto__content h2,
body:not(.category-csf):not(.category-sic) .rk-manifesto__content h3 {
  color: #ffffff !important;
}

/* Eyebrow + opener-sub — explicit overrides */
body:not(.category-csf):not(.category-sic) .rk-manifesto__eyebrow {
  color: var(--rk-blue-bright) !important;
}

body:not(.category-csf):not(.category-sic) .rk-manifesto__opener-sub {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Closing CTA card text — Image 6 shows the second line as nearly invisible
   ghost-blue. It's the rk-manifesto__close-line with overridden styles
   from inline `style=""`. Force-readable. */
body:not(.category-csf):not(.category-sic) .rk-manifesto__close-line {
  color: #ffffff !important;
}

body:not(.category-csf):not(.category-sic) .rk-manifesto__close-line strong {
  background: linear-gradient(135deg, var(--rk-blue-bright), var(--rk-blue)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* The "Bring your cause. We'll bring the nonprofit." line uses an inline
   color in the Gutenberg snippet that doesn't override well — fix the
   class-targeted version */
body:not(.category-csf):not(.category-sic) .rk-manifesto__close .rk-manifesto__close-line + .rk-manifesto__close-line {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ---- The hidden-section bug ----
   The scroll-reveal observer dims every direct child of
   .rk-manifesto__content to opacity:0 and waits for intersection to
   add .rk-in-view. The manifesto JS THEN moves the belief paragraphs
   and people-list paragraphs into NEW wrapper divs — at which point
   the observer no longer fires on them. Result: those paragraphs stay
   at opacity:0 forever.

   Fix: override the reveal rule so that anything inside the auto-wrapped
   .rk-manifesto__beliefs and .rk-manifesto__people is always visible
   (and apply the visibility to the wrappers themselves). Also fix the
   "We are on the side of..." section's missing paragraphs by ensuring
   reveal-dimmed direct children inside those wrappers become visible. */

body:not(.category-csf):not(.category-sic) .rk-manifesto__beliefs,
body:not(.category-csf):not(.category-sic) .rk-manifesto__people,
body:not(.category-csf):not(.category-sic) .rk-manifesto__beliefs > *,
body:not(.category-csf):not(.category-sic) .rk-manifesto__people > * {
  opacity: 1 !important;
  transform: none !important;
}

/* Safety net: any direct child of .rk-manifesto__content that's been
   sitting at opacity:0 for more than the observer would ever fire on
   (e.g. because it was reparented or because it's below the fold but
   the user scrolled past the trigger zone fast). Use a delayed
   guarantee. */
@keyframes rk-manifesto-failsafe {
  to { opacity: 1; transform: translateY(0); }
}

body:not(.category-csf):not(.category-sic) .rk-manifesto__content > *:not(.rk-in-view) {
  animation: rk-manifesto-failsafe 0.5s ease-out 1.5s forwards;
}

/* ============================================================
   FOOTER — dark canvas with brand stats banner
   ============================================================ */

body:not(.category-csf):not(.category-sic) .rk-footer {
  position: relative;
  background: var(--rk-night);
  color: rgba(255, 255, 255, 0.7);
  margin-top: 4rem;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid var(--rk-night-line);
  overflow: hidden;
  font-family: var(--rk-font-body);
}

/* Atmospheric blue glow (matches manifesto aesthetic) */
body:not(.category-csf):not(.category-sic) .rk-footer::before {
  content: "";
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 1000px;
  height: 400px;
  background: radial-gradient(ellipse at center, rgba(63, 165, 221, 0.12) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(40px);
}

/* Faint grid pattern */
body:not(.category-csf):not(.category-sic) .rk-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(63, 165, 221, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63, 165, 221, 0.025) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  mask-image: radial-gradient(ellipse at center top, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at center top, black 0%, transparent 70%);
}

body:not(.category-csf):not(.category-sic) .rk-footer__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}

/* ---- Stats banner ---- */
body:not(.category-csf):not(.category-sic) .rk-footer__stats {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1rem, 3vw, 2rem);
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  background: linear-gradient(135deg, rgba(63, 165, 221, 0.06) 0%, transparent 100%);
  border: 1px solid var(--rk-night-line);
  border-radius: var(--rk-r-xl);
  text-align: center;
  position: relative;
}

body:not(.category-csf):not(.category-sic) .rk-footer__stats::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--rk-blue), transparent);
}

body:not(.category-csf):not(.category-sic) .rk-footer__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em;
}

body:not(.category-csf):not(.category-sic) .rk-footer__stat-value {
  font-family: var(--rk-font-display);
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #ffffff;
  font-variation-settings: "opsz" 96, "wdth" 90;
}

body:not(.category-csf):not(.category-sic) .rk-footer__stat-value sup {
  font-size: 0.45em;
  color: var(--rk-blue);
  margin-left: 0.05em;
  vertical-align: super;
  top: -0.5em;
  position: relative;
  font-weight: 700;
}

body:not(.category-csf):not(.category-sic) .rk-footer__stat-unit {
  font-size: 0.6em;
  color: var(--rk-blue);
  margin-left: 0.05em;
  font-weight: 700;
}

body:not(.category-csf):not(.category-sic) .rk-footer__stat-label {
  font-family: var(--rk-font-mono);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

body:not(.category-csf):not(.category-sic) .rk-footer__stat-divider {
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, transparent, var(--rk-night-line), transparent);
}

@media (max-width: 720px) {
  body:not(.category-csf):not(.category-sic) .rk-footer__stats {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  body:not(.category-csf):not(.category-sic) .rk-footer__stat-divider {
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--rk-night-line), transparent);
    justify-self: center;
  }
}

/* ---- Main: brand + nav columns ---- */
body:not(.category-csf):not(.category-sic) .rk-footer__main {
  display: grid;
  grid-template-columns: 1.3fr 2fr;
  gap: clamp(2rem, 5vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding-bottom: clamp(1.5rem, 3vw, 2rem);
  border-bottom: 1px solid var(--rk-night-line);
}

@media (max-width: 860px) {
  body:not(.category-csf):not(.category-sic) .rk-footer__main {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

/* Brand block */
body:not(.category-csf):not(.category-sic) .rk-footer__logo {
  display: inline-block;
  margin-bottom: 1.25rem;
  transition: opacity var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .rk-footer__logo:hover {
  opacity: 0.85;
}

body:not(.category-csf):not(.category-sic) .rk-footer__logo img {
  height: 56px;
  width: auto;
  display: block;
  /* If the logo background is opaque/dark this keeps it clean on dark canvas */
  background: transparent;
}

body:not(.category-csf):not(.category-sic) .rk-footer__tagline {
  font-family: var(--rk-font-editorial);
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
  font-weight: 400;
  line-height: 1.3;
  color: #ffffff;
  margin: 0 0 0.75em;
  letter-spacing: -0.015em;
  font-variation-settings: "opsz" 144, "SOFT" 50;
}

body:not(.category-csf):not(.category-sic) .rk-footer__tagline strong {
  background: linear-gradient(135deg, var(--rk-blue-bright) 0%, var(--rk-blue) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 500;
  font-style: italic;
}

body:not(.category-csf):not(.category-sic) .rk-footer__blurb {
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.6);
  max-width: 36ch;
  margin: 0;
}

/* Nav columns */
body:not(.category-csf):not(.category-sic) .rk-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

@media (max-width: 540px) {
  body:not(.category-csf):not(.category-sic) .rk-footer__nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.5rem;
  }
}

body:not(.category-csf):not(.category-sic) .rk-footer__col-title {
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rk-blue-bright);
  margin: 0 0 1.25rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--rk-night-line);
  position: relative;
}

body:not(.category-csf):not(.category-sic) .rk-footer__col-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 28px;
  height: 1px;
  background: var(--rk-blue);
}

body:not(.category-csf):not(.category-sic) .rk-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

body:not(.category-csf):not(.category-sic) .rk-footer__col li {
  margin: 0;
  padding: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.75);
}

body:not(.category-csf):not(.category-sic) .rk-footer__col a {
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none !important;
  transition: color var(--rk-dur) var(--rk-ease), padding-left var(--rk-dur) var(--rk-ease);
  display: inline-block;
  position: relative;
}

body:not(.category-csf):not(.category-sic) .rk-footer__col a:hover {
  color: var(--rk-blue-bright) !important;
  padding-left: 0.5em;
}

body:not(.category-csf):not(.category-sic) .rk-footer__col a::before {
  content: "→";
  position: absolute;
  left: -0.5em;
  opacity: 0;
  transition: opacity var(--rk-dur) var(--rk-ease), left var(--rk-dur) var(--rk-ease);
  color: var(--rk-blue);
}

body:not(.category-csf):not(.category-sic) .rk-footer__col a:hover::before {
  opacity: 1;
  left: -0.85em;
}

body:not(.category-csf):not(.category-sic) .rk-footer__address {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.88rem;
  margin-top: 0.4rem;
}

/* ---- Legal strip ---- */
body:not(.category-csf):not(.category-sic) .rk-footer__legal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-family: var(--rk-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.45);
}

body:not(.category-csf):not(.category-sic) .rk-footer__legal-left,
body:not(.category-csf):not(.category-sic) .rk-footer__legal-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

body:not(.category-csf):not(.category-sic) .rk-footer__legal-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.3em 0.7em;
  background: rgba(63, 165, 221, 0.08);
  border: 1px solid rgba(63, 165, 221, 0.2);
  border-radius: var(--rk-r-sm);
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
}

body:not(.category-csf):not(.category-sic) .rk-footer__legal-sep {
  color: rgba(255, 255, 255, 0.25);
}

body:not(.category-csf):not(.category-sic) .rk-footer__legal a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(63, 165, 221, 0.3);
  transition: color var(--rk-dur) var(--rk-ease), border-color var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .rk-footer__legal a:hover {
  color: var(--rk-blue-bright) !important;
  border-bottom-color: var(--rk-blue-bright);
}

@media (max-width: 640px) {
  body:not(.category-csf):not(.category-sic) .rk-footer__legal {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}

/* Hide the existing theme footer's default content when our custom one
   is present (defensive — depends on which footer area you used) */
body:not(.category-csf):not(.category-sic) .site-info:has(.rk-footer) {
  background: transparent;
  padding: 0;
  border: 0;
}

/* ============================================================
   MOBILE FIX — reclaim horizontal space on small viewports
   ============================================================ */

@media (max-width: 640px) {

  /* Theme container — kill aggressive horizontal padding so our
     own scoped padding does the work */
  body:not(.category-csf):not(.category-sic) .inside-article,
  body:not(.category-csf):not(.category-sic) .entry-content,
  body:not(.category-csf):not(.category-sic) .site-content .content-area {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Hero — reduce internal padding, expand to viewport edges minus a hair */
  body:not(.category-csf):not(.category-sic) .rk-hero {
    padding: 2rem 1.125rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    border-radius: 14px;
  }

  body:not(.category-csf):not(.category-sic) .rk-hero__title {
    font-size: clamp(1.85rem, 8vw, 2.5rem) !important;
    max-width: 100%;
  }

  body:not(.category-csf):not(.category-sic) .rk-hero__subtitle {
    font-size: 1rem !important;
  }

  /* Stats inside hero — pull padding way in on mobile */
  body:not(.category-csf):not(.category-sic) .rk-stats {
    padding: 1.5rem 0 0;
    margin-top: 1.75rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-stat {
    padding: 0.75rem 0;
  }

  body:not(.category-csf):not(.category-sic) .rk-stat__value {
    font-size: 2.25rem;
  }

  /* Section eyebrows + headings need to align properly on tight screens */
  body:not(.category-csf):not(.category-sic) .rk-home > section,
  body:not(.category-csf):not(.category-sic) .rk-home .wp-block-html > section {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  /* Section heading sizing on mobile — the "Two ways to organize
     grassroots giving" was wrapping badly because it was hitting
     the desktop clamp minimum (1.625rem ≈ 26px) AND being constrained
     to a narrow column. Reduce it. */
  body:not(.category-csf):not(.category-sic) h2,
  body:not(.category-csf):not(.category-sic) .uagb-heading-text h2,
  body:not(.category-csf):not(.category-sic) .wp-block-heading {
    font-size: 1.5rem !important;
    line-height: 1.15;
  }

  body:not(.category-csf):not(.category-sic) .rk-program-card {
    padding: 1.25rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-program-card__title {
    font-size: 1.25rem !important;
  }

  /* Pillar grid: stack with less padding */
  body:not(.category-csf):not(.category-sic) .rk-pillar {
    padding: 1.25rem;
  }

  /* Steps (How It Works page) */
  body:not(.category-csf):not(.category-sic) .rk-step {
    padding: 1.125rem;
    gap: 0.75rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-step__num {
    font-size: 1.75rem;
  }

  /* Two-column callouts */
  body:not(.category-csf):not(.category-sic) .rk-twocol {
    padding: 1.25rem;
    gap: 1.5rem;
  }

  /* CTA strip */
  body:not(.category-csf):not(.category-sic) .rk-cta-strip {
    padding: 2rem 1.25rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    border-radius: 14px;
  }

  /* Mission page content */
  body:not(.category-csf):not(.category-sic) .rk-mission .entry-content {
    padding: 0 0.25rem;
  }

  /* Manifesto content stays at 0 padding — it manages itself */
  body:not(.category-csf):not(.category-sic) .rk-manifesto__hero {
    padding: 2.5rem 1rem 1.5rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-manifesto__content {
    padding: 1.5rem 1rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-manifesto__close {
    padding: 1.75rem 1.25rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  /* Footer — reclaim mobile breathing room */
  body:not(.category-csf):not(.category-sic) .rk-footer {
    padding: 2.5rem 1.25rem 1.5rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-footer__stats {
    padding: 1.5rem 1rem;
    margin-bottom: 2rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-footer__stat-value {
    font-size: 2rem;
  }

  /* GravityView grid: single column on small screens with cleaner padding */
  #gv-view-2433-1 .gv-list-container {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  #gv-view-2433-1 .gv-list-view {
    padding: 1.25rem;
    min-height: auto;
  }
}

@media (max-width: 420px) {
  body:not(.category-csf):not(.category-sic) .rk-hero {
    padding: 1.75rem 1rem;
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-hero__title {
    font-size: 1.65rem !important;
  }

  body:not(.category-csf):not(.category-sic) .rk-hero__ctas {
    flex-direction: column;
    align-items: stretch;
  }

  body:not(.category-csf):not(.category-sic) .rk-hero__ctas .wp-block-button__link,
  body:not(.category-csf):not(.category-sic) .rk-hero__ctas .rk-btn {
    width: 100%;
    justify-content: center;
  }

  body:not(.category-csf):not(.category-sic) .rk-cta-strip__buttons {
    flex-direction: column;
    align-items: stretch;
  }

  body:not(.category-csf):not(.category-sic) .rk-cta-strip__buttons a {
    width: 100%;
  }

  /* Manifesto opener can shrink further on tiny screens */
  body:not(.category-csf):not(.category-sic) .rk-manifesto__opener {
    font-size: 2.25rem !important;
  }
}

/* ============================================================
   FEES BLOCK (.rk-fees) — Start a Program page
   Honest, clear, calm. Sits between "What you'll get" and
   "What we ask of you" without screaming.
   ============================================================ */

body:not(.category-csf):not(.category-sic) .rk-fees {
  margin: 3rem 0;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--rk-surface-2);
  border: 1px solid var(--rk-line);
  border-left: 4px solid var(--rk-blue);
  border-radius: var(--rk-r-lg);
  position: relative;
}

body:not(.category-csf):not(.category-sic) .rk-fees__header {
  margin-bottom: 1.5rem;
}

body:not(.category-csf):not(.category-sic) .rk-fees__title {
  font-family: var(--rk-font-display) !important;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: var(--rk-ink) !important;
  margin: 0 0 0.4em !important;
  display: flex;
  align-items: center;
  gap: 0.6em;
}

body:not(.category-csf):not(.category-sic) .rk-fees__title::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-color: var(--rk-blue);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  flex-shrink: 0;
}

body:not(.category-csf):not(.category-sic) .rk-fees__lead {
  font-size: 0.97rem !important;
  line-height: 1.55 !important;
  color: var(--rk-graphite) !important;
  margin: 0 !important;
  max-width: 62ch;
}

body:not(.category-csf):not(.category-sic) .rk-fees__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 0.5rem;
}

body:not(.category-csf):not(.category-sic) .rk-fees__item {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 1rem;
  align-items: baseline;
  padding: 0.85rem 1rem;
  background: var(--rk-surface);
  border: 1px solid var(--rk-line);
  border-radius: var(--rk-r);
  margin: 0 !important;
  transition: border-color var(--rk-dur) var(--rk-ease), transform var(--rk-dur) var(--rk-ease);
}

body:not(.category-csf):not(.category-sic) .rk-fees__item:hover {
  border-color: rgba(63, 165, 221, 0.4);
  transform: translateX(2px);
}

body:not(.category-csf):not(.category-sic) .rk-fees__rate {
  font-family: var(--rk-font-display);
  font-size: 1.55rem;
  font-weight: 800;
  font-variation-settings: "opsz" 72, "wdth" 90;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--rk-blue-deep);
  text-align: right;
  font-feature-settings: "tnum";
}

body:not(.category-csf):not(.category-sic) .rk-fees__body {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  min-width: 0;
}

body:not(.category-csf):not(.category-sic) .rk-fees__label {
  font-family: var(--rk-font-body);
  font-size: 0.97rem;
  font-weight: 700;
  color: var(--rk-ink);
  line-height: 1.35;
}

body:not(.category-csf):not(.category-sic) .rk-fees__detail {
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--rk-graphite);
}

body:not(.category-csf):not(.category-sic) .rk-fees__footnote {
  margin: 1.25rem 0 0 !important;
  padding-top: 1rem;
  border-top: 1px dashed var(--rk-line);
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  color: var(--rk-graphite) !important;
}

body:not(.category-csf):not(.category-sic) .rk-fees__footnote a {
  color: var(--rk-blue-deep) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(42, 127, 178, 0.35);
}

body:not(.category-csf):not(.category-sic) .rk-fees__footnote a:hover {
  text-decoration-color: var(--rk-blue-deep) !important;
}

/* Mobile: rate becomes its own row instead of fixed column */
@media (max-width: 540px) {
  body:not(.category-csf):not(.category-sic) .rk-fees__item {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding: 0.85rem 0.95rem;
  }

  body:not(.category-csf):not(.category-sic) .rk-fees__rate {
    font-size: 1.4rem;
    text-align: left;
  }

  body:not(.category-csf):not(.category-sic) .rk-fees__title {
    font-size: 1.1rem !important;
  }
}