/*
Theme Name: The Farmhands' Table Podcast
Theme URI: https://example.com/farmhands-table-podcast
Author: Shaun B Wilson
Author URI: https://example.com
Description: A modern, accessible, and responsive foundational WordPress theme built with modern CSS grid layouts for The Farmhands' Table Podcast.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: farmhands-table-podcast
Tags: blog, grid-layout, responsive-layout, featured-images, accessibility-ready
*/

/**
 * ============================================================================
 * Modern CSS Reset & Design Tokens
 * ============================================================================
 */

:root {
  /* Color Palette */
  --color-bg: #f8fafc;
  --color-surface: #ffffff;
  --color-text: #0f172a;
  --color-text-muted: #64748b;
  --color-primary: #2563eb;
  --color-primary-hover: #1d4ed8;
  --color-border: #e2e8f0;
  --pilot-g2-blue: #0b4f8a;
  --eyebrow-accent-color: #b45309; /* Rich front-page harvest amber */

  /* Typography */
  --font-family-sans: 'Plus Jakarta Sans', Arial, sans-serif;
  --font-family-mono: 'Roboto Mono', monospace;
  
  --font-size-sm: clamp(0.8125rem, 0.8rem + 0.1vw, 0.875rem);
  --font-size-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --font-size-lg: clamp(1.25rem, 1.15rem + 0.5vw, 1.375rem);
  --font-size-xl: clamp(1.5rem, 1.35rem + 0.75vw, 1.75rem);
  --font-size-2xl: clamp(1.875rem, 1.6rem + 1.25vw, 2.25rem);
  --font-size-3xl: clamp(2.25rem, 1.85rem + 2vw, 3rem);

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.65;

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;

  /* Layout */
  --container-max: 1040px;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --transition-base: 200ms ease-in-out;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #0b0f19;
    --color-surface: #111827;
    --color-text: #f9fafb;
    --color-text-muted: #9ca3af;
    --color-primary: #3b82f6;
    --color-primary-hover: #60a5fa;
    --color-border: #1f2937;
    --color-accent: #38bdf8;
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.4);
  }
}

/* Box Sizing & Margin Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: var(--font-family-sans);
  font-size: 100%;
  line-height: var(--line-height-normal);
  color: var(--color-text);
  background-color: var(--color-bg);
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family-sans);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

a {
  color: var(--color-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color var(--transition-base), text-decoration-color var(--transition-base);
}

a:hover {
  color: var(--color-primary-hover);
}

/* 1. Global Keyboard Focus Indicator (Dual-Layer Halo) */
:focus-visible {
  outline: 2px solid #002b49 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(0, 43, 73, 0.18) !important;
  transition: box-shadow 0.15s ease, outline-color 0.15s ease !important;
}

/**
 * ============================================================================
 * Accessibility Utilities
 * ============================================================================
 */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: var(--color-surface);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
  clip: auto !important;
  clip-path: none;
  color: var(--color-primary);
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 600;
  height: auto;
  left: var(--space-md);
  line-height: normal;
  padding: var(--space-sm) var(--space-md);
  text-decoration: none;
  top: var(--space-md);
  width: auto;
  z-index: 100000;
}

/**
 * ============================================================================
 * Layout Components
 * ============================================================================
 */

.site-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

/* ============================================================================
   Masthead & Navigation Layout
   ============================================================================ */

/* Outer Header Container: flows naturally in the document */
.site-header {
  display: contents !important;
  position: static !important;
  width: 100% !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
  padding: 0 !important;
}

/* Tier 1 (Masthead / Site Header Top): scrolls away normally with the page */
.site-header-top,
.header-row-primary {
  position: relative !important;
  top: auto !important;
  background-color: #ffffff !important;
  padding: 16px 0 14px;
  border-bottom: 1px solid #f1f5f9;
}

/* 1px Sentinel Element watching for sticky morph trigger */
.header-sticky-sentinel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

.masthead-divider-left {
  border-left: 1px solid #e2e8f0;
  padding-left: 20px;
  margin-left: 12px;
  display: inline-flex;
  align-items: center;
}

.header-masthead-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* Brand Lockup */
.header-brand-block {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.header-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none !important;
}

.header-brand-logo {
  height: 50px;
  max-height: 52px;
  width: auto;
  display: block;
  object-fit: contain;
}

.header-brand-title {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 1.5rem;
  font-weight: 800;
  color: #0b3954;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

/* Masthead Actions Cluster */
.header-masthead-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}

.header-social-block {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-social-label {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #0b3954;
}

.header-social-icons {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  padding: 4px 12px;
}

.header-social-icons a {
  color: #0b3954; /* default rich navy */
  display: inline-flex;
  align-items: center;
  transition: color 0.15s ease, transform 0.15s ease;
}

.header-social-icons a:hover {
  transform: translateY(-1px);
}

/* YouTube -> Official Red */
.header-social-icons a[href*="youtube.com"]:hover,
.header-social-icons a.social-youtube:hover {
  color: #ff0000 !important;
}

/* Spotify -> Official Green */
.header-social-icons a[href*="spotify.com"]:hover,
.header-social-icons a.social-spotify:hover {
  color: #1db954 !important;
}

/* Instagram -> Official Magenta/Rose */
.header-social-icons a[href*="instagram.com"]:hover,
.header-social-icons a.social-instagram:hover {
  color: #e1306c !important;
}

/* Substack -> Official Vibrant Orange */
.header-social-icons a[href*="substack.com"]:hover,
.header-social-icons a.social-substack:hover {
  color: #ff6719 !important;
}

/* WhatsApp -> Official Vibrant Green */
.header-social-icons a[href*="whatsapp.com"]:hover,
.header-social-icons a.social-whatsapp:hover,
.header-social-icons a.social-link-whatsapp:hover,
.social-pill-link.social-link-whatsapp:hover,
.social-pill-link.social-link-whatsapp:focus-visible {
  color: #25d366 !important;
  transform: translateY(-1px) !important;
}

/* Ensure the SVG cleanly inherits currentColor */
.header-social-icons svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  transition: fill 0.15s ease;
}

.header-give-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  border-radius: 9999px;
  background-color: #0b3954;
  color: #ffffff !important;
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.header-give-btn:hover {
  background-color: #072438;
  transform: translateY(-1px);
}

.header-nav-toggle {
  display: none;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: #0b3954;
  align-items: center;
  justify-content: center;
}

/* Tier 2 (Secondary Navigation Tier): docks flush at top: 0 once reached */
.site-nav-bar,
.header-row-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  min-height: 56px !important;
  display: flex !important;
  align-items: center !important;
  background-color: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: none !important;
  padding: 8px 0 !important;
  box-sizing: border-box !important;
  transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Stuck state for sticky navigation tier: subtle elevation shadow & pure white background */
.site-nav-bar.is-stuck,
.header-row-nav.is-stuck {
  background-color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* WordPress Admin Bar Compatibility */
body.admin-bar .site-nav-bar,
body.admin-bar .header-row-nav {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar .site-nav-bar,
  body.admin-bar .header-row-nav {
    top: 46px !important;
  }
}

.header-nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.header-main-nav {
  margin-left: 0;
}

.header-main-nav ul {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-main-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-main-nav a {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b3954;
  letter-spacing: 0.01em;
  text-transform: none;
  padding: 6px 0;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 0.15s ease;
}

.header-main-nav a:hover,
.header-main-nav li.current-menu-item > a,
.header-main-nav li.current_page_item > a {
  color: #d97706;
}

/* Primary Nav Container Alignment */
.site-header .header-main-nav,
.header-main-nav {
  display: flex !important;
  align-items: center !important;
}

/* Ensure the primary navigation container treats menu items cleanly */
.primary-nav-list,
.nav-menu-primary,
.header-nav-list,
.header-main-nav ul {
  display: flex !important;
  align-items: center !important;
  gap: var(--nav-item-gap, 1.75rem) !important;
}

/* ==========================================================================
   Header Sticky Morph Interaction Styles
   ========================================================================== */

/* Left Slot Morph: Compact Crest Emblem Link (.nav-compact-logo) */
.nav-compact-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 0;
  height: 36px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: scale(0.85);
  margin-right: 0;
  flex-shrink: 0;
  will-change: transform, opacity;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none !important;
}

.nav-compact-logo img {
  height: 36px;
  width: auto;
  max-width: none;
  display: block;
  object-fit: contain;
}

/* When .site-nav-bar is stuck: Expand compact crest emblem */
.site-nav-bar.is-stuck .nav-compact-logo,
.header-row-nav.is-stuck .nav-compact-logo {
  max-width: 44px;
  height: 36px;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
  margin-right: 1rem;
}

.site-nav-bar.is-stuck .nav-compact-logo:hover,
.header-row-nav.is-stuck .nav-compact-logo:hover {
  transform: scale(1.06);
  opacity: 0.9;
}

/* ===============================================================
   Sticky Navigation Notifications Dropdown (.nav-sticky-notify-wrapper)
   =============================================================== */
.nav-sticky-notify-wrapper {
  display: none !important;
  position: relative !important;
  align-items: center !important;
  margin-right: 10px !important;
}

.is-sticky .nav-sticky-notify-wrapper,
.sticky-active .nav-sticky-notify-wrapper,
header.scrolled .nav-sticky-notify-wrapper,
.site-header.is-sticky .nav-sticky-notify-wrapper,
.site-header.scrolled .nav-sticky-notify-wrapper,
.is-stuck .nav-sticky-notify-wrapper,
.site-nav-bar.is-stuck .nav-sticky-notify-wrapper {
  display: inline-flex !important;
}

.nav-sticky-notify-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #002b49 !important;
  transition: all 0.15s ease !important;
}

.nav-sticky-notify-btn:hover,
.nav-sticky-notify-wrapper.is-open .nav-sticky-notify-btn {
  background-color: #e2e8f0 !important;
  border-color: #94a3b8 !important;
  color: #003e6b !important;
}

.nav-sticky-notify-btn svg {
  width: 17px !important;
  height: 17px !important;
  fill: #002b49 !important;
  display: block !important;
}

.nav-sticky-notify-dropdown {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  min-width: 170px !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 8px !important;
  box-shadow: 0 10px 25px rgba(0, 43, 73, 0.12) !important;
  z-index: 1000 !important;
}

.nav-sticky-notify-wrapper.is-open .nav-sticky-notify-dropdown {
  display: flex !important;
  flex-direction: column !important;
}

/* Align header and items with a shared 16px left indent */
.notify-dropdown-title {
  padding: 8px 16px 6px 16px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #c5832b !important;
}

.notify-dropdown-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 16px !important; /* Indents items to match SUBSCRIBE ON: */
  margin: 0 4px !important;
  border-radius: 8px !important;
  color: #002b49 !important;
  text-decoration: none !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.notify-dropdown-item:hover {
  background-color: #f1f5f9 !important;
  color: #002b49 !important;
}

/* Match exact color and fill of uncollapsed Tier 1 social icons */
.notify-item-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  color: #002b49 !important; /* Signature navy matching Tier 1 icons */
}

.notify-item-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: #002b49 !important; /* Exact color of Tier 1 social glyphs */
  color: #002b49 !important;
  display: block !important;
}

/* Ensure paths and shapes inherit the signature navy fill */
.notify-item-icon svg path,
.notify-item-icon svg circle,
.notify-item-icon svg rect,
.notify-item-icon svg polygon {
  fill: #002b49 !important;
}

/* Hover state enhancement */
.notify-dropdown-item:hover .notify-item-icon svg,
.notify-dropdown-item:hover .notify-item-icon svg path {
  fill: #003e6b !important;
}

.notify-item-label {
  line-height: 1 !important;
}

/* ===============================================================
   Sticky Navigation Divider & Give Button (.nav-sticky-divider & .nav-sticky-give-btn)
   =============================================================== */
.nav-sticky-divider {
  display: none !important;
  width: 1px !important;
  height: 20px !important;
  background-color: #cbd5e1 !important;
  margin: 0 14px 0 12px !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}

.is-sticky .nav-sticky-divider,
.sticky-active .nav-sticky-divider,
header.scrolled .nav-sticky-divider,
.site-header.is-sticky .nav-sticky-divider,
.site-header.scrolled .nav-sticky-divider,
.is-stuck .nav-sticky-divider,
.site-nav-bar.is-stuck .nav-sticky-divider {
  display: inline-block !important;
}

/* 1. Default State: Hidden at top of page */
.nav-sticky-give-btn {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #002b49 !important; /* Deep signature navy */
  color: #ffffff !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  padding: 6px 16px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  margin-left: 0 !important; /* Spacing handled cleanly by the divider margins */
  height: 32px !important;
  line-height: 1 !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
}

.nav-sticky-give-btn:hover {
  background-color: #003e6b !important;
  transform: translateY(-1px) !important;
}

/* 2. Sticky State: Reveal when header is scrolled/sticky */
.is-sticky .nav-sticky-give-btn,
.sticky-active .nav-sticky-give-btn,
header.scrolled .nav-sticky-give-btn,
.site-header.is-sticky .nav-sticky-give-btn,
.is-stuck .nav-sticky-give-btn,
.site-nav-bar.is-stuck .nav-sticky-give-btn {
  display: inline-flex !important;
}

/* ===============================================================
   Sticky Navigation Language Label (.lang-label-text)
   =============================================================== */
/* Default: Visible at top of page */
.lang-label-text {
  display: inline !important;
  margin-left: 6px !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
}

/* Sticky State: Hide text so only the globe icon remains */
.is-sticky .lang-label-text,
.sticky-active .lang-label-text,
header.scrolled .lang-label-text,
.site-header.is-sticky .lang-label-text,
.site-header.scrolled .lang-label-text,
.is-stuck .lang-label-text,
.site-nav-bar.is-stuck .lang-label-text {
  display: none !important;
}

/* Right: Utilities & Language Modal Cluster (.header-utility-cluster) */
.header-utility-cluster {
  display: inline-flex;
  align-items: center;
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  gap: 16px;
}

.header-utility-cluster button,
.header-utility-cluster a {
  background: none;
  border: none;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  padding: 4px 6px;
  transition: color 0.15s ease;
}

.header-utility-cluster svg {
  color: #64748b;
  width: 15px;
  height: 15px;
  vertical-align: middle;
  transition: color 0.15s ease;
}

.header-utility-cluster button:hover,
.header-utility-cluster a:hover {
  color: #0b3954;
}

.header-utility-cluster button:hover svg,
.header-utility-cluster a:hover svg {
  color: #0b3954;
}

.header-utility-cluster .header-search {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.header-utility-cluster .header-search-form {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 260px;
  z-index: 10001;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  padding: 4px 8px;
}

.header-utility-cluster .header-search.is-active .header-search-form {
  display: block;
}

.header-utility-cluster .header-search-input {
  width: 100%;
  padding: 8px 10px;
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.88rem;
  color: #0f172a;
}

/* ----------------------------------------------------------------------------
 * Right Group: Icon Utility Menu
 * ------------------------------------------------------------------------- */

/* Symmetrical Dock Containers */
.header-right-zone,
.site-header-right,
.header-utilities {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
    flex-shrink: 0;
}

.nav-dock-capsule {
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 9999px;
    padding: 7px 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.nav-dock-capsule:hover {
    border-color: rgba(1, 71, 105, 0.25);
}

/* Top-5 Dropdown Styling */
.header-lang-popover-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.header-lang-popover {
    display: none;
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.04);
    padding: 8px;
    z-index: 99999;
}

.header-lang-popover.is-open {
    display: block;
}

.popover-lang-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.popover-lang-item {
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none;
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 600;
    transition: background 0.12s ease, color 0.12s ease;
}

.popover-lang-item:hover {
    background: #f1f5f9;
    color: #014769;
}

.popover-footer {
    border-top: 1px solid #f1f5f9;
    margin-top: 6px;
    padding: 8px 12px 4px 12px;
}

.popover-all-link {
    font-size: 0.84rem;
    font-weight: 700;
    color: #014769;
    text-decoration: none;
    display: block;
}

.popover-all-link:hover {
    text-decoration: underline;
}

/* Relative Anchor for Popovers */
.header-lang-popover-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

/* Pin Invite Popover Card */
.pin-invite-tooltip {
    position: absolute;
    top: calc(100% + 14px);
    right: -72px; /* Optically centers box beneath globe and prevents right screen cutoff */
    width: 330px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    padding: 24px 22px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
    z-index: 1000;
    text-align: left;
    box-sizing: border-box;
}

/* Upward Pointer Caret - Nudged 1px Left */
.pin-invite-tooltip::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 73px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    transform: rotate(45deg);
    border-top: 1px solid #cbd5e1;
    border-left: 1px solid #cbd5e1;
}

.pin-invite-close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    transition: color 0.15s ease;
}
.pin-invite-close:hover {
    color: #0b3954;
}

.pin-invite-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b3954;
    margin: 0 0 10px 0;
    padding-right: 20px;
}

.pin-invite-lead {
    font-size: 0.92rem;
    line-height: 1.55;
    color: #334155;
    margin: 0 0 12px 0;
}

.pin-invite-lead strong {
    color: #0b3954;
}

.modal-privacy-box,
.pin-invite-privacy {
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #475569;
    background-color: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.modal-privacy-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    background-color: #d97706 !important; /* solid rich gold tone */
    border: 1px solid #b45309 !important;
    border-radius: 50% !important;
    margin-right: 10px !important;
    flex-shrink: 0;
}

.modal-privacy-icon svg {
    width: 13px !important;
    height: 13px !important;
    stroke: #ffffff !important; /* crisp white lock glyph against the solid gold */
    stroke-width: 2.2px !important;
    fill: none;
    display: block;
}

.modal-actions,
.pin-invite-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
    width: 100%;
    box-sizing: border-box;
}

.modal-btn-primary,
a.modal-btn-primary,
button.modal-btn-primary,
.pin-btn-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 14px 24px !important;
  background-color: #0b3954 !important;
  color: #ffffff !important;
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  border-radius: 9999px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(11, 57, 84, 0.18) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}

.modal-btn-primary:hover,
a.modal-btn-primary:hover,
button.modal-btn-primary:hover,
.pin-btn-primary:hover {
  background-color: #072438 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(11, 57, 84, 0.25) !important;
}

.modal-btn-primary * {
  color: #ffffff !important;
}

.modal-link-skip,
.pin-btn-secondary {
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
    padding: 4px;
    cursor: pointer;
    background: transparent !important;
    border: none !important;
    line-height: 1.3;
}

.modal-link-skip:hover,
.pin-btn-secondary:hover {
    color: #0b3954 !important;
    text-decoration: underline !important;
    background: transparent !important;
}

.utility-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    color: #475569;
    cursor: pointer;
    transition: color 0.15s ease, transform 0.1s ease;
    line-height: 1;
}

.utility-icon-btn:hover {
    color: #0b3954;
    transform: translateY(-1px);
}

.utility-icon-btn svg {
    display: block;
}

/* Header Right Zone: Unified Spacing between capsules and CTA */
.header-right-zone {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Shared Capsule Foundation */
.nav-dock-capsule {
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 9999px;
    padding: 7px 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

/* Left Utilities Capsule */
.nav-dock-capsule.dock-utilities {
    gap: 14px;
}

/* Overhead Label Centering */
.dock-subscribe-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.dock-overhead-label {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0b4f8a;
    white-space: nowrap;
    line-height: 1;
    pointer-events: none;
}

.dock-icons-group {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dock-btn.platform-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    line-height: 1;
    transition: color 0.15s ease, transform 0.15s ease;
}

.dock-btn.platform-btn svg {
    width: 17px;
    height: 17px;
    display: block;
}

.dock-btn.yt-platform:hover { color: #ff0000; transform: translateY(-1px); }
.dock-btn.spotify-platform:hover { color: #1db954; transform: translateY(-1px); }
.dock-btn.insta-platform:hover { color: #e4405f; transform: translateY(-1px); }
.dock-btn.substack-platform:hover { color: #ff6719; transform: translateY(-1px); }

/* Inline Search Toggle & Expandable Form */
.header-search {
  position: relative;
  display: flex;
  align-items: center;
}

.header-search-form {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + var(--space-xs));
  width: 260px;
  z-index: 100;
  box-shadow: var(--shadow-lg);
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
}

.header-search.is-active .header-search-form {
  display: block;
}

.header-search-input {
  width: 100%;
  padding: var(--space-xs) var(--space-sm);
  border: none;
  outline: none;
  background: transparent;
  color: var(--color-text);
  font-size: var(--font-size-sm);
}

/* Listen On Pill Component */
.listen-on-pill,
.hero-listen-links {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #1a1a1a;
  color: #ffffff;
  border-radius: 9999px;
  padding: 6px 12px !important;
  gap: 9px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin: 0 !important;
  flex-shrink: 0 !important;
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.listen-on-label {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
  white-space: nowrap;
  user-select: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.listen-on-links {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.listen-on-item {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
}

/* Baseline Circular Hover Harness */
.listen-on-pill a,
.hero-listen-links a,
.player-platforms a,
.listen-on-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: #ffffff !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transition: background-color 0.18s ease, transform 0.15s ease !important;
}

.listen-on-pill a svg,
.hero-listen-links a svg,
.player-platforms a svg,
.listen-on-link svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
  display: block !important;
  transition: transform 0.15s ease !important;
}

.listen-on-pill a:hover,
.hero-listen-links a:hover,
.player-platforms a:hover,
.listen-on-link:hover,
.listen-on-pill a:focus-visible,
.hero-listen-links a:focus-visible,
.player-platforms a:focus-visible,
.listen-on-link:focus-visible {
  transform: translateY(-1px) !important;
  outline: none;
}

.listen-on-pill a:hover svg,
.hero-listen-links a:hover svg,
.player-platforms a:hover svg,
.listen-on-link:hover svg,
.listen-on-pill a:focus-visible svg,
.hero-listen-links a:focus-visible svg,
.player-platforms a:focus-visible svg,
.listen-on-link:focus-visible svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Platform-Specific Tinted Halos */

/* YouTube -> Translucent Crimson Halo */
.listen-on-pill a[href*="youtube.com"]:hover,
.hero-listen-links a[href*="youtube.com"]:hover,
.player-platforms a[href*="youtube.com"]:hover,
.listen-on-link[href*="youtube.com"]:hover,
.listen-on-pill a[href*="youtube.com"]:focus-visible,
.hero-listen-links a[href*="youtube.com"]:focus-visible,
.player-platforms a[href*="youtube.com"]:focus-visible,
.listen-on-link[href*="youtube.com"]:focus-visible {
  background-color: rgba(255, 0, 0, 0.28) !important;
}

/* Spotify -> Translucent Vibrant Green Halo */
.listen-on-pill a[href*="spotify.com"]:hover,
.hero-listen-links a[href*="spotify.com"]:hover,
.player-platforms a[href*="spotify.com"]:hover,
.listen-on-link[href*="spotify.com"]:hover,
.listen-on-pill a[href*="spotify.com"]:focus-visible,
.hero-listen-links a[href*="spotify.com"]:focus-visible,
.player-platforms a[href*="spotify.com"]:focus-visible,
.listen-on-link[href*="spotify.com"]:focus-visible {
  background-color: rgba(29, 185, 84, 0.28) !important;
}

/* Apple Podcasts -> Translucent Violet / Purple Halo */
.listen-on-pill a[href*="podcasts.apple.com"]:hover,
.hero-listen-links a[href*="podcasts.apple.com"]:hover,
.player-platforms a[href*="podcasts.apple.com"]:hover,
.listen-on-link[href*="podcasts.apple.com"]:hover,
.listen-on-pill a[href*="podcasts.apple.com"]:focus-visible,
.hero-listen-links a[href*="podcasts.apple.com"]:focus-visible,
.player-platforms a[href*="podcasts.apple.com"]:focus-visible,
.listen-on-link[href*="podcasts.apple.com"]:focus-visible {
  background-color: rgba(168, 85, 247, 0.32) !important;
}

/* Amazon Music -> Translucent Electric Blue Halo */
.listen-on-pill a[href*="amazon.com"]:hover,
.hero-listen-links a[href*="amazon.com"]:hover,
.player-platforms a[href*="amazon.com"]:hover,
.listen-on-link[href*="amazon.com"]:hover,
.listen-on-pill a[href*="amazon.com"]:focus-visible,
.hero-listen-links a[href*="amazon.com"]:focus-visible,
.player-platforms a[href*="amazon.com"]:focus-visible,
.listen-on-link[href*="amazon.com"]:focus-visible {
  background-color: rgba(0, 168, 225, 0.28) !important;
}

/* Substack -> Translucent Warm Orange Halo */
.listen-on-pill a[href*="substack.com"]:hover,
.hero-listen-links a[href*="substack.com"]:hover,
.player-platforms a[href*="substack.com"]:hover,
.listen-on-link[href*="substack.com"]:hover,
.listen-on-pill a[href*="substack.com"]:focus-visible,
.hero-listen-links a[href*="substack.com"]:focus-visible,
.player-platforms a[href*="substack.com"]:focus-visible,
.listen-on-link[href*="substack.com"]:focus-visible {
  background-color: rgba(255, 103, 25, 0.32) !important;
}

/* Social Media Menu & SVG Icons (.header-social-nav / .header-social-links) */
.header-social-nav {
  display: inline-flex;
  align-items: center;
}

.header-social-links {
  display: inline-flex;
  align-items: center;
  flex-direction: row;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-social-links li,
.header-social-links .menu-item {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
}

.header-social-links a,
.header-social-links .utility-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--color-text, #1f2937);
  background: transparent;
  text-decoration: none;
  transition: color var(--transition-base, 150ms ease), background-color var(--transition-base, 150ms ease), transform var(--transition-base, 150ms ease);
}

.header-social-links a:hover,
.header-social-links a:focus-visible,
.header-social-links .utility-icon-btn:hover,
.header-social-links .utility-icon-btn:focus-visible {
  color: var(--color-primary, #014769);
  background-color: var(--color-border, #e5e7eb);
  transform: translateY(-1px);
}

.header-social-links svg,
.header-social-links .social-svg-icon {
  display: block;
  width: 20px;
  height: 20px;
  max-width: 20px;
  max-height: 20px;
  fill: currentColor;
  color: inherit;
  transition: fill var(--transition-base, 150ms ease), color var(--transition-base, 150ms ease);
}

/* Solid Black 'Give' Button matching reference image geometry */
.header-give-btn-wrap {
  display: flex;
  align-items: center;
}

.btn-give,
.nav-cta-give-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  background-color: #000000;
  color: #ffffff !important;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  border-radius: 9999px;
  border: 1px solid #000000;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.1);
  transition: background-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
}

.btn-give:hover,
.nav-cta-give-btn:hover {
  background-color: #1f2937;
  border-color: #1f2937;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.2);
}

@media (prefers-color-scheme: dark) {
  .btn-give {
    background-color: #ffffff;
    color: #000000 !important;
    border-color: #ffffff;
  }
  .btn-give:hover {
    background-color: #f1f5f9;
    border-color: #f1f5f9;
    color: #000000 !important;
  }
}

.site-main {
  flex: 1 0 auto;
  padding-block: var(--space-2xl);
}

/**
 * ============================================================================
 * Responsive Post Grid & Cards
 * ============================================================================
 */

.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: var(--space-xl);
}

.post-card {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.post-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.post-thumbnail {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: var(--color-border);
}

.post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.post-card:hover .post-thumbnail img {
  transform: scale(1.03);
}

.post-card-content {
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.entry-header {
  margin-bottom: var(--space-sm);
}

.entry-title {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-tight);
  font-weight: 700;
  margin-bottom: var(--space-xs);
}

.entry-title a {
  color: inherit;
  text-decoration: none;
}

.entry-title a:hover {
  color: var(--color-primary);
}

.entry-meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
}

.entry-summary {
  font-size: var(--font-size-base);
  color: var(--color-text-muted);
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--space-lg);
  flex: 1;
}

.entry-footer {
  margin-top: auto;
}

.read-more-button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
  color: var(--color-primary);
  transition: gap var(--transition-base), color var(--transition-base);
}

.read-more-button:hover {
  color: var(--color-primary-hover);
  gap: var(--space-sm);
}

/**
 * ============================================================================
 * Pagination
 * ============================================================================
 */

.pagination,
.posts-pagination {
  margin-top: var(--space-2xl);
  display: flex;
  justify-content: center;
}

.posts-pagination .nav-links {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}

.posts-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding-inline: var(--space-sm);
  font-size: var(--font-size-sm);
  font-weight: 500;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background-color: var(--color-surface);
  color: var(--color-text);
  text-decoration: none;
  transition: background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}

.posts-pagination .page-numbers:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.posts-pagination .page-numbers.current {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
  font-weight: 700;
}

.posts-pagination .page-numbers.dots {
  border: none;
  background: transparent;
}

/**
 * ============================================================================
 * Site Footer (Two-Tier Editorial Masthead & Colophon)
 * ============================================================================
 */

.site-footer,
.theme-site-footer {
  background-color: #072438;
  color: #cbd5e1;
  border-top: 1px solid #1e3a52;
  font-family: var(--font-body, system-ui, sans-serif);
  position: relative;
  width: 100%;
}

/* 1. Reduce Footer Overall Vertical Padding */
footer.site-footer,
.site-footer-primary,
.footer-main {
  padding-top: 48px !important;
  padding-bottom: 36px !important;
}

/* Tier 1: Upper Editorial Masthead */
.footer-masthead-hub {
  padding: 0 0 36px !important;
}

.footer-container {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr;
  gap: 56px;
  align-items: stretch !important;
}

/* Align Grid Items to Stretch for Consistent Baselines */
.footer-main-grid,
.footer-columns {
  align-items: stretch !important;
}

/* Column Titles / Kickers */
.footer-col-title {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #d97706;
  margin-top: 0;
  margin-bottom: 13px !important;
}

/* Ensure Column 1 fills the full height to align with Column 3 */
.footer-col-brand,
.footer-col-brand-centered {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  align-items: flex-start !important;
  text-align: left !important;
}

/* Upper Lockup: Logo and Tagline */
.footer-brand-lockup,
.footer-col-brand .footer-brand-lockup {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 18px !important;
}

/* Scaled Sticker Logo */
.footer-brand-lockup .footer-brand-logo,
.footer-brand-lockup .footer-crest-link,
.footer-brand-lockup .footer-crest-img,
.footer-brand-lockup img {
  max-width: 100px !important;
  height: auto !important;
  flex-shrink: 0 !important;
  display: block !important;
  margin: 0 !important;
}

/* Vertically Centered Tagline */
.footer-brand-lockup .footer-tagline,
.footer-brand-lockup .footer-mission-dek {
  margin: 0 !important;
  font-size: 0.90rem !important;
  line-height: 1.4 !important;
  color: #94a3b8 !important;
  max-width: 210px !important;
  text-align: left !important;
}

/* Social Icons Pinned to Bottom Baseline */
.footer-col-brand .footer-social-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin-top: 18px !important;
  padding: 0 !important;
}

.footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #94a3b8 !important;
  text-decoration: none !important;
  transition: color 0.15s ease, transform 0.15s ease;
}

.footer-social-link svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Column 2: Explore */
.footer-col-nav {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100% !important;
}

.footer-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.footer-nav-list li {
  margin: 0 !important;
  padding: 0 !important;
}

.footer-nav-list a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.footer-nav-list a:hover {
  color: #ffffff !important;
}

.footer-nav-link {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
  display: inline-block;
}

.footer-nav-link:hover,
.footer-nav-link:focus-visible {
  color: #ffffff !important;
}

/* Column 3: Global Reach & Fellowship */
.footer-col-global {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100% !important;
}

.footer-global-copy {
  font-size: 0.94rem;
  line-height: 1.6;
  color: #94a3b8;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.footer-pinmap-wrap {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 18px !important;
}

.footer-pinmap-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #0b4f8a;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 10px 20px;
  border-radius: 8px;
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.footer-pinmap-btn:hover,
.footer-pinmap-btn:focus-visible {
  background-color: #0e65b0;
  transform: translateY(-1px);
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(11, 79, 138, 0.35);
}

.footer-pinmap-btn .btn-arrow {
  display: inline-block;
  transition: transform 0.15s ease;
}

.footer-pinmap-btn:hover .btn-arrow {
  transform: translateX(3px);
}

.footer-stewardship-note {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #64748b;
  margin-top: 0;
  margin-bottom: 0;
}

/* Tier 2: Lower Colophon & Utility Bar (3-Line Centered Stack) */
.footer-colophon-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  padding: 36px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.82rem;
}

.colophon-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  width: 100%;
}

.colophon-row-copyright {
  color: #64748b;
}

.colophon-row-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: #64748b;
}

.colophon-row-links a,
.colophon-link {
  color: #94a3b8 !important;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

.colophon-row-links a:hover,
.colophon-row-links a:focus-visible,
.colophon-link:hover,
.colophon-link:focus-visible {
  color: #d97706 !important;
}

.colophon-sep {
  color: #475569;
  font-size: 0.75rem;
}

.colophon-row-why,
.colophon-why-text {
  color: #94a3b8;
  font-style: italic;
  max-width: 680px;
  margin: 8px auto 0;
  line-height: 1.65;
  text-wrap: balance;
  text-align: center;
}

.colophon-why-text {
  margin: 0;
}

.colophon-row-why a,
.colophon-why-text a,
.colophon-give-link {
  color: #d97706 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  font-style: normal;
  font-weight: 600;
  transition: color 0.15s ease;
}

.colophon-row-why a:hover,
.colophon-row-why a:focus-visible,
.colophon-why-text a:hover,
.colophon-why-text a:focus-visible,
.colophon-give-link:hover,
.colophon-give-link:focus-visible {
  color: #f59e0b !important;
}

/* Footer Responsive Layout */
@media (max-width: 900px) {
  .footer-masthead-hub {
    padding: 48px 0 40px;
  }

  .footer-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .colophon-container {
    align-items: center;
    text-align: center;
    gap: 12px;
  }

  .colophon-row-links {
    flex-wrap: wrap;
    gap: 12px;
  }
}

/**
 * ============================================================================
 * Custom Page Layout (Series / Classroom Template)
 * ============================================================================
 */

.custom-layout-page {
  padding-block: 0 var(--space-2xl);
}

/* ----------------------------------------------------------------------------
 * Featured Episode Hero (99% Invisible Inspired)
 * ------------------------------------------------------------------------- */

.hero-featured-episode,
.home-featured-hero,
.hero-episode-card,
.latest-episode-hero {
  background-color: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: 56px 0 72px;
  position: relative;
  overflow: hidden;
}

.hero-featured-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

@media (min-width: 900px) {
  .hero-featured-inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: stretch;
    gap: var(--space-xl);
  }
}

/* Left Column: Content */
.hero-content-col,
.home-hero-content-col,
.hero-content-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}

/* Homepage Top Stack: Badges + Title Banner (.hero-header-stack) */
.hero-header-stack,
.home-hero-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin-top: -10px;
  margin-bottom: 10px;
  position: relative;
  z-index: 5;
}

/* Episode & Series Badges */
.hero-badge-group {
  display: inline-flex;
  align-items: center;
  gap: 0;
  z-index: 4;
  margin-bottom: 0 !important;
}

.home-featured-hero .hero-header-stack .hero-title-box,
.home-hero-header .hero-title-box {
  margin-top: 0 !important;
}

.hero-badge,
.hero-ep-badge,
.episode-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 4px 10px;
  border-radius: 0;
  line-height: 1;
  box-shadow: var(--shadow-sm);
  z-index: 4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  cursor: pointer;
  transition: filter var(--transition-base), opacity var(--transition-base);
}

.hero-badge:hover,
.hero-badge:focus-visible,
.hero-ep-badge:hover,
.hero-ep-badge:focus-visible,
.episode-badge:hover,
.episode-badge:focus-visible {
  filter: brightness(1.12);
  text-decoration: none;
}

.hero-badge-primary,
.hero-badge-primary:visited {
  background-color: #41874c;
  color: #ffffff;
}

.hero-badge-primary:hover,
.hero-badge-primary:focus-visible {
  color: #ffffff;
}

.hero-badge-secondary,
.hero-badge-secondary:visited {
  background-color: #e2af3b;
  color: #1a1a1a;
}

.hero-badge-secondary:hover,
.hero-badge-secondary:focus-visible {
  color: #1a1a1a;
}

/* Title Box: Deep Blue (#014769) Accent Banner */
.hero-title-box {
  display: block;
  background-color: #014769;
  color: #ffffff;
  padding: 1.25rem 1.75rem;
  width: 100%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  position: relative;
  border-radius: 2px;
  text-decoration: none;
  cursor: pointer;
  transition: filter var(--transition-base), opacity var(--transition-base);
}

.hero-title-box:visited {
  color: #ffffff;
}

.hero-title-box:hover,
.hero-title-box:focus-visible {
  filter: brightness(1.08);
  text-decoration: none;
  color: #ffffff;
}

@media (min-width: 900px) {
  .hero-title-box {
    margin-right: -2rem;
    width: calc(100% + 2rem);
    z-index: 3;
  }
}

.hero-title-box h1,
.hero-title {
  margin: 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(1.75rem, 1.35rem + 1.8vw, 2.75rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #ffffff;
  text-wrap: balance;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.hero-title-box a,
.hero-title a {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #ffffff;
  text-decoration: none;
  transition: opacity var(--transition-base);
}

.hero-title-box a:hover,
.hero-title a:hover {
  opacity: 0.85;
  color: #ffffff;
}

/* Homepage Lower Content Block: Actions Bar + Excerpt */
body.home .home-hero-meta-actions,
body.home .hero-actions-bar,
.home-featured-hero .home-hero-meta-actions,
.home-featured-hero .hero-actions-bar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin-top: 10px;
}

/* Action Sub-Bar */
.hero-action-bar,
.single-action-bar,
.hero-episode-meta,
.episode-banner-meta,
.listen-row-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 22px !important;
  font-size: var(--font-size-sm);
}

.hero-play-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #18181b;
  color: #ffffff;
  padding: 7px 16px;
  border-radius: 9999px;
  font-size: var(--font-size-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color var(--transition-base), transform var(--transition-base);
}

.hero-play-btn:hover {
  background-color: #27272a;
  transform: translateY(-1px);
  color: #ffffff;
}

.hero-play-icon {
  display: flex;
  align-items: center;
  color: #ffd100;
}

/* 2. Anchor Listen On Pill to the far left */
.listen-on-pill,
.hero-listen-links {
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* 3. Remove unused separator dot */
.episode-meta-dot,
.hero-episode-meta .meta-separator,
.hero-action-divider,
.hero-episode-meta .hero-action-divider {
  display: none !important;
}

/* 4. Middle Date Slot: Expands dynamically to center the date */
.hero-episode-meta .episode-date,
.episode-banner-meta .episode-date,
.single-podcast .episode-date-display,
.episode-date-display,
.episode-meta-date-wrap,
.hero-meta-date,
.single-episode-date {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-transform: none !important; /* Converts all-caps SEPTEMBER to sentence case September */
  letter-spacing: normal !important;
  color: #5a6b82 !important;
  white-space: nowrap !important;
  padding: 0 12px !important;
  margin: 0 !important;
}

/* 5. Anchor Share Button to the far right */
.share-btn-wrap,
.episode-share-btn,
.hero-action-controls {
  flex-shrink: 0 !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
}

.hero-icon-action,
.share-btn {
  position: relative;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base);
}

.action-pill.share-btn {
  width: auto;
  height: auto;
  border-radius: 9999px;
  padding: 0.5rem 1rem;
}

.hero-icon-action:hover,
.share-btn:hover {
  color: var(--color-text);
  border-color: var(--color-text);
  background-color: var(--color-bg);
}

/* Share Button Visual Confirmation & Tooltip */
.share-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background-color: #1a1a1a;
  color: #ffffff;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
  z-index: 100;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  line-height: 1.4;
}

.share-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 4px;
  border-style: solid;
  border-color: #1a1a1a transparent transparent transparent;
}

.share-btn.is-copied .share-tooltip,
.hero-icon-action.is-copied .share-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.share-btn.is-copied,
.hero-icon-action.is-copied {
  border-color: #41874c !important;
  color: #41874c !important;
  background-color: rgba(65, 135, 76, 0.08) !important;
}

.share-btn.is-copied .share-icon-default,
.hero-icon-action.is-copied .share-icon-default {
  display: none !important;
}

.share-btn.is-copied .share-icon-check,
.hero-icon-action.is-copied .share-icon-check {
  display: block !important;
  color: #41874c !important;
}

/* Excerpt Block */
.hero-description {
  margin-top: var(--space-md);
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  line-height: var(--line-height-relaxed);
  color: var(--color-text);
  max-width: 620px;
}

.episode-read-more,
.hero-excerpt-link,
a.read-full-overview,
.hero-read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 14px !important; /* Definite breathing room separating from excerpt text */
  font-weight: 700 !important;
  text-decoration: none !important;
  color: #0b4f8a;
  transition: gap 0.15s ease, color var(--transition-base), transform var(--transition-base) !important;
}

.episode-read-more:hover,
.hero-excerpt-link:hover,
a.read-full-overview:hover,
.hero-read-more:hover {
  color: #07263a;
  gap: 9px !important; /* Subtle interactive arrow nudge */
}

/* Right Column: Dark Architectural Blueprint Grid Media Box */
.hero-media-col {
  position: relative;
  min-height: 340px;
  background-color: #121417;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 24px 24px;
  border: 1px solid #27272a;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: center;
  box-shadow: var(--shadow-md);
}

.hero-media-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}

.hero-featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
  transition: transform 400ms ease;
}

.hero-media-col:hover .hero-featured-image {
  transform: scale(1.03);
}

.hero-media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 340px;
  color: #ffd100;
}

.hero-media-graphic {
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}

@media (prefers-color-scheme: dark) {
  .hero-read-more {
    color: #ffd100;
  }
}

/* ----------------------------------------------------------------------------
 * Content Hero Component
 * ------------------------------------------------------------------------- */

.content-hero {
  background-color: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding-block: var(--space-2xl);
}

.content-hero-grid {
  display: grid;
  grid-template-columns: minmax(280px, 380px) 1fr;
  gap: var(--space-2xl);
  align-items: start;
}

.content-hero-artwork {
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  background-color: var(--color-border);
}

.content-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.content-hero-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-border) 100%);
  color: var(--color-text-muted);
}

.content-hero-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* Breadcrumbs */
.content-hero-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.content-hero-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.content-hero-breadcrumbs a:hover {
  color: var(--color-primary);
}

.breadcrumb-separator {
  color: var(--color-border);
  user-select: none;
}

.breadcrumb-current {
  color: var(--color-text);
  font-weight: 600;
}

/* Pre-Title & Title */
.content-hero-pretitle {
  font-size: var(--font-size-sm);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-accent);
}

.content-hero-title {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  line-height: var(--line-height-tight);
  color: var(--color-text);
  margin-block: 0;
}

/* Post-Title Metadata Badges */
.content-hero-posttitle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text-muted);
}

.meta-bullet {
  color: var(--color-border);
}

/* Action Pill */
.content-hero-actions {
  margin-top: var(--space-xs);
}

.action-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-md);
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  cursor: pointer;
  transition: background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}

.action-pill:hover {
  background-color: var(--color-border);
  color: var(--color-primary);
}

/* Excerpt / Description */
.content-hero-description {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-muted);
  margin-block: var(--space-xs);
}

/* Progress Indicator */
.content-hero-progress {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  max-width: 420px;
  margin-block: var(--space-xs);
}

.progress-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text-muted);
}

.progress-bar-track {
  width: 100%;
  height: 6px;
  background-color: var(--color-border);
  border-radius: 9999px;
  overflow: hidden;
}

.progress-bar-fill {
  height: 100%;
  background-color: var(--color-primary);
  border-radius: 9999px;
  transition: width 300ms ease;
}

/* Button Stack */
.content-hero-footer {
  margin-top: var(--space-md);
}

.button-stack {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-lg);
  font-size: var(--font-size-base);
  font-weight: 600;
  border-radius: var(--radius-md);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background-color: var(--color-primary);
  color: #ffffff;
  border: 1px solid transparent;
}

.btn-primary:hover {
  background-color: var(--color-primary-hover);
  color: #ffffff;
}

.btn-secondary {
  background-color: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

.btn-secondary:hover {
  background-color: var(--color-bg);
  border-color: var(--color-text-muted);
  color: var(--color-text);
}

/* ----------------------------------------------------------------------------
 * Homepage Warm Editorial Magazine Spread (Stages 2 - 5)
 * ------------------------------------------------------------------------- */

/* Deepened Eyebrow Contrast - High Contrast Harvest Ochre */
.editorial-kicker,
.home-section-eyebrow {
    display: block;
    white-space: nowrap; /* Ensures it never wraps */
    color: #b45309;
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: 1;
}

.global-console-header-top .editorial-kicker {
    margin-bottom: 0;
}

/* ============================================================================
   Stage 2: Global Reach & Multilingual Showcase (Split-Feature Spread)
   ============================================================================ */

.episode-guests,
.home-guest-line,
.home-guest-badge {
  font-size: 0.94rem !important;
  color: #475569 !important;
  font-weight: 500 !important;
}

.episode-guests .guest-label,
.home-guest-line .guest-label {
  font-size: 0.94rem !important;
  color: #475569 !important;
  font-weight: 500 !important;
}

.episode-guests a,
.home-guest-line a {
  font-size: 0.94rem !important;
  color: #0b4f8a !important;
  font-weight: 600 !important;
}

.home-section-global-table {
    padding: 72px 0 80px;
    padding-bottom: 80px !important;
    background-color: #ffffff;
    border-bottom: 1px solid #e2e8f0 !important;
}

.home-editorial-container {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.stage-2-languages-wrapper,
.stage-languages-wrapper,
.global-console-frame {
    display: flex;
    flex-direction: column;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #d97706; /* warm amber/ochre accent */
    border-radius: 16px !important;
    padding: 44px 48px !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Full Width Kicker Above Columns */
.stage-2-header,
.stage-languages-header,
.global-console-header-top {
    width: 100% !important;
    margin-bottom: 24px !important;
    display: block !important;
}

.stage-2-kicker,
.stage-languages-header .stage-kicker,
.global-console-header-top .stage-kicker,
.global-console-header-top .editorial-kicker {
    display: block !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #b45309 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* Two-Column Body Grid: Stretched so both columns share exact vertical height */
.stage-2-body-grid,
.stage-languages-body,
.global-console-body-grid {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    gap: 48px !important;
    align-items: stretch !important;
    width: 100%;
    flex: 1;
}

/* 1. Reset container: keep natural top alignment */
.stage-2-languages-wrapper .stage-2-left-col,
.stage-languages-wrapper .stage-languages-intro,
.stage-2-left-col,
.stage-languages-intro,
.stage-2-left,
.languages-intro-col,
.global-console-panel-left {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    height: 100% !important;
    box-sizing: border-box !important;
    padding-top: 0 !important;
}

/* 2. Item 1: YouTube Subtitle Pill */
/* Top edge must align horizontally with the top border of the English card */
.stage-2-languages-wrapper .stage-2-left-col .stage-2-youtube-pill,
.stage-languages-wrapper .stage-languages-intro .youtube-pill,
.stage-2-youtube-pill,
.stage-languages-intro .youtube-pill,
.stage-2-left .youtube-pill,
.stage-2-left .subtitle-pill,
.stage-2-yt-badge,
.languages-yt-pill,
.global-yt-channel-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important; /* Force 22px buffer below pill */
    padding: 0 !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-decoration: none;
    width: fit-content;
    line-height: 1;
    transition: opacity 0.15s ease;
}

.global-yt-channel-badge:hover,
.stage-2-yt-badge:hover,
.languages-yt-pill:hover {
    opacity: 0.85;
}

.global-yt-channel-badge svg,
.stage-2-yt-badge svg,
.languages-yt-pill svg {
    width: 20px;
    height: auto;
    display: block;
    flex-shrink: 0;
}

/* 3. Item 2: H2 Headline ("Available in 13 languages...") */
.stage-2-languages-wrapper .stage-2-left-col h2,
.stage-languages-wrapper .stage-languages-intro h2,
.stage-2-languages-wrapper .stage-2-heading,
.stage-2-heading,
.stage-languages-intro h2,
.stage-2-left h2,
.stage-2-left .languages-title,
.languages-main-title,
.global-console-headline {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 2.05rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    color: #014769 !important;
    letter-spacing: -0.02em;
    margin-top: 0 !important;
    margin-bottom: 20px !important; /* Force 20px buffer below H2 */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 4. Item 3: Body Paragraph ("Ministering doesn't require...") */
.stage-2-languages-wrapper .stage-2-left-col p,
.stage-languages-wrapper .stage-languages-intro p,
.stage-2-languages-wrapper .stage-2-excerpt,
.stage-2-excerpt,
.stage-languages-intro p,
.stage-2-left p,
.stage-2-left .languages-description,
.stage-2-description,
.languages-description,
.global-console-dek {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    color: #475569 !important;
    margin-top: 0 !important;
    margin-bottom: 32px !important; /* Force buffer before the bottom button */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    max-width: 440px !important;
}

/* 5. Item 4: Pin Map Button */
/* Must anchor to bottom, lifted 8px up to mirror top pill offset, and span 440px width */
.stage-2-languages-wrapper .stage-2-left-col .stage-2-map-btn,
.stage-languages-wrapper .stage-languages-intro .pin-map-btn,
.stage-2-map-btn,
.stage-languages-intro .pin-map-btn,
.stage-2-left .pin-map-btn,
.stage-2-left .stage-cta-btn,
.stage-2-left a[class*="btn"],
.global-dock-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 440px !important;
    padding: 14px 20px !important;
    background-color: #014769 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    margin-top: auto !important;
    margin-bottom: 8px !important; /* Lifts the button up by 8px to mirror the top pill offset */
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.global-dock-btn:hover {
    background-color: #072438;
    transform: translateY(-1px);
}

.global-dock-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.global-dock-label svg {
    flex-shrink: 0;
}

.global-console-panel-right {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Language Cards: Snug, Content-Driven Height */
.stage-2-cards-grid,
.stage-languages-grid,
.welcome-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: 1fr !important; /* Forces all card rows to share identical uniform height */
    gap: 14px !important;
    align-items: stretch !important;
    height: auto !important;
}

.stage-2-cards-grid .language-card,
.stage-languages-grid .language-card,
.welcome-card-grid .welcome-tile,
.welcome-tile,
.language-card,
.lang-card,
.languages-grid-item {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 16px 18px !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    height: 100% !important; /* Stretches to fill the 1fr row track */
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02);
    box-sizing: border-box !important;
    transition: all 0.15s ease;
}

.welcome-tile:hover,
.language-card:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}

.stage-2-cards-grid .language-card .lang-label,
.stage-languages-grid .language-card .lang-label,
.welcome-tile-label,
.tile-lang,
.lang-label {
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    color: #b45309 !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    margin: 0 0 6px 0 !important;
    display: block;
}

.welcome-tile-greeting span,
.welcome-tile-subtext span {
    display: block;
}

.stage-2-cards-grid .language-card .lang-phrase,
.stage-languages-grid .language-card .lang-phrase,
.welcome-tile-greeting,
.lang-phrase {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
    margin: 0 0 3px 0 !important;
}

.stage-2-cards-grid .language-card .lang-subtext,
.stage-languages-grid .language-card .lang-subtext,
.welcome-tile-subtext,
.lang-subtext {
    font-size: 0.76rem !important;
    font-weight: 500;
    color: #64748b !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.welcome-tile[lang="zh"],
.welcome-tile:nth-child(2) {
    word-break: keep-all;
    line-break: strict;
}

/* Card Container */
.stage-2-cards-grid .language-card.directory-card,
.stage-languages-grid .language-card.all-languages-card,
.welcome-tile-more,
.tile-other-languages,
.lang-card-directory {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 16px 18px !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-style: solid !important;
    border-radius: 10px !important;
    height: 100% !important;
    min-height: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    cursor: pointer;
    box-sizing: border-box !important;
    text-decoration: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}

.welcome-tile-more:hover,
.tile-other-languages:hover,
.language-card.all-languages-card:hover,
.lang-card-directory:hover,
.stage-2-cards-grid .language-card.directory-card:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
    background-color: #f8fafc !important;
}

/* Eyebrow: Matches sibling card labels */
.stage-2-cards-grid .language-card.directory-card .lang-label,
.stage-languages-grid .language-card.all-languages-card .lang-label,
.stage-2-cards-grid .language-card.directory-card .welcome-tile-label {
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #b45309 !important;
    margin: 0 0 8px 0 !important;
}

/* 3. Hide Globe Icon if still injected via markup */
.stage-2-cards-grid .language-card.directory-card .globe-icon,
.stage-2-cards-grid .language-card.directory-card svg.icon-globe,
.stage-2-cards-grid .language-card.directory-card .welcome-tile-globe,
.directory-link .globe-icon,
.directory-link svg.icon-globe,
.directory-link .welcome-tile-globe {
    display: none !important;
}

/* 4. Directory Link Layout */
.stage-2-cards-grid .language-card.directory-card a.directory-link,
.stage-languages-grid .language-card.all-languages-card a.directory-link,
.directory-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    color: #014769 !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    margin-top: 2px !important;
    transition: opacity 0.15s ease, transform 0.15s ease !important;
}

/* 5. Delicate Circle Arrow Outline (Light Hairline Weight) */
.directory-link .circle-arrow-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid #014769 !important; /* Thin 1px delicate ring */
    border-radius: 50% !important;
    margin-left: 6px !important;
    flex-shrink: 0 !important;
    transition: transform 0.15s ease !important;
}

.directory-link .circle-arrow-icon svg {
    width: 9px !important;
    height: 9px !important;
    stroke: #014769 !important;
    stroke-width: 1.5 !important; /* Lighter arrow stroke matching Stage 3 */
    fill: none !important;
}

/* Gentle Hover Interaction */
.stage-2-cards-grid .language-card.directory-card a.directory-link:hover,
.stage-languages-grid .language-card.all-languages-card a.directory-link:hover,
.stage-2-cards-grid .language-card.directory-card:hover a.directory-link {
    opacity: 0.85 !important;
}

.stage-2-cards-grid .language-card.directory-card a.directory-link:hover .circle-arrow-icon,
.stage-languages-grid .language-card.all-languages-card a.directory-link:hover .circle-arrow-icon,
.stage-2-cards-grid .language-card.directory-card:hover .circle-arrow-icon {
    transform: translateX(2px) !important;
}

.editorial-btn-primary,
.editorial-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 9999px;
    background-color: #0b3954;
    color: #ffffff !important;
    border: 1px solid #0b3954;
    text-decoration: none !important;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(11, 57, 84, 0.2);
    transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.editorial-btn-primary:hover,
.editorial-btn-secondary:hover {
    background-color: #032b4f;
    border-color: #032b4f;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(11, 57, 84, 0.3);
}

/* Globe Icon in Other Languages Card */
.tile-phrase-globe {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tile-phrase-globe svg,
.welcome-tile-globe {
    width: 18px;
    height: 18px;
    stroke: #0b4f8a;
    flex-shrink: 0;
}

.badge-lang-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #b45309;
    line-height: 1;
    margin-bottom: 4px;
}

.tile-phrase,
.badge-phrase {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.5;
    color: #0b3954;
    margin: 0;
}

/* --- Stage 3: The Table Manifesto (Split Feature Spread) --- */
.home-section-manifesto,
.manifesto-section {
    background-color: #ffffff;
    border-bottom: 1px solid #ede8df;
    padding: 80px 0 88px;
    padding-top: 80px !important;
    position: relative;
    box-sizing: border-box;
}

.home-manifesto-container {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Row 1: Intro Row Optical Centering */
.manifesto-intro-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: center !important; /* Centers the photo vertically against the headline + pull-quote */
  margin-bottom: 56px !important;
}

.manifesto-hero-media {
  position: static !important;
  margin-top: 38px !important;
}

.manifesto-image-figure {
  margin: 0;
  padding: 0;
}

.manifesto-hero-media img,
.manifesto-image-figure img,
.manifesto-table-photo {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px !important;
  border: 1px solid #ede8df;
  box-shadow: 0 10px 25px -5px rgba(11, 57, 84, 0.08) !important;
  display: block;
}

.manifesto-hero-text .editorial-kicker,
.manifesto-hero-text .home-section-eyebrow,
.manifesto-hero-text .section-tag,
.manifesto-hero-text .section-eyebrow {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #b45309 !important;
}

.manifesto-hero-text .manifesto-header-block {
  border-bottom: none;
  padding-bottom: 0;
}

.manifesto-hero-text h2,
.manifesto-headline,
.home-manifesto-title {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 2.25rem !important; /* ~36px */
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #0b3954 !important;
  letter-spacing: -0.02em !important;
  margin-top: 10px !important;
  margin-bottom: 20px !important;
}

.manifesto-hero-text blockquote,
.manifesto-hero-quote,
.manifesto-pullquote {
  font-family: var(--font-heading, 'Playfair Display', serif) !important;
  font-size: 1.45rem !important; /* ~23px */
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #0b3954 !important;
  border-left: 3px solid #b45309 !important;
  padding-left: 18px !important;
  margin: 0 !important;
  letter-spacing: -0.01em;
}

/* Row 2: Field Manifesto & Sticky Journal Leaf */
.manifesto-body-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
  position: relative !important;
}

/* Center the notebook leaf under the photo */
.manifesto-leaf-col {
  position: relative !important;
  display: flex !important;
  justify-content: center !important; /* Centers leaf within column */
  align-items: flex-start !important;
  height: 100% !important; /* Defines the sticky tracking track */
}

/* Notebook Page: 5x8 Memo Leaf with Bound Edge */
.manifesto-field-vignette.notebook-page {
  width: 100% !important;
  max-width: 380px !important;
  min-height: 485px !important;
  padding: 44px 32px 40px 42px !important; /* Left padding accommodates binding edge */
  background-color: #fbf7ee !important;
  background-image: 
    radial-gradient(ellipse at 80% 20%, rgba(217, 119, 6, 0.04) 0%, transparent 60%),
    linear-gradient(to bottom, #fbf7ee, #f3ebdb) !important;
  border-radius: 2px 10px 8px 2px !important;
  border: 1px solid rgba(180, 83, 9, 0.14) !important;
  /* Multi-layered physical paper shadow */
  box-shadow: 
    0 1px 3px rgba(15, 23, 42, 0.04),
    0 18px 36px -12px rgba(11, 57, 84, 0.14),
    inset 0 0 40px rgba(180, 83, 9, 0.02) !important;
  transform: rotate(-1.2deg) !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 108px !important;
  overflow: hidden !important;
}

/* Perforated Bound Edge along left margin */
.notebook-page::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 18px !important;
  width: 1px !important;
  border-left: 1px dashed rgba(180, 83, 9, 0.22) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Faint 20px Grid Overlay */
.notebook-grid-overlay {
  position: absolute !important;
  inset: 0 !important;
  background-size: 20px 20px !important;
  background-image: 
    linear-gradient(to right, rgba(11, 57, 84, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11, 57, 84, 0.03) 1px, transparent 1px) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Sower Drawing Positioning */
.notebook-page .sower-etch-img {
  position: absolute !important;
  top: 8px !important;     /* Pulled up slightly from 14px */
  right: 8px !important;   /* Hugs corner margin */
  width: 125px !important; /* Slightly dialed back from 135px to give seeds breathing room */
  height: auto !important;
  pointer-events: none !important;
  z-index: 2 !important;
  mix-blend-mode: multiply !important;
  opacity: 0.9 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Coffee Stain Positioning (nestled in lower right) */
.notebook-page .coffee-stain-img {
  position: absolute !important;
  bottom: -45px !important;
  right: -35px !important;
  left: auto !important;
  top: auto !important;
  width: 230px !important;
  height: 230px !important;
  max-width: none !important;
  pointer-events: none !important;
  z-index: 2 !important;
  mix-blend-mode: multiply !important;
  opacity: 0.22 !important;
  transform: rotate(25deg) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  aspect-ratio: auto !important;
}

/* Typography & Layout Spacing */
.notebook-page .field-note-content {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 400px !important;
  transform: none !important;
}

/* Reset Internal Rotations to Match -1.2deg Page Grid */
.notebook-page .field-note-content,
.notebook-page .notebook-stanza,
.notebook-page .field-manifest-ticket,
.notebook-page .notebook-reflection {
  transform: none !important;
}

/* Field Notes Header & Stanza: Shifted High Upward */
.notebook-stanza {
  display: flex !important;
  flex-direction: column !important;
  margin-top: 2px !important; /* Pulls header and stanza toward top margin */
  gap: 6px !important;
  max-width: 58% !important;
  font-family: 'Caveat', cursive !important;
  color: #0b4f8a !important;
  transform: none !important;
  mix-blend-mode: multiply !important;
}

.field-notes-top-header,
.field-record-top-header {
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #8c4c1a !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* Top Stanza Indentation */
.stanza-body-indent {
  padding-left: 12px !important; /* Matches .reflection-body-indent */
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

/* Fine-Tip Pilot G2 0.5mm lineweight */
.notebook-page .hand-text,
.notebook-stanza .stanza-line,
.notebook-reflection .reflection-line,
.ticket-cell .cell-value {
  font-family: 'Caveat', cursive !important;
  font-weight: 500 !important;
  color: #0b4f8a !important;
  text-shadow: none !important;
  mix-blend-mode: multiply !important;
}

.notebook-stanza .stanza-line {
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
}

/* Stamp Container: Equal Left and Right Margins */
.field-manifest-ticket {
  position: relative !important;
  width: 100% !important; /* Spans full content width between notebook margins */
  max-width: 100% !important;
  margin: 16px 0 !important;
  box-sizing: border-box !important;
  background-color: #f7f1e1 !important;
  border: 1.5px solid #8c7355 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  transform: none !important;
  mix-blend-mode: multiply !important;
  box-shadow: 
    0 1px 2px rgba(15, 23, 42, 0.05),
    1px 3px 8px -2px rgba(63, 46, 30, 0.1) !important;
}

/* Header Banner */
.ticket-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  border-bottom: 1.5px solid #8c7355 !important;
  padding-bottom: 4px !important;
  margin-bottom: 6px !important;
}

.ticket-title,
.field-manifest-ticket .ticket-title {
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #2c2416 !important;
}

.ticket-sub {
  font-family: var(--font-mono, monospace) !important;
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  color: #8c7355 !important;
  letter-spacing: 0.05em !important;
}

/* Outer Box Container */
.ticket-grid.grid-asymmetric-rows {
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid #8c7355 !important;
  background-color: rgba(255, 255, 255, 0.35) !important;
}

/* Individual Row Flex Layouts */
.ticket-row {
  display: flex !important;
  width: 100% !important;
  border-bottom: 1px solid #8c7355 !important;
}

.ticket-row:last-child {
  border-bottom: none !important;
}

/* Cell Defaults */
.ticket-row .ticket-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 4px 6px !important;
  border-right: 1px solid #8c7355 !important;
  box-sizing: border-box !important;
}

.ticket-row .ticket-cell:last-child {
  border-right: none !important;
}

/* Row 1: Equal 50/50 Split */
.row-equal .ticket-cell {
  flex: 1 1 50% !important;
  width: 50% !important;
}

/* Row 2: Host (64%) and Guests (36%) */
.row-host-guests .cell-host {
  flex: 1.75 1 64% !important;
  width: 64% !important;
}

.row-host-guests .cell-guests {
  flex: 1 1 36% !important;
  width: 36% !important;
}

/* Row 3: Countries (39%), Languages (35%), Seats (26%) */
.row-three-col .cell-countries {
  position: relative !important;
  flex: 1.6 1 39% !important;
  width: 39% !important;
}

.row-three-col .cell-languages {
  flex: 1.45 1 35% !important;
  width: 35% !important;
}

.row-three-col .cell-seats,
.ticket-cell-seats {
  flex: 1.1 1 26% !important;
  width: 26% !important;
  padding-right: 6px !important;
  box-sizing: border-box !important;
}

.cell-seats .cell-label,
.ticket-cell-seats .ticket-label,
.ticket-cell-seats .ticket-cell-label,
.ticket-cell-seats .cell-label {
  white-space: nowrap !important;
  letter-spacing: 0.03em !important;
  font-size: 0.56rem !important;
  text-align: center !important;
}

/* Countries Cell: Anchor container */
.cell-countries {
  position: relative !important;
  padding: 4px 6px !important;
}

/* 1. Ensure Map Box Border Strictly Uses the Soft Blue-Gray Swatch */
.hand-drawn-map-badge {
  position: absolute !important;
  top: 4px !important;    /* Matches cell-label top offset */
  right: 6px !important;  /* Matches cell right padding */
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2px 4px !important;
  background-color: transparent !important;
  border: 1px solid #dbe5ef !important; /* Soft blue-gray archival line */
  border-radius: 2px !important;
  color: #0b4f8a !important;
  mix-blend-mode: multiply !important;
  text-decoration: none !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

.hand-drawn-map-badge:hover {
  background-color: rgba(219, 229, 239, 0.4) !important;
  border-color: #b8cde3 !important;
  transform: translateY(-1px) !important;
}

.hand-drawn-map-badge svg {
  display: block !important;
  width: 11px !important;
  height: 11px !important;
  stroke: #0b4f8a !important;
  stroke-width: 1.8 !important;
}

/* Ensure Countries numeral centers cleanly with zero obstruction */
.cell-countries .countries-value-wrap {
  display: contents !important;
  position: static !important;
}

.cell-countries .cell-value {
  width: 100% !important;
  text-align: center !important;
  margin-top: 2px !important;
}

/* Left-Aligned Labels */
.cell-label,
.ticket-cell-label,
.ticket-label,
.ticket-card .ticket-label,
.ticket-card .ticket-cell-label,
.ticket-table td span.label,
.ticket-table .cell-header,
.ticket-table td .ticket-label {
  font-family: inherit !important;
  font-size: 0.56rem !important; /* Dialed down from oversized 0.72rem+ */
  font-weight: 600 !important; /* Semi-bold rather than heavy 800/900 */
  letter-spacing: 0.03em !important; /* Tight, natural tracking so it never collides with borders */
  text-transform: none !important;
  color: #7a5836 !important; /* Sepia stamp frame tone */
  line-height: 1.1 !important;
  margin: 0 0 3px 0 !important;
  display: block !important;
  text-align: left !important;
  width: 100% !important;
}

/* Align 'No. OF GUESTS' label to match the rest of the ticket cells */
.ticket-cell-guests .ticket-label,
.ticket-cell-guests .ticket-cell-label,
.ticket-cell-guests .cell-label,
.cell-guests .ticket-label,
.cell-guests .cell-label,
.ticket-card .guests-label {
  text-align: left !important;
  display: block !important;
  margin-bottom: 3px !important;
}

.cell-label small,
.ticket-cell-label small,
.ticket-label small {
  font-size: 0.46rem !important;
  text-transform: lowercase !important;
}

.cell-label .sub-word,
.ticket-cell-label .sub-word,
.ticket-label .sub-word {
  font-size: 0.46rem !important;
  letter-spacing: 0.03em !important;
}

.map-link-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  color: inherit !important;
  text-decoration: none !important;
}

.map-link-label:hover {
  color: #0b4f8a !important;
}

.cell-pin-icon {
  fill: #8c4c1a !important;
  display: inline-block !important;
}

/* Values Alignment */
.ticket-cell .cell-value {
  width: 100% !important;
  text-align: center !important;
  font-size: 1.3rem !important;
  line-height: 1.1 !important;
}

/* Text values (like Host Name) */
.ticket-cell .cell-value.cell-value-text {
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* 2. Scale Up Infinity Symbol for Visual Parity with Digits */
.ticket-cell .cell-value.infinity-symbol {
  font-size: 1.65rem !important; /* Scaled up from 1.45rem */
  line-height: 0.85 !important;
  display: inline-block !important;
  transform: translateY(2px) !important; /* Vertically aligns optical center with adjacent digits */
}

/* Footer Icon Row Distributed Evenly */
/* 1. Ticket footer container: Full width flex row flush with table borders */
.ticket-footer,
.ticket-footer-bar,
.found-on-row,
.field-record-stamp .ticket-footer,
.field-record-stamp.ticket-footer,
.ticket-card .ticket-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-top: 1px solid #8c7355 !important;
  margin-top: 5px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 8px 0 6px 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2. 'FOUND ON:' label: Anchored flush to the left border with zero left margin */
.ticket-footer .found-on-label,
.ticket-footer .footer-bar-label,
.ticket-footer span:first-child,
.ticket-card .found-on-label,
.found-on-row .found-on-label,
.footer-bar-label {
  flex-shrink: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #7a5836 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* 3. Social icon links container: Expands and evenly distributes across the remaining width */
.ticket-footer .found-on-links,
.ticket-footer-bar .ticket-icon-row,
.ticket-icon-row,
.found-on-row .found-on-links,
.ticket-card .found-on-links {
  flex: 1 1 auto !important; /* Takes up all available space to the right edge */
  display: flex !important;
  justify-content: space-between !important; /* Distributes all 7 icons evenly across the card */
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 18px !important; /* Clean gap after 'FOUND ON:' */
  margin-right: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 0 !important; /* Spacing is governed evenly by space-between */
}

/* 4. Individual Icon Anchors & SVGs */
.ticket-footer .found-on-links a,
.ticket-footer a.social-icon,
.ticket-footer a[class*="social-link"],
.ticket-footer-bar .ticket-icon-row a,
.ticket-icon-row a,
.found-on-row .found-on-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #2c2416 !important; /* Exact dark ink match to THE FARMHANDS' TABLE header */
  opacity: 1 !important;
  filter: none !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
}

.ticket-footer .found-on-links a:first-child,
.ticket-footer-bar .ticket-icon-row a:first-child,
.ticket-icon-row a:first-child {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Ensure the final icon (Substack) sits flush with the right border */
.ticket-footer .found-on-links a:last-child,
.ticket-footer a.social-link-substack,
.ticket-footer-bar .ticket-icon-row a:last-child,
.ticket-icon-row a:last-child,
.found-on-row .found-on-links a:last-child {
  margin-right: 0 !important;
  padding-right: 0 !important;
  justify-content: flex-end !important;
}

.ticket-footer .found-on-links a svg,
.ticket-footer a[class*="social-link"] svg,
.ticket-footer-bar .ticket-icon-row a svg,
.ticket-icon-row svg,
.found-on-row .found-on-links a svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
  display: block !important;
}

/* 5. Hover State */
.ticket-footer .found-on-links a:hover,
.ticket-footer a[class*="social-link"]:hover,
.ticket-footer a.social-link-whatsapp:hover,
.ticket-footer-bar .ticket-icon-row a:hover,
.ticket-footer-bar .ticket-icon-row a.social-link-whatsapp:hover,
.ticket-icon-row a:hover,
.ticket-icon-row a.social-link-whatsapp:hover,
.found-on-row .found-on-links a:hover {
  color: #2c2416 !important;
  opacity: 0.65 !important;
  transform: translateY(-1px) !important;
}

/* Field Notes & Indentation */
.notebook-reflection {
  margin-top: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  transform: none !important;
}

.notebook-reflection .reflection-label {
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8c4c1a !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.reflection-body-indent {
  padding-left: 12px !important; /* Natural handwriting indent */
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.reflection-body-indent .reflection-line {
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  display: block !important;
}

.reflection-scripture-wrap {
  display: flex !important;
  align-items: flex-start !important;
  gap: 5px !important;
  margin-top: 3px !important;
  padding-left: 4px !important; /* Additional hanging indent aligned past bullet dashes */
  font-family: 'Caveat', cursive !important;
  font-size: 0.95rem !important;
  color: #174f7c !important;
  mix-blend-mode: multiply !important;
}

.reflection-scripture-wrap .scripture-prefix {
  font-weight: 500 !important;
  opacity: 0.85 !important;
  white-space: nowrap !important;
}

.reflection-scripture-wrap .scripture-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}

.reflection-scripture-wrap .scripture-row {
  display: block !important;
  white-space: nowrap !important;
  line-height: 1.25 !important;
}

/* Right Column: Manifesto Paragraphs */
.manifesto-copy-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
}

.editorial-story-block .story-block-title {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: #0b3954;
  margin: 0 0 10px;
}

.editorial-story-block .story-block-prose {
  font-size: 0.98rem;
  line-height: 1.7;
  color: #475569;
  margin: 0;
}

/* Right Column "Learn More" Link with Circular Arrow Badge */
.manifesto-learn-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
  text-decoration: none !important;
  color: #014769 !important;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  transition: color 0.2s ease !important;
}

.manifesto-learn-more:hover {
  text-decoration: none !important;
  color: #0b4f8a !important;
}

/* 1. Default State: Transparent background with an outline border */
.learn-more-circle-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background-color: transparent !important; /* Transparent background */
  border: 1.5px solid #014769 !important;     /* Clean stroke matching text color */
  color: #014769 !important;
  box-sizing: border-box !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

/* 2. Hover State: Fill with #dce3ea on hover; arrow remains stationary */
.manifesto-learn-more:hover .learn-more-circle-arrow {
  transform: none !important;                /* Arrow remains stationary */
  background-color: #dce3ea !important;      /* Soft blue-gray fill on hover */
  border-color: #014769 !important;
  color: #014769 !important;
}

/* Manifesto Action Link (Legacy Support) */
.manifesto-footer-action {
  margin-top: 36px !important;
  padding-left: calc(50% + 24px) !important; /* Aligns with right text column */
}

.manifesto-footer-action a,
.manifesto-editorial-link,
.manifesto-link {
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  color: #0b3954 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 0.95rem;
  transition: color 0.15s ease, transform 0.15s ease !important;
}

.manifesto-footer-action a:hover,
.manifesto-editorial-link:hover,
.manifesto-link:hover {
  color: #d97706 !important;
  transform: translateX(3px) !important;
}

.editorial-arrow {
  transition: transform 0.15s ease;
}

.manifesto-editorial-link:hover .editorial-arrow,
.manifesto-footer-action a:hover .editorial-arrow {
  transform: translateX(4px);
}

/* Responsive Breakpoints */
@media (max-width: 960px) {
  .manifesto-intro-row,
  .manifesto-body-row {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .manifesto-hero-media {
    margin-top: 0 !important;
  }

  .manifesto-leaf-col {
    justify-content: center !important;
  }
  
  .manifesto-field-vignette.notebook-page {
    position: static !important;
    top: auto !important;
    min-height: auto !important;
    height: auto !important;
    max-width: 100% !important;
    padding: 32px 24px !important;
  }

  .manifesto-footer-action {
    padding-left: 0 !important;
    margin-top: 24px !important;
  }

  .home-section-manifesto {
    padding: 64px 0;
  }
}

/* --- Stage 4: Focus Areas (Browse Topics) --- */
.home-section-focus-areas,
.home-section-topics-browse {
    background-color: #ffffff;
    border-bottom: 1px solid #ede8df;
    padding: 80px 0 96px;
}

.home-focus-areas-container,
.home-topics-browse-container {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 24px;
}

.focus-areas-header,
.topics-browse-header {
    margin-bottom: 40px;
    text-align: left;
}

.focus-areas-header .editorial-kicker {
    margin-bottom: 12px;
}

.focus-areas-title,
.topics-browse-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 2.1rem;
    font-weight: 800;
    color: #0b3954;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
    line-height: 1.25;
}

.focus-areas-desc,
.topics-browse-header p,
.topics-browse-desc {
    font-size: 1.02rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    max-width: 850px;
    white-space: normal;
}

.pillars-tactile-grid,
.topics-icon-grid,
.topics-browse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    width: 100%;
}

/* Stage 4 Section Kicker */
.stage-4-kicker,
.focus-areas-kicker {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #b45309 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Container Grid */
.stage-4-cards-grid,
.focus-areas-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

@media (max-width: 768px) {
  .stage-4-cards-grid,
  .focus-areas-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 1. Subordinate "OF" Typographic Scale (Used in Stamp and Topic Cards) */
.numero-of {
  font-size: 0.85em !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  opacity: 0.9 !important;
}

/* 2. Elevated Authentic Vintage Numero "o" */
.numero-o,
.pillar-tile-count .numero-o,
.pillar-tile-meta .numero-o {
  display: inline-block !important;
  font-size: 0.58em !important;
  line-height: 1 !important;
  vertical-align: top !important;
  position: relative !important;
  top: 0.05em !important;
  text-decoration: underline !important;
  text-underline-offset: 1px !important;
  text-decoration-thickness: 1px !important;
  text-transform: lowercase !important;
  font-weight: inherit !important;
  color: inherit !important;
  margin-right: 0.22em !important;
}

/* Equal Margins Around the Topic Icon Badge */
.pillar-tile-link {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  
  /* Symmetrical spacing: top, bottom, and left equal the gap to the text (24px) */
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  padding-left: 24px !important;
  padding-right: 28px !important;
  gap: 24px !important; /* Distance between icon right edge and topic text */

  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
}

.pillar-tile-link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06) !important;
  border-color: #cbd5e1 !important;
}

/* 60px x 60px Icon Badge */
.pillar-tile-link .topic-icon-box {
  width: 60px !important;
  height: 60px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  color: #2e7d32 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.pillar-tile-link .topic-icon-box svg.topic-icon {
  width: 28px !important;
  height: 28px !important;
  stroke: currentColor !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Text Cluster Centered Vertically Beside the Icon */
.pillar-tile-link .pillar-tile-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 10px !important;
  flex-grow: 1 !important;
}

/* 4. Topic Title */
.pillar-tile-body .pillar-tile-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.28rem !important;
  font-weight: 600 !important;
  color: #014769 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  transition: color 0.15s ease !important;
}

.pillar-tile-link:hover .pillar-tile-title {
  color: #013148 !important;
}

/* 5. Metadata Strip Alignment */
.pillar-tile-body .pillar-tile-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #7a5836 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
  transition: color 0.15s ease !important;
}

.pillar-tile-link:hover .pillar-tile-meta {
  color: #8c4c1a !important;
}

.pillar-tile-meta .meta-item {
  white-space: nowrap !important;
}

.pillar-tile-meta .meta-divider {
  color: #e2e8f0 !important;
  font-weight: 400 !important;
}

/* Ensure Parent Elements Do Not Force Uppercase on the "o" */
.ticket-card .ticket-label,
.ticket-card .ticket-cell-label,
.ticket-table td span.label,
.ticket-table .cell-header,
.pillar-tile-count,
.pillar-tile-meta {
  text-transform: none !important;
}

@media (max-width: 480px) {
    .pillars-tactile-grid,
    .topics-icon-grid,
    .topics-browse-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================================
   Stage 5: Your Seat at the Table (Structured Dispatch Card)
   ============================================================================ */
.home-section-invite,
.home-invite-section {
    background-color: #ffffff;
    padding: 80px 0 100px;
}

.home-invite-container {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Crisp White Invitation Dispatch Box */
.invite-dispatch-box,
.invite-dispatch-card {
    max-width: 1040px;
    margin: 0 auto;
    text-align: center;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: 4px solid #0b3954;
    border-radius: 12px;
    padding: 52px 36px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    box-sizing: border-box;
    position: relative;
}

.dispatch-card-accent {
    width: 64px;
    height: 3px;
    background-color: #b45309;
    margin: 0 auto 20px;
    border-radius: 2px;
}

.invite-headline {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 2.15rem;
    font-weight: 800;
    color: #0b3954;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.invite-subtext {
    font-size: 1.02rem;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 32px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.invite-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #0b3954;
    color: #ffffff !important;
    font-size: 1rem;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 6px rgba(11, 57, 84, 0.15);
}

.invite-primary-btn:hover {
    background-color: #07263a;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(11, 57, 84, 0.25);
}

/* ============================================================================
   Warm Editorial Magazine Spread Responsive Refinements
   ============================================================================ */
@media (max-width: 900px) {
    .stage-2-languages-wrapper,
    .stage-languages-wrapper,
    .global-console-frame {
        padding: 32px 24px !important;
    }
    .stage-2-body-grid,
    .stage-languages-body,
    .global-console-body-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .stage-2-cards-grid,
    .stage-languages-grid,
    .welcome-card-grid {
        grid-template-columns: 1fr !important;
    }
    .stage-2-map-btn,
    .stage-languages-intro .pin-map-btn,
    .stage-2-left .pin-map-btn,
    .stage-2-left .stage-cta-btn,
    .stage-2-left a[class*="btn"],
    .global-console-action-dock {
        margin-top: 24px !important;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 640px) {
    .editorial-kicker {
        white-space: normal;
    }
}

@media (max-width: 980px) {
    .global-table-frame,
    .home-reach-spread {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .global-table-meta,
    .reach-spread-lead {
        text-align: center;
    }
    .reach-spread-desc {
        margin-left: auto;
        margin-right: auto;
    }
    .reach-spread-actions {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .pillars-grid,
    .focus-areas-grid {
        grid-template-columns: 1fr;
    }
    .welcome-card-grid,
    .reach-badges-grid {
        grid-template-columns: 1fr;
    }
    .home-section-global-table,
    .home-reach-section,
    .home-section-manifesto,
    .home-manifesto-section,
    .home-section-topics-browse,
    .home-section-pillars,
    .home-pillars-section,
    .home-section-invite,
    .home-invite-section {
        padding: 60px 0;
    }
    .invite-dispatch-box,
    .invite-dispatch-card {
        padding: 36px 24px;
    }
    .reach-spread-headline {
        font-size: 1.5rem;
    }
    .manifesto-hero-quote,
    .manifesto-editorial-quote {
        font-size: 1.65rem;
        line-height: 1.35;
    }
    .pillars-headline,
    .invite-headline,
    .manifesto-headline {
        font-size: 1.75rem;
    }
}
/* ----------------------------------------------------------------------------
 * Series Archive & Cards Grid
 * ------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------
 * Series Overview & Site Content Layout (.page-series-overview)
 * ------------------------------------------------------------------------- */

.page-series-overview,
.page-episodes-archive {
  background-color: #ffffff;
  padding-top: 2rem;
  padding-bottom: 4.5rem;
}

/* Full-Width Hero Header (Above the Two-Column Split) */
.series-directory-header,
.series-overview-header,
.episodes-directory-header {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e2e8f0;
}

.episodes-hero-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 960px) {
  .episodes-hero-wrap {
    display: grid;
    grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
    column-gap: 2.75rem;
    align-items: flex-end;
  }
}

.episodes-hero-copy {
  min-width: 0;
}

.series-directory-header h1.page-title,
.series-directory-header h1.series-directory-title,
.series-overview-title,
.episodes-directory-title {
  margin: 0 0 0.75rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.15;
  color: #014769;
  letter-spacing: -0.025em;
}

@media (min-width: 960px) {
  .series-directory-header h1.page-title,
  .series-directory-header h1.series-directory-title,
  .series-overview-title,
  .episodes-directory-title {
    font-size: 2.75rem;
  }
}

.series-directory-subtitle,
.episodes-directory-description {
  margin: 0 0 0.5rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #334155;
  max-width: 680px;
}

.episodes-directory-description p {
  margin: 0;
}

.episodes-hero-meta-count {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #64748b;
  margin-top: 0.65rem;
}

/* Episodes Hero Search Utility */
.episodes-hero-utility {
  width: 100%;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.episodes-search-form {
  width: 100%;
  max-width: 340px;
  margin-left: auto;
}

@media (max-width: 959px) {
  .episodes-search-form {
    max-width: 100%;
    margin-left: 0;
  }
}

.episodes-search-input-wrap {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 44px;
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.episodes-search-input-wrap:focus-within {
  border-color: #014769;
  box-shadow: 0 0 0 3px rgba(1, 71, 105, 0.12);
}

.episodes-search-field {
  flex: 1;
  border: none;
  outline: none;
  padding: 0 0.85rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.875rem;
  color: #1e293b;
  background: transparent;
  height: 100%;
  min-width: 0;
}

.episodes-search-field::placeholder {
  color: #94a3b8;
}

.episodes-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 100%;
  border: none;
  background-color: #014769;
  color: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.15s ease;
}

.episodes-search-submit:hover,
.episodes-search-submit:focus-visible {
  background-color: #41874c;
}

/* ----------------------------------------------------------------------------
 * Episodes Directory: Featured Latest Episode Hero & Coordinated Feed Header
 * ------------------------------------------------------------------------- */

.episodes-featured-hero {
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}

.featured-hero-inner {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

@media (min-width: 960px) {
  .featured-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
    column-gap: 2.75rem;
    align-items: center;
  }
}

/* Left Column: 16:9 Media Block (52% width on desktop) */
.featured-hero-media-col {
  width: 100%;
  min-width: 0;
}

.featured-hero-thumb-link {
  display: block;
  width: 100%;
  text-decoration: none;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(1, 71, 105, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.featured-hero-thumb-link:hover,
.featured-hero-thumb-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(1, 71, 105, 0.15);
}

.featured-hero-thumb-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #0f172a;
  overflow: hidden;
  border-radius: 8px;
}

.featured-hero-thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.featured-hero-thumb-link:hover .featured-hero-thumb-img {
  transform: scale(1.03);
}

.featured-hero-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #014769 0%, #0f172a 100%);
  color: rgba(255, 255, 255, 0.4);
}

.featured-hero-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s ease;
}

.featured-hero-thumb-link:hover .featured-hero-play-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}

.featured-hero-play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background-color: rgba(1, 71, 105, 0.92);
  color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.featured-hero-play-btn svg {
  margin-left: 3px;
}

.featured-hero-thumb-link:hover .featured-hero-play-btn {
  transform: scale(1.1);
  background-color: #41874c;
}

/* Right Column: Content Block */
.featured-hero-content-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-latest-flag {
  display: inline-block;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #014769;
  margin-bottom: 0.4rem;
}

.featured-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}

/* Badge Pair: Series Green + Episode Gold (Flush Adjacent) */
.badge-pair-wrap {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  position: relative;
  z-index: 2;
}

.badge-series-green {
  background-color: #41874c;
  color: #ffffff;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 0 !important;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  z-index: 3;
  pointer-events: auto;
  transition: background-color 0.15s ease, filter 0.15s ease;
}

.badge-series-green:hover,
.badge-series-green:focus-visible {
  background-color: #356e3e;
  color: #ffffff;
  text-decoration: none !important;
}

.badge-episode-gold {
  background-color: #e2af3b;
  color: #000000;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 0 !important;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  z-index: 3;
  pointer-events: auto;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.badge-episode-gold:hover,
.badge-episode-gold:focus-visible {
  text-decoration: none !important;
}

/* Hero Eyebrow Badges: Vibrant High-Contrast Primary Brand Colors */
.episodes-featured-hero .badge-series-green,
.featured-hero-eyebrow .badge-series-green {
  background-color: #41874c !important;
  color: #ffffff !important;
  border-radius: 0 !important;
}

.episodes-featured-hero .badge-series-green:hover,
.episodes-featured-hero .badge-series-green:focus-visible,
.featured-hero-eyebrow .badge-series-green:hover,
.featured-hero-eyebrow .badge-series-green:focus-visible {
  opacity: 0.9;
  color: #ffffff !important;
  text-decoration: none !important;
}

.episodes-featured-hero .badge-episode-gold,
.featured-hero-eyebrow .badge-episode-gold {
  background-color: #e2af3b !important;
  color: #000000 !important;
  border-radius: 0 !important;
}

/* Feed Card Badges: Muted / Subdued Mid-Tone Color Palette */
.series-feed-card .badge-series-green,
.series-feed-meta-row .badge-series-green {
  background-color: #6b9472 !important; /* Noticeably desaturated sage green */
  color: #ffffff !important;
  border-radius: 0 !important;
  text-decoration: none;
}

.series-feed-card .badge-series-green:hover,
.series-feed-card .badge-series-green:focus-visible,
.series-feed-meta-row .badge-series-green:hover,
.series-feed-meta-row .badge-series-green:focus-visible {
  background-color: #5c8463 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.series-feed-card .badge-episode-gold,
.series-feed-meta-row .badge-episode-gold {
  background-color: #eac16c !important;
  color: #231900 !important;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 0 !important;
  line-height: 1;
  text-decoration: none;
}

.series-feed-card .badge-episode-gold:hover,
.series-feed-card .badge-episode-gold:focus-visible,
.series-feed-meta-row .badge-episode-gold:hover,
.series-feed-meta-row .badge-episode-gold:focus-visible {
  background-color: #dbb35e !important;
  color: #231900 !important;
  text-decoration: none !important;
}

.featured-hero-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 0 !important;
  line-height: 1;
}

.featured-hero-badge.featured-series-badge {
  background-color: #41874c;
  color: #ffffff;
  border-radius: 0 !important;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

.featured-hero-badge.featured-series-badge:hover,
.featured-hero-badge.featured-series-badge:focus-visible {
  background-color: #356e3e;
  color: #ffffff;
  text-decoration: none !important;
}

.featured-hero-badge.featured-episode-badge {
  background-color: #e2af3b;
  color: #000000;
  border-radius: 0 !important;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
}

.featured-hero-date {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #64748b;
}

.featured-hero-title {
  margin: 0 0 0.75rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #014769;
}

@media (min-width: 960px) {
  .featured-hero-title {
    font-size: 2.15rem;
  }
}

.featured-hero-title a {
  color: #014769;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

.featured-hero-title a:hover,
.featured-hero-title a:focus-visible {
  color: #41874c;
  text-decoration: none !important;
}

.featured-hero-guest-line {
  margin: 0 0 0.85rem 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.45;
  color: #64748b;
}

.featured-hero-guest-line .guest-label {
  color: #64748b;
  font-weight: 500;
}

.featured-hero-guest-line a,
.featured-hero-guest-line .featured-guest-link {
  color: #475569;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease, text-decoration 0.15s ease;
}

.featured-hero-guest-line a:hover,
.featured-hero-guest-line a:focus-visible,
.featured-hero-guest-line .featured-guest-link:hover,
.featured-hero-guest-line .featured-guest-link:focus-visible {
  color: #014769;
  text-decoration: underline;
}

.featured-hero-guest-line .guest-amp {
  display: inline !important;
  color: #64748b !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-weight: 500;
  margin: 0 0.25em;
}

.featured-hero-excerpt {
  margin: 0 0 1.25rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #334155;
}

.featured-hero-excerpt p {
  margin: 0;
}

.featured-hero-action {
  display: flex;
  align-items: center;
}

.featured-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.925rem;
  font-weight: 700;
  color: #014769;
  text-decoration: none;
  transition: color 0.15s ease, transform 0.15s ease;
}

.featured-hero-cta:hover,
.featured-hero-cta:focus-visible {
  color: #41874c;
  text-decoration: none;
}

.featured-hero-cta .featured-cta-arrow {
  display: inline-block;
  transition: transform 0.15s ease;
}

.featured-hero-cta:hover .featured-cta-arrow,
.featured-hero-cta:focus-visible .featured-cta-arrow {
  transform: translateX(4px);
}

/* Coordinated Section Header in Main Content Column */
.sidebar-heading,
.archive-feed-heading {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--color-text, #1e293b);
  border-bottom: 3px solid #014769;
  padding-bottom: 0.45rem;
  margin-top: 0;
  margin-bottom: 1.25rem;
  display: block;
}

.archive-heading-row,
.sidebar-heading-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 3px solid #014769;
  padding-bottom: 0.45rem;
  margin-top: 0;
  margin-bottom: 1.25rem;
  gap: 0.75rem;
}

.archive-heading-row .archive-feed-heading,
.sidebar-heading-row .sidebar-heading,
.sidebar-heading-row .sidebar-widget-title {
  border-bottom: none;
  padding-bottom: 0;
  margin: 0;
}

.archive-sort-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.8rem;
}

.archive-sort-toggle .sort-label {
  color: #64748b;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-right: 0.2rem;
}

.archive-sort-toggle .sort-sep {
  color: #cbd5e1;
  font-size: 0.75rem;
  user-select: none;
}

.archive-sort-toggle .sort-btn {
  color: #64748b;
  font-weight: 600;
  font-size: 0.8rem;
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 3px;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.archive-sort-toggle .sort-btn:hover,
.archive-sort-toggle .sort-btn:focus-visible {
  color: #014769;
  text-decoration: none;
}

.archive-sort-toggle .sort-btn.is-active {
  color: #014769;
  background-color: #e8f0f5;
  font-weight: 700;
  cursor: default;
}

.archive-feed-intro {
  margin-top: 0;
  margin-bottom: 1.75rem;
}

.archive-feed-intro-text,
.archive-feed-description {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  color: #334155;
  font-size: 0.95rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.series-overview-subline {
  margin: 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #014769;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

/* Two-Column Container Baseline Alignment */
.site-content-layout,
.site-two-column-layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl, 2.5rem);
  background-color: #ffffff;
  align-items: start;
}

@media (min-width: 960px) {
  .site-content-layout,
  .site-two-column-layout {
    display: grid;
    grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
    column-gap: 2.75rem;
    row-gap: 2.5rem;
    align-items: start;
  }
}

.main-content-column {
  min-width: 0;
  margin-top: 0;
  padding-top: 0;
}

.sidebar-column,
.single-sidebar-column {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  min-width: 0;
  margin-top: 0;
  padding-top: 0;
}

/* Ensure First Series Card and Sidebar TOPICS Header Align on Exact Same Horizontal Baseline */
.series-directory-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 0;
  padding-top: 0;
}

@media (min-width: 640px) {
  .series-directory-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.sidebar-column .sidebar-widget:first-child,
.single-sidebar-column .sidebar-widget:first-child {
  margin-top: 0;
  padding-top: 0;
}

.sidebar-column .sidebar-widget:first-child .sidebar-widget-title,
.sidebar-column .sidebar-widget:first-child .sidebar-heading,
.single-sidebar-column .sidebar-widget:first-child .sidebar-widget-title,
.single-sidebar-column .sidebar-widget:first-child .sidebar-heading {
  margin-top: 0;
}

/* Series Card */
.series-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  height: 100%;
}

.series-card:hover,
.series-card:focus-within {
  background-color: #ffffff;
  border-color: #014769;
  box-shadow: 0 6px 18px rgba(1, 71, 105, 0.1);
  transform: translateY(-2px);
}

.series-card-link-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.series-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #0f172a;
  overflow: hidden;
}

.series-card-media-link {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.series-card-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.series-card:hover .series-card-img,
.series-card-media-link:hover .series-card-img {
  transform: scale(1.04);
}

.series-card-placeholder,
.series-card-fallback-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #014769 0%, #002d42 100%);
  color: rgba(255, 255, 255, 0.45);
  padding: 1.25rem;
  box-sizing: border-box;
}

.series-card-fallback-logo {
  max-width: 90px;
  max-height: 55px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.85;
  display: block;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.series-card-fallback-text {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}

.series-card:hover .series-card-fallback-logo,
.series-card-media-link:hover .series-card-fallback-logo {
  opacity: 1;
  transform: scale(1.05);
}

/* Series Match Breakdown Stack */
.series-match-breakdown-stack {
  position: absolute;
  bottom: 12px;
  left: 12px;
  top: auto;
  display: flex;
  flex-direction: column-reverse; /* Stacks chips upward from the bottom */
  align-items: flex-start;
  gap: 6px;
  z-index: 3;
  max-width: calc(100% - 24px);
  pointer-events: none;
}

/* Micro Badge Chips */
.series-criterion-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 3px 8px 3px 3px; /* Asymmetrical padding hugging the icon box */
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.7rem;
  line-height: 1.2;
  color: #0f172a;
  white-space: nowrap;
  max-width: 100%;
  box-sizing: border-box;
}

.series-criterion-chip .chip-icon {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
}

.series-criterion-chip .chip-icon svg {
  display: block;
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.series-criterion-chip .chip-title {
  font-weight: 600;
  color: #1e293b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.series-criterion-chip .chip-count {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 2px;
  flex-shrink: 0;
}

/* Topic Chip Theme */
.series-criterion-chip.chip-topic .chip-icon {
  background-color: #eaf3ec; /* Soft sage green tint */
  border: 1px solid #cbe0cf;
}

.series-criterion-chip.chip-topic .chip-icon svg {
  stroke: #41874c;
  fill: none;
  stroke-width: 1.75px;
}

.series-criterion-chip.chip-topic .chip-count {
  color: #41874c;
}

/* Guest Chip Theme */
.series-criterion-chip.chip-guest .chip-icon {
  background-color: #e0f2fe; /* Soft coastal blue tint */
  border: 1px solid #bae6fd;
}

.series-criterion-chip.chip-guest .chip-icon svg {
  fill: #014769;
}

.series-criterion-chip.chip-guest .chip-count {
  color: #014769;
}

/* Count Badge Meta Pill */
.series-total-badge,
.series-card-pill {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  background-color: rgba(1, 71, 105, 0.92);
  color: #ffffff;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 4px;
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  line-height: 1.2;
  pointer-events: none;
}

.series-card-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.25rem 1.25rem 1.5rem;
}

.series-card-title {
  margin: 0 0 0.6rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  color: #014769;
  transition: color 0.15s ease;
}

.series-card-title a {
  color: inherit;
  text-decoration: none;
}

.series-card:hover .series-card-title a,
.series-card:focus-within .series-card-title a {
  color: #014769;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.series-card-description {
  margin: 0 0 1.25rem;
  flex: 1;
}

.series-card-description p {
  margin: 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4b5563;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.series-card-footer {
  margin-top: auto;
}

.series-explore-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #014769;
  text-decoration: none;
  position: relative;
  z-index: 3;
  transition: color 0.15s ease, transform 0.15s ease;
}

.series-explore-btn svg {
  transition: transform 0.15s ease;
}

.series-card:hover .series-explore-btn {
  color: #41874c;
}

.series-card:hover .series-explore-btn svg {
  transform: translateX(4px);
}

/* ----------------------------------------------------------------------------
 * Series Taxonomy Archive (.taxonomy-series-archive, .page-series-archive)
 * ------------------------------------------------------------------------- */

.page-series-archive {
  background-color: #ffffff;
  padding-top: 2rem;
  padding-bottom: 4.5rem;
}

/* Series Archive Header (Full-Width Hero Header) */
.series-archive-header,
.series-overview-hero,
.series-header-section {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e2e8f0;
}

.series-hero-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  align-items: flex-start;
}

@media (min-width: 960px) {
  .series-hero-wrap {
    display: grid;
    grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
    column-gap: 2.75rem;
    align-items: flex-start;
  }
}

.series-hero-main {
  min-width: 0;
}

.series-hero-media {
  width: 100%;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

.series-hero-poster {
  width: 100%;
  max-width: var(--sidebar-width, 100%);
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
  background-color: #0f172a;
  position: relative;
  margin: 0;
  padding: 0;
}

.series-hero-poster .series-hero-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.series-hero-poster .series-hero-placeholder,
.series-hero-poster .series-poster-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #014769 0%, #002d42 100%);
  color: rgba(255, 255, 255, 0.5);
  padding: 1.25rem;
  box-sizing: border-box;
}

.series-hero-poster .series-hero-placeholder.has-logo img,
.series-hero-poster .series-hero-placeholder .series-hero-logo,
.series-hero-poster .series-poster-fallback.has-logo img,
.series-hero-poster .series-poster-fallback .series-hero-logo {
  max-width: 180px;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.series-hero-poster .series-hero-placeholder-icon,
.series-hero-poster .series-poster-fallback .series-hero-placeholder-icon {
  width: 48px;
  height: 48px;
  color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 959px) {
  .series-hero-wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 1.75rem;
  }

  .series-hero-media {
    width: 100%;
  }

  .series-hero-poster {
    width: 100%;
  }
}

.series-archive-back-wrap {
  margin-bottom: 0.75rem;
}

.series-archive-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #014769;
  text-decoration: none;
  transition: color 0.15s ease, transform 0.15s ease;
}

.series-archive-back-link:hover,
.series-archive-back-link:focus-visible {
  color: #41874c;
  transform: translateX(-3px);
}

.series-archive-title {
  margin: 0 0 0.65rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1.15;
  color: #014769;
  letter-spacing: -0.025em;
}

@media (min-width: 960px) {
  .series-archive-title {
    font-size: 3rem;
  }
}

.series-archive-meta,
.series-meta-summary {
  margin: 0;
  margin-bottom: 0 !important;
  padding: 0;
}

.browse-series-meta,
.series-overview-count,
.series-meta-summary,
.series-archive-meta .series-count-pill,
.series-count-pill {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: #014769;
  margin-top: 0.75rem;
  margin-bottom: 0 !important;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  background: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  letter-spacing: normal;
  text-transform: none;
  display: block;
}

.series-archive-description {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #334155;
  max-width: 720px;
  margin-top: 0.85rem;
}

.series-archive-description p {
  margin: 0 0 0.5rem;
}

.series-archive-description p:last-child {
  margin-bottom: 0;
}

/* Series Episodes Feed */
.series-episodes-feed {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.series-feed-card {
  display: flex;
  flex-direction: column;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

@media (min-width: 640px) {
  .series-feed-card {
    flex-direction: row;
    align-items: stretch;
  }
}

/* Hide Hero Duplicate in Default Mode (Revealed When Filtered) */
body:not(.is-filtered-view) .series-feed-card.is-hero-duplicate {
  display: none !important;
}

.series-feed-card:hover {
  background-color: #ffffff;
  border-color: #014769;
  box-shadow: 0 6px 18px rgba(1, 71, 105, 0.09);
  transform: translateY(-2px);
}

.series-feed-thumb-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #0f172a;
  overflow: hidden;
  flex-shrink: 0;
}

@media (min-width: 640px) {
  .series-feed-thumb-wrap {
    width: 240px;
  }
}

@media (min-width: 1024px) {
  .series-feed-thumb-wrap {
    width: 260px;
  }
}

.series-feed-thumb-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.series-feed-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.series-feed-card:hover .series-feed-thumb {
  transform: scale(1.04);
}

.series-feed-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #014769 0%, #0f172a 100%);
  color: rgba(255, 255, 255, 0.4);
}

.series-feed-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s ease;
}

.series-feed-play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background-color: rgba(1, 71, 105, 0.9);
  color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.series-feed-card:hover .series-feed-play-overlay {
  background-color: rgba(0, 0, 0, 0.1);
}

.series-feed-card:hover .series-feed-play-icon {
  transform: scale(1.1);
  background-color: #41874c;
}

.series-feed-body {
  padding: 1.25rem 1.35rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.series-feed-header-zone {
  position: relative;
  display: block;
}

.series-feed-header-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  text-decoration: none;
  cursor: pointer;
}

.series-feed-header-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.series-feed-header-link:hover,
.series-feed-header-link:focus-visible,
.series-feed-header-overlay:hover,
.series-feed-header-overlay:focus-visible {
  text-decoration: none;
}

.series-feed-meta,
.series-feed-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}

.series-feed-date {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.75rem;
  color: #64748b;
}

.series-feed-title {
  margin: 0 0 0.5rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1a1a1a;
  transition: color 0.15s ease, text-decoration 0.15s ease;
}

.series-feed-title a,
.series-feed-title-link {
  color: inherit;
  text-decoration: none;
  position: relative;
  z-index: 2;
  transition: color 0.15s ease;
}

.series-feed-title a:hover,
.series-feed-title a:focus-visible,
.series-feed-title-link:hover,
.series-feed-title-link:focus-visible,
.series-feed-header-link:hover .series-feed-title,
.series-feed-header-link:focus-visible .series-feed-title,
.series-feed-header-zone:hover .series-feed-title,
.series-feed-header-zone:focus-visible .series-feed-title,
.series-feed-header-zone:hover .series-feed-title-link {
  color: #014769;
  text-decoration: none !important;
}

.series-feed-card:hover .series-feed-title,
.series-feed-card:hover .series-feed-title a,
.series-feed-card:hover .series-feed-title-link {
  color: #014769;
  text-decoration: none !important;
}

.series-feed-guest-line {
  margin: -0.15rem 0 0.5rem 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  color: #64748b;
  position: relative;
  z-index: 2;
}

.series-feed-guest-line .guest-label {
  color: #64748b;
  font-weight: 500;
}

.series-feed-guest-line .guest-names {
  color: inherit;
}

.series-feed-guest-line a,
.series-feed-guest-link,
.series-feed-card .episode-guest-item,
.series-feed-card .episode-guest-item a,
.series-feed-card a.episode-guest-item,
.series-feed-card a.guest-archive-link:not(.guest-box),
.series-episodes-feed .series-feed-guest-link,
.series-episodes-feed .episode-guest-item,
.series-episodes-feed .episode-guest-item a,
.series-episodes-feed a.guest-archive-link:not(.guest-box) {
  color: #475569;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease, text-decoration 0.15s ease;
}

.series-feed-guest-line a:hover,
.series-feed-guest-line a:focus-visible,
.series-feed-guest-link:hover,
.series-feed-guest-link:focus-visible,
.series-feed-card .episode-guest-item:hover,
.series-feed-card .episode-guest-item:focus-visible,
.series-feed-card .episode-guest-item a:hover,
.series-feed-card .episode-guest-item a:focus-visible,
.series-feed-card a.episode-guest-item:hover,
.series-feed-card a.episode-guest-item:focus-visible,
.series-feed-card a.guest-archive-link:not(.guest-box):hover,
.series-feed-card a.guest-archive-link:not(.guest-box):focus-visible,
.series-episodes-feed .series-feed-guest-link:hover,
.series-episodes-feed .series-feed-guest-link:focus-visible,
.series-episodes-feed .episode-guest-item:hover,
.series-episodes-feed .episode-guest-item:focus-visible,
.series-episodes-feed .episode-guest-item a:hover,
.series-episodes-feed .episode-guest-item a:focus-visible,
.series-episodes-feed a.guest-archive-link:not(.guest-box):hover,
.series-episodes-feed a.guest-archive-link:not(.guest-box):focus-visible {
  color: #014769 !important;
  text-decoration: underline;
}

.series-feed-guest-line .guest-amp {
  color: #64748b;
  font-weight: 500;
}

/* ============================================================================
 * Authentic Freehand Chisel-Tip Highlighter Strokes for Active Guests
 * ========================================================================= */

/* ============================================================================
 * Authentic Freehand Chisel-Tip Highlighter Strokes for Active Guests
 * ========================================================================= */

:root {
  /* 0: Coral Pink */
  --hl-grad-0: linear-gradient(98deg, rgba(244, 114, 182, 0.4) 0%, rgba(244, 114, 182, 0.72) 12%, rgba(251, 113, 133, 0.68) 88%, rgba(244, 63, 94, 0.84) 100%);

  /* 1: Harvest Amber / Tangerine (Consolidated Orange) */
  --hl-grad-1: linear-gradient(98deg, rgba(255, 187, 138, 0.45) 0%, rgba(255, 154, 94, 0.65) 70%, rgba(249, 115, 22, 0.84) 100%);

  /* 2: Classic Gold / Yellow */
  --hl-grad-2: linear-gradient(98deg, rgba(255, 235, 59, 0.4) 0%, rgba(255, 241, 118, 0.78) 12%, rgba(255, 235, 59, 0.72) 88%, rgba(253, 216, 53, 0.88) 100%);

  /* 3: Fresh Field Green (Consolidated Brand Green) */
  --hl-grad-3: linear-gradient(98deg, rgba(0, 208, 132, 0.35) 0%, rgba(0, 208, 132, 0.70) 12%, rgba(52, 211, 153, 0.65) 88%, rgba(16, 185, 129, 0.84) 100%);

  /* 4: Sky / Cyan Blue */
  --hl-grad-4: linear-gradient(98deg, rgba(56, 189, 248, 0.35) 0%, rgba(56, 189, 248, 0.68) 12%, rgba(96, 165, 250, 0.62) 88%, rgba(14, 165, 233, 0.80) 100%);

  /* 5: Soft Lavender / Violet */
  --hl-grad-5: linear-gradient(98deg, rgba(192, 132, 252, 0.35) 0%, rgba(192, 132, 252, 0.68) 12%, rgba(168, 85, 247, 0.62) 88%, rgba(147, 51, 234, 0.80) 100%);
}

.episode-guest-item,
mark.hl-chisel,
.hl-chisel {
  position: relative;
  display: inline-block;
  z-index: 1;
  transition: color 0.15s ease;
  background: transparent !important;
}

/* Outer guest item allows natural inline line breaks */
.episode-guest-item.is-highlighted {
  position: relative !important;
  display: inline !important;
  white-space: normal !important;
  background: transparent !important;
}

.episode-guest-item.is-highlighted::before {
  display: none !important;
}

/* 1. Zero out horizontal displacement so punctuation never shifts */
.episode-guest-item.is-highlighted .hl-line,
mark.hl-chisel .hl-line,
.hl-chisel .hl-line {
  position: relative !important;
  display: inline-block !important;
  white-space: nowrap !important;
  z-index: 1 !important;
  padding: 1px 0 2px 0 !important; /* Zero horizontal padding: text boundary ends flush with last letter */
  margin: 0 !important;             /* Zero margin: prevents pushing adjacent commas or ampersands */
  border-radius: 0 !important;
  color: #0f172a !important;
}

/* 2. Let the absolutely positioned pseudo-element handle visual bleed */
.episode-guest-item.is-highlighted .hl-line::before,
mark.hl-chisel .hl-line::before,
.hl-chisel .hl-line::before {
  position: absolute !important;
  content: "" !important;
  left: -3px !important;  /* Subtle natural entry marker bleed */
  right: -4px !important; /* Visual chisel overhang without moving text */
  top: 10% !important;
  bottom: -2% !important;
  z-index: -1 !important;
  pointer-events: none !important;
  transform: rotate(-0.8deg) skewX(-2deg) !important;
  clip-path: polygon(
    0% 12%,
    3% 4%,
    96% 2%,
    100% 18%,
    98% 88%,
    95% 98%,
    4% 94%,
    0% 82%
  ) !important;
  mix-blend-mode: multiply !important;
  filter: blur(0.2px) !important;
}

.series-feed-card:hover .episode-guest-item.is-highlighted,
.episode-guest-item.is-highlighted:hover,
.episode-guest-item.is-highlighted:focus-visible,
mark.hl-chisel:hover {
  color: #014769 !important;
  text-decoration: none;
}

.series-feed-card:hover .episode-guest-item.is-highlighted .hl-line,
.episode-guest-item.is-highlighted:hover .hl-line,
.episode-guest-item.is-highlighted:focus-visible .hl-line {
  color: #014769 !important;
}

/* Map the 6 Consolidated Gradient Colors to .hl-line */
.episode-guest-item.is-highlighted.hl-color-0 .hl-line::before,
.episode-guest-item.is-highlighted.hl-0 .hl-line::before,
.episode-guest-item.is-highlighted.guest-hl-0 .hl-line::before,
.episode-guest-item.is-highlighted.highlight-color-0 .hl-line::before,
mark.hl-chisel.hl-0 .hl-line::before,
mark.hl-chisel.hl-pink .hl-line::before,
mark.hl-chisel.hl-color-0 .hl-line::before,
.hl-chisel.hl-0 .hl-line::before,
.hl-chisel.hl-pink .hl-line::before {
  background: var(--hl-grad-0) !important;
}

.episode-guest-item.is-highlighted.hl-color-1 .hl-line::before,
.episode-guest-item.is-highlighted.hl-1 .hl-line::before,
.episode-guest-item.is-highlighted.guest-hl-1 .hl-line::before,
.episode-guest-item.is-highlighted.highlight-color-1 .hl-line::before,
.episode-guest-item.is-highlighted.hl-orange .hl-line::before,
.episode-guest-item.is-highlighted.hl-amber .hl-line::before,
.episode-guest-item.is-highlighted.hl-ochre .hl-line::before,
mark.hl-chisel.hl-1 .hl-line::before,
mark.hl-chisel.hl-color-1 .hl-line::before,
mark.hl-chisel.hl-orange .hl-line::before,
mark.hl-chisel.hl-amber .hl-line::before,
mark.hl-chisel.hl-ochre .hl-line::before,
.hl-chisel.hl-1 .hl-line::before,
.hl-chisel.hl-orange .hl-line::before,
.hl-chisel.hl-amber .hl-line::before,
.hl-chisel.hl-ochre .hl-line::before {
  background: var(--hl-grad-1) !important;
}

.episode-guest-item.is-highlighted.hl-color-2 .hl-line::before,
.episode-guest-item.is-highlighted.hl-2 .hl-line::before,
.episode-guest-item.is-highlighted.guest-hl-2 .hl-line::before,
.episode-guest-item.is-highlighted.highlight-color-2 .hl-line::before,
mark.hl-chisel.hl-2 .hl-line::before,
mark.hl-chisel.hl-color-2 .hl-line::before,
mark.hl-chisel.hl-yellow .hl-line::before,
.hl-chisel.hl-2 .hl-line::before,
.hl-chisel.hl-yellow .hl-line::before {
  background: var(--hl-grad-2) !important;
}

.episode-guest-item.is-highlighted.hl-color-3 .hl-line::before,
.episode-guest-item.is-highlighted.hl-3 .hl-line::before,
.episode-guest-item.is-highlighted.guest-hl-3 .hl-line::before,
.episode-guest-item.is-highlighted.highlight-color-3 .hl-line::before,
.episode-guest-item.is-highlighted.hl-green .hl-line::before,
mark.hl-chisel.hl-3 .hl-line::before,
mark.hl-chisel.hl-color-3 .hl-line::before,
mark.hl-chisel.hl-green .hl-line::before,
.hl-chisel.hl-3 .hl-line::before,
.hl-chisel.hl-green .hl-line::before {
  background: var(--hl-grad-3) !important;
}

.episode-guest-item.is-highlighted.hl-color-4 .hl-line::before,
.episode-guest-item.is-highlighted.hl-4 .hl-line::before,
.episode-guest-item.is-highlighted.guest-hl-4 .hl-line::before,
.episode-guest-item.is-highlighted.highlight-color-4 .hl-line::before,
mark.hl-chisel.hl-4 .hl-line::before,
mark.hl-chisel.hl-cyan .hl-line::before,
mark.hl-chisel.hl-color-4 .hl-line::before,
.hl-chisel.hl-4 .hl-line::before,
.hl-chisel.hl-cyan .hl-line::before {
  background: var(--hl-grad-4) !important;
}

.episode-guest-item.is-highlighted.hl-color-5 .hl-line::before,
.episode-guest-item.is-highlighted.hl-5 .hl-line::before,
.episode-guest-item.is-highlighted.guest-hl-5 .hl-line::before,
.episode-guest-item.is-highlighted.highlight-color-5 .hl-line::before,
mark.hl-chisel.hl-5 .hl-line::before,
mark.hl-chisel.hl-color-5 .hl-line::before,
mark.hl-chisel.hl-violet .hl-line::before,
mark.hl-chisel.hl-purple .hl-line::before,
.hl-chisel.hl-5 .hl-line::before,
.hl-chisel.hl-violet .hl-line::before,
.hl-chisel.hl-purple .hl-line::before {
  background: var(--hl-grad-5) !important;
}

/* Scoped Guest Active Avatar Styling for Browse All Series */
.page-template-page-series .guest-filter-btn.is-active .guest-avatar-icon,
.page-template-page-series .guest-filter-btn.is-active .guest-avatar,
.browse-series-layout .guest-filter-btn.is-active .guest-avatar-icon,
.browse-series-layout .guest-filter-btn.is-active .guest-avatar,
.series-browse-container .guest-filter-btn.is-active .guest-avatar-icon,
.series-browse-container .guest-filter-btn.is-active .guest-avatar {
  background-color: #3b7b46 !important; /* Unified green matching topic active state */
}

.page-template-page-series .guest-filter-btn.is-active .guest-avatar-icon svg,
.page-template-page-series .guest-filter-btn.is-active .guest-avatar svg,
.browse-series-layout .guest-filter-btn.is-active .guest-avatar-icon svg,
.browse-series-layout .guest-filter-btn.is-active .guest-avatar svg,
.series-browse-container .guest-filter-btn.is-active .guest-avatar-icon svg,
.series-browse-container .guest-filter-btn.is-active .guest-avatar svg {
  fill: #ffffff !important;
}

/* Sidebar Guest Card Avatar Color Sync (Scoped Exclusively to All Episodes) */
.page-template-page-episodes .guest-filter-btn.guest-hl-0 .guest-avatar-icon,
.page-template-page-episodes .guest-filter-btn.guest-hl-0 .guest-avatar,
.episodes-directory-archive .guest-filter-btn.guest-hl-0 .guest-avatar-icon,
.episodes-directory-archive .guest-filter-btn.guest-hl-0 .guest-avatar {
  background-color: #f43f5e !important; /* Coral Pink */
}

.page-template-page-episodes .guest-filter-btn.guest-hl-1 .guest-avatar-icon,
.page-template-page-episodes .guest-filter-btn.guest-hl-1 .guest-avatar,
.episodes-directory-archive .guest-filter-btn.guest-hl-1 .guest-avatar-icon,
.episodes-directory-archive .guest-filter-btn.guest-hl-1 .guest-avatar {
  background-color: #f97316 !important; /* Orange */
}

.page-template-page-episodes .guest-filter-btn.guest-hl-2 .guest-avatar-icon,
.page-template-page-episodes .guest-filter-btn.guest-hl-2 .guest-avatar,
.episodes-directory-archive .guest-filter-btn.guest-hl-2 .guest-avatar-icon,
.episodes-directory-archive .guest-filter-btn.guest-hl-2 .guest-avatar {
  background-color: #eab308 !important; /* Yellow */
}

.page-template-page-episodes .guest-filter-btn.guest-hl-3 .guest-avatar-icon,
.page-template-page-episodes .guest-filter-btn.guest-hl-3 .guest-avatar,
.episodes-directory-archive .guest-filter-btn.guest-hl-3 .guest-avatar-icon,
.episodes-directory-archive .guest-filter-btn.guest-hl-3 .guest-avatar {
  background-color: #22c55e !important; /* Green */
}

.page-template-page-episodes .guest-filter-btn.guest-hl-4 .guest-avatar-icon,
.page-template-page-episodes .guest-filter-btn.guest-hl-4 .guest-avatar,
.episodes-directory-archive .guest-filter-btn.guest-hl-4 .guest-avatar-icon,
.episodes-directory-archive .guest-filter-btn.guest-hl-4 .guest-avatar {
  background-color: #0ea5e9 !important; /* Blue */
}

.page-template-page-episodes .guest-filter-btn.guest-hl-5 .guest-avatar-icon,
.page-template-page-episodes .guest-filter-btn.guest-hl-5 .guest-avatar,
.episodes-directory-archive .guest-filter-btn.guest-hl-5 .guest-avatar-icon,
.episodes-directory-archive .guest-filter-btn.guest-hl-5 .guest-avatar {
  background-color: #a855f7 !important; /* Lavender */
}

.guest-filter-btn.is-active .guest-avatar-icon svg,
.guest-filter-btn.is-active .guest-avatar svg {
  fill: #ffffff !important;
}

.series-feed-excerpt {
  margin-bottom: 0.85rem;
  flex: 1;
}

.series-feed-excerpt p {
  margin: 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4b5563;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.series-feed-footer {
  margin-top: auto;
}

.episode-card-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.25rem;
  width: 100%;
  box-sizing: border-box;
}

.series-feed-footer.episode-card-bottom-row {
  margin-top: auto;
  padding-top: 0.5rem;
}

.episode-listen-link,
.series-feed-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  line-height: 1.25rem;
  font-weight: 700;
  color: #014769;
  text-decoration: none;
  transition: color 0.15s ease, transform 0.15s ease;
}

.series-feed-arrow {
  transition: transform 0.15s ease;
}

.series-feed-card:hover .series-feed-cta,
.series-feed-card:hover .episode-listen-link {
  color: #41874c;
}

.series-feed-card:hover .series-feed-arrow {
  transform: translateX(3px);
}

.episode-matched-topics-stack {
  display: flex;
  flex-direction: row-reverse;
  gap: 6px;
  align-items: center;
  margin-left: auto;
}

.card-topic-match-pill {
  width: 24px;
  height: 24px;
  border-radius: 5px;
  background-color: #3b7b46 !important; /* Solid brand green matching active sidebar topics */
  border: 1px solid #31673a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: default;
  transition: transform 0.15s ease, background-color 0.15s ease;
}

.card-topic-match-pill:hover {
  background-color: #326b3c !important;
  border-color: #285630 !important;
  transform: scale(1.05);
}

.card-topic-match-pill svg {
  stroke: #ffffff !important;
  stroke-width: 2.2 !important;
  fill: none;
  width: 14px;
  height: 14px;
  display: block;
}

.card-topic-match-pill svg * {
  stroke: #ffffff !important;
  stroke-width: 2.2 !important;
}

/* ----------------------------------------------------------------------------
 * Single Episode Page (99% Invisible Layout)
 * ------------------------------------------------------------------------- */

body.single-post,
.single-episode-layout {
  background-color: #ffffff;
}

.single-episode-layout {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-3xl);
  background-color: #ffffff;
}

/* Two-Column Responsive Page Grid (~68% Main Column, ~32% Sidebar) */
.single-episode-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
  background-color: #ffffff;
}

@media (min-width: 960px) {
  .single-episode-grid {
    display: grid;
    grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
    column-gap: 2.75rem;
    row-gap: 2.5rem;
    align-items: start;
  }
}

.single-main-column {
  min-width: 0;
}

/* Common Positioning Context for Episode Hero Components */
.single-hero-stage {
  position: relative;
  width: 100%;
}

/* ========================================================== */
/* Single Episode Hero Section: Slim, Breathable Hierarchy    */
/* ========================================================== */

.single-episode-hero-wrap {
  position: relative;
  width: 100%;
  margin-bottom: 24px;
}

.single-hero-header,
.single-episode-hero-wrap .hero-header-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin-top: 0;
  margin-bottom: 12px;
  position: relative;
  z-index: 5;
}

.single-hero-header .hero-badge-group {
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  padding: 0;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0;
}

.single-episode-hero-wrap .hero-title-box,
.single-title-box,
.episode-title-strip,
.episode-header-banner {
  background-color: #014769 !important;
  color: #ffffff !important;
  width: 75% !important;
  max-width: 75% !important;
  padding: 12px 24px 14px 20px !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
  cursor: default !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.single-episode-hero-wrap .hero-title-box.has-guest-badge,
.single-title-box.has-guest-badge {
  margin-bottom: 18px !important;
}

.single-hero-title,
.single-episode-hero-wrap .hero-title,
.episode-title {
  margin: 0 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  text-wrap: balance;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.episode-video-container {
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
  position: relative;
}

@media (max-width: 767px) {
  .single-episode-hero-wrap .hero-title-box,
  .single-title-box,
  .episode-title-strip,
  .episode-header-banner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 18px 16px !important;
    border-radius: 0 !important;
  }

  .single-hero-title,
  .single-episode-hero-wrap .hero-title,
  .episode-title {
    font-size: 1.5rem;
  }

  .single-episode-hero-wrap .hero-title-box.has-guest-badge,
  .single-title-box.has-guest-badge {
    margin-bottom: 24px !important;
  }

  .single-episode-hero-wrap .home-guest-badge,
  .single-title-box .home-guest-badge {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: auto !important;
    white-space: normal !important;
    text-align: left !important;
  }
}


/* ========================================================== */
/* Homepage Featured Hero Guest Badge (.home-guest-badge)     */
/* ========================================================== */

.home-featured-hero .hero-title-box.has-guest-badge,
.hero-featured-episode .hero-title-box.has-guest-badge,
body.home .hero-title-box.has-guest-badge {
  padding-bottom: 1.25rem !important;
}

.hero-title-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.hero-title-link:visited {
  color: #ffffff;
}

.hero-title-link:hover,
.hero-title-link:focus-visible {
  color: #ffffff;
  text-decoration: none;
}

.home-guest-line,
.home-guest-badge,
.home-featured-hero .hero-guest-badge,
.hero-featured-episode .hero-guest-badge,
body.home .hero-guest-badge,
body.home .home-guest-badge,
body.home .home-guest-line,
.is-home-guest-badge {
  position: absolute !important;
  top: calc(100% + 1px) !important;
  bottom: auto !important;
  right: 10px !important;
  left: auto !important;
  z-index: 10 !important;
  transform: none !important;
  display: inline-block !important;
  gap: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #014769 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  cursor: default;
  filter: none !important;
  white-space: nowrap;
}

.home-guest-line .guest-label,
.home-guest-badge .guest-label,
.home-featured-hero .hero-guest-badge .guest-label,
.hero-featured-episode .hero-guest-badge .guest-label,
body.home .hero-guest-badge .guest-label,
body.home .home-guest-badge .guest-label,
body.home .home-guest-line .guest-label,
.is-home-guest-badge .guest-label,
.guest-label,
.byline-label,
.guest-prefix {
  display: inline !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #3b4d61 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  font-style: italic !important;
  text-transform: lowercase !important;
  letter-spacing: 0.01em;
  line-height: 1.1 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  white-space: nowrap;
  box-sizing: border-box;
  transform: none !important;
  cursor: default;
  user-select: text;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.home-guest-line .guest-links-wrap,
.home-guest-line .guest-names,
.home-guest-badge .guest-links-wrap,
.home-guest-badge .guest-names,
.home-featured-hero .hero-guest-badge .guest-names,
.hero-featured-episode .hero-guest-badge .guest-names,
body.home .hero-guest-badge .guest-names,
body.home .home-guest-badge .guest-names,
body.home .home-guest-line .guest-links-wrap,
body.home .home-guest-line .guest-names,
.is-home-guest-badge .guest-links-wrap,
.is-home-guest-badge .guest-names {
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  right: auto !important;
  display: inline !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #014769 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0.01em;
  line-height: 1.1 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  white-space: nowrap;
  box-sizing: border-box;
  transform: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.home-guest-line a.guest-term-link,
.home-guest-badge a.guest-term-link,
.home-featured-hero a.guest-term-link,
.home-guest-link,
.home-guest-line .guest-name-link,
.home-guest-badge .guest-name-link,
a.byline-guest-link,
.byline-guest-link,
.guest-term-link {
  display: inline !important;
  color: #014769 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 0.85rem !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color 150ms ease;
  padding: 0 !important;
  margin: 0 !important;
}

.home-guest-line a.guest-term-link:hover,
.home-guest-line a.guest-term-link:focus-visible,
.home-guest-badge a.guest-term-link:hover,
.home-guest-badge a.guest-term-link:focus-visible,
.home-featured-hero a.guest-term-link:hover,
.home-featured-hero a.guest-term-link:focus-visible,
.home-guest-link:hover,
.home-guest-link:focus-visible,
.home-guest-line .guest-name-link:hover,
.home-guest-line .guest-name-link:focus-visible,
.home-guest-badge .guest-name-link:hover,
.home-guest-badge .guest-name-link:focus-visible {
  color: #41874c !important;
  text-decoration: underline !important;
}

.home-guest-line .guest-amp,
.home-guest-badge .guest-amp,
body.home .hero-guest-badge .guest-amp,
body.home .home-guest-badge .guest-amp,
body.home .home-guest-line .guest-amp {
  display: inline !important;
  color: #014769 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: default;
}

@media (max-width: 767px) {
  .home-guest-line,
  .home-guest-badge,
  .home-featured-hero .hero-guest-badge,
  .hero-featured-episode .hero-guest-badge,
  body.home .hero-guest-badge,
  body.home .home-guest-badge,
  body.home .home-guest-line,
  .is-home-guest-badge {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    margin-top: 4px;
    display: block !important;
    gap: 0 !important;
    max-width: 100%;
    transform: none !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    color: #014769 !important;
    font-size: 0.85rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  .home-guest-line .guest-label,
  .home-guest-badge .guest-label,
  .home-featured-hero .hero-guest-badge .guest-label,
  .hero-featured-episode .hero-guest-badge .guest-label,
  body.home .hero-guest-badge .guest-label,
  body.home .home-guest-badge .guest-label,
  body.home .home-guest-line .guest-label,
  .is-home-guest-badge .guest-label,
  .guest-label,
  .byline-label,
  .guest-prefix {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: #3b4d61 !important;
    font-size: 0.85rem !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 500 !important;
    font-style: italic !important;
    min-height: 0 !important;
  }

  .home-guest-line .guest-links-wrap,
  .home-guest-line .guest-names,
  .home-guest-badge .guest-links-wrap,
  .home-guest-badge .guest-names,
  .home-featured-hero .hero-guest-badge .guest-names,
  .hero-featured-episode .hero-guest-badge .guest-names,
  body.home .hero-guest-badge .guest-names,
  body.home .home-guest-badge .guest-names,
  body.home .home-guest-line .guest-links-wrap,
  body.home .home-guest-line .guest-names,
  .is-home-guest-badge .guest-links-wrap,
  .is-home-guest-badge .guest-names {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: #014769 !important;
    font-size: 0.85rem !important;
    min-height: 0 !important;
    white-space: normal;
    word-break: break-word;
  }
}

.hero-title-box h1,
.single-title-box h1,
.single-episode-title {
  margin: 0 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.35rem);
  font-weight: 700;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff;
  text-wrap: balance;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Embedded Video Player Stage (Touches Flush to Title Box) */
.episode-video-stage,
.single-player-stage {
  position: relative;
  z-index: 10;
  margin-top: 0 !important;
  margin-bottom: 1.25rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  border-radius: 6px;
  overflow: visible;
  background-color: #0b0f19;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.episode-video-stage .video-player-wrapper,
.single-player-stage .video-player-wrapper,
.video-player-wrapper,
.episode-video-frame {
  border-radius: 6px !important;
  overflow: hidden !important;
  position: relative;
  z-index: 10;
}

.episode-video-stage .ratio-16-9,
.single-player-stage .ratio-16-9,
.episode-video-stage .featured-media-wrapper,
.single-player-stage .featured-media-wrapper,
.episode-video-stage iframe,
.single-player-stage iframe,
.episode-video-stage img,
.single-player-stage img,
.episode-video-stage .stage-featured-image,
.single-player-stage .stage-featured-image {
  border-radius: 6px;
}

.ratio-16-9 {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.video-player-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.featured-media-wrapper .stage-featured-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.stage-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #014769 0%, #0b0f19 100%);
  color: rgba(255, 255, 255, 0.4);
}

/* Action Bar */
.single-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-border);
}

.single-action-bar .single-episode-date {
  font-family: inherit !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-transform: none !important; /* Converts all-caps SEPTEMBER to sentence case September */
  letter-spacing: normal !important;
  color: #5a6b82 !important;
  white-space: nowrap !important;
}

/* Sidebar Column & Widgets */
.single-sidebar-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
  min-width: 0;
}

.sidebar-widget {
  background-color: transparent;
}

.sidebar-widget-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--color-text);
  border-bottom: 3px solid #014769;
  padding-bottom: 0.45rem;
  margin-top: 0;
  margin-bottom: 1.25rem;
  display: block;
}

/* Widget 1: BROWSE BY TOPIC (.topics-icon-grid) */
.topics-icon-grid,
.topics-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.25rem;
  row-gap: 1rem;
  margin-top: 1rem;
  box-sizing: border-box;
}

.topic-item-link,
.topic-box,
.topic-item {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  text-decoration: none;
  color: #0f172a;
}

.topic-icon-box {
  position: relative;
  width: 46px;
  height: 46px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f8fafc;
  flex-shrink: 0;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.topic-icon-box > svg,
.topic-icon-box > .topic-icon {
  width: 26px;
  height: 26px;
  stroke: #41874c;
  stroke-width: 1.75px;
  fill: none;
  display: block;
  transition: transform 0.15s ease;
}

.topic-item-label,
.topic-name {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0f172a;
  text-transform: none; /* Sentence/Title case instead of all-caps mono */
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
  flex: 1 1 auto;
  transition: color 0.15s ease;
}

/* Hover & Focus Interactions */
.topic-item-link:hover .topic-icon-box,
.topic-item-link:focus-visible .topic-icon-box,
.topic-box:hover .topic-icon-box,
.topic-box:focus-visible .topic-icon-box {
  border-color: #cbd5e1;
  background-color: #ffffff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.topic-item-link:hover .topic-icon-box > svg,
.topic-item-link:focus-visible .topic-icon-box > svg,
.topic-box:hover .topic-icon-box > svg,
.topic-box:focus-visible .topic-icon-box > svg {
  transform: scale(1.08);
}

.topic-item-link:hover .topic-item-label,
.topic-item-link:focus-visible .topic-item-label,
.topic-box:hover .topic-name,
.topic-box:focus-visible .topic-name {
  color: #014769;
}

@media (max-width: 380px) {
  .topics-icon-grid,
  .topics-grid {
    grid-template-columns: 1fr;
  }
}

/* Widget 2: GUESTS */
.guests-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.guest-box,
.guest-card,
.guest-sidebar-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.75rem 1rem;
  background-color: #f8fafc;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  text-decoration: none;
  transition: all 150ms ease-in-out;
}

.guest-box:hover,
.guest-box:focus-visible,
.guest-card:hover,
.guest-card:focus-visible {
  border-color: #014769;
  background-color: #ffffff;
  box-shadow: 0 4px 12px rgba(1, 71, 105, 0.08);
  transform: translateY(-1px);
}

.guest-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: #014769;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background-color 150ms ease-in-out;
}

.guest-box:hover .guest-avatar,
.guest-card:hover .guest-avatar {
  background-color: #41874c;
}

.guest-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.guest-name {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 150ms ease-in-out;
}

.guest-box:hover .guest-name,
.guest-card:hover .guest-name {
  color: #014769;
}

.guest-role,
.guest-action {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b7280;
  margin-top: 0.15rem;
  transition: color 150ms ease-in-out;
}

.guest-box:hover .guest-action,
.guest-card:hover .guest-action {
  color: #41874c;
}

/* ==========================================================================
   EPISODE ARCHIVE MULTI-SELECT FILTERING (TOPICS & GUESTS)
   ========================================================================== */

/* Button Reset for Topic Filter Button */
button.topic-filter-btn {
  background: transparent;
  border: none;
  padding: 4px 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-sizing: border-box;
}

/* Button Reset for Guest Filter Button */
button.guest-filter-btn {
  font: inherit;
  cursor: pointer;
  text-align: left;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  position: relative;
}

/* Active State: Topic Filter Button */
.topic-filter-btn.is-active .topic-icon-box {
  background-color: #41874c;
  border-color: #41874c;
  box-shadow: 0 4px 12px rgba(65, 135, 76, 0.25);
  color: #ffffff !important;
}

.topic-filter-btn.is-active .topic-icon-box > svg,
.topic-filter-btn.is-active .topic-icon-box > .topic-icon,
.topic-filter-btn.is-active .topic-icon-box svg.topic-icon {
  stroke: #ffffff !important;
}

.topic-filter-btn.is-active .topic-item-label {
  color: #41874c !important;
  font-weight: 600 !important;
}

/* Active State: Guest Filter Button */
.guest-filter-btn.is-active {
  border-color: #41874c !important;
  background-color: #f4f8f5 !important;
  box-shadow: 0 4px 12px rgba(65, 135, 76, 0.15);
}

.guest-filter-btn.is-active .guest-avatar {
  background-color: #41874c;
  color: #ffffff;
}

.guest-filter-btn.is-active .guest-name {
  color: #014769;
}

.guest-filter-btn.is-active .guest-action {
  color: #41874c;
  font-weight: 700;
}

/* Selected Item Visual Indicator (The "X" Circle) */
.filter-remove-badge {
  display: none;
}

/* Topic Filter Remove Badge (Positioned Outside Icon on Active State) */
.topic-filter-btn .filter-remove-badge,
.topic-filter-btn:not(.is-active) .filter-remove-badge {
  display: none !important;
}

.topic-filter-btn.is-active .filter-remove-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -2px !important;
  left: 33px !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin-left: 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  z-index: 10 !important;
  background-color: #c5832b !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
  transition: all 150ms ease-in-out;
}

.topic-filter-btn .filter-remove-badge svg,
.topic-filter-btn.is-active .filter-remove-badge svg {
  stroke: #ffffff !important;
  display: block;
  width: 8px;
  height: 8px;
  flex-shrink: 0;
}

/* Guest Filter Remove Badge (Pinned to Right Edge) */
.guest-filter-btn.is-active .filter-remove-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  margin-left: auto;
  flex-shrink: 0;
  background-color: #c5832b !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  box-sizing: border-box;
  padding: 0;
  transition: all 150ms ease-in-out;
}

.guest-filter-btn .filter-remove-badge svg {
  display: block;
  width: 10px;
  height: 10px;
  stroke: #ffffff !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  flex-shrink: 0;
}

.guest-filter-btn.is-active:hover .filter-remove-badge,
.guest-filter-btn.is-active:focus-visible .filter-remove-badge {
  background-color: #b47524 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  transform: scale(1.05);
}

.topic-filter-btn.is-active:hover .filter-remove-badge,
.topic-filter-btn.is-active:focus-visible .filter-remove-badge,
.topic-filter-btn .filter-remove-badge:hover {
  background-color: #b47524 !important;
  color: #ffffff !important;
  transform: scale(1.05);
}

.topic-filter-btn.is-active:hover .filter-remove-badge svg,
.topic-filter-btn.is-active:focus-visible .filter-remove-badge svg,
.topic-filter-btn .filter-remove-badge:hover svg {
  stroke: #ffffff !important;
}

/* Sidebar Heading Reset Buttons */
.sidebar-reset-btn {
  background: transparent;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  padding: 2px 8px;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
  cursor: pointer;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 150ms ease-in-out;
}

.sidebar-reset-btn:hover,
.sidebar-reset-btn:focus-visible {
  border-color: #014769;
  background-color: #ffffff;
  color: #014769;
}

/* No Filter Results State */
.no-filter-results {
  padding: 3rem 1.5rem;
  margin-bottom: 2rem;
  text-align: center;
  background-color: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
}

.no-filter-results p {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1rem;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

/* Widget 3: EPISODES IN THIS SERIES */
.widget-series-episodes {
  margin-top: 0;
}

.series-episodes-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.series-episode-card,
.series-ep-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  text-decoration: none;
  color: var(--color-text, #1f2937);
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
  overflow: hidden;
  box-sizing: border-box;
}

/* Standard Card Hover (for non-current episodes) */
.series-episode-card:not(.is-current):hover,
.series-episode-card:not(.is-current):focus-visible,
.series-ep-item:not(.is-current):hover,
.series-ep-item:not(.is-current):focus-visible {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

/* Current/Active Episode Base State */
.series-episode-card.is-current,
.series-ep-item.is-current {
  background-color: #eef6fa;
  border-color: #014769;
  border-width: 1.5px;
  cursor: pointer;
}

/* Current/Active Episode Hover State */
.series-episode-card.is-current:hover,
.series-episode-card.is-current:focus-visible,
.series-ep-item.is-current:hover,
.series-ep-item.is-current:focus-visible {
  background-color: #e2eff6;
  border-color: #014769;
  box-shadow: 0 3px 8px rgba(1, 71, 105, 0.12);
  transform: translateY(-1px);
}

.series-episode-thumb-wrap,
.series-ep-thumb-wrap {
  position: relative;
  flex-shrink: 0;
  width: 86px;
  aspect-ratio: 16 / 9;
  background-color: #0f172a;
  border-radius: 6px;
  overflow: hidden;
}

.series-episode-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.series-episode-card:hover .series-episode-thumb,
.series-ep-item:hover .series-episode-thumb,
.series-episode-card.is-current:hover .series-episode-thumb,
.series-ep-item.is-current:hover .series-episode-thumb {
  transform: scale(1.04);
}

.series-episode-thumb-placeholder,
.series-ep-thumb-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #1e293b;
  color: #94a3b8;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.series-episode-thumb-placeholder svg,
.series-ep-thumb-fallback svg {
  display: block;
  transition: transform 0.15s ease, color 0.15s ease;
}

/* Thumbnail Play Icon Scale / Brighten on Hover */
.series-episode-card:hover .series-episode-thumb-placeholder svg,
.series-episode-card:hover .series-ep-thumb-fallback svg,
.series-ep-item:hover .series-ep-thumb-fallback svg {
  transform: scale(1.1);
  color: #ffffff;
}

.series-episode-card.is-current:hover .series-episode-thumb-placeholder svg,
.series-episode-card.is-current:hover .series-ep-thumb-fallback svg,
.series-ep-item.is-current:hover .series-ep-thumb-fallback svg {
  transform: scale(1.15);
  color: #e2af3b; /* Brand gold */
}

.series-episode-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

.series-episode-badge {
  display: inline-block;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #014769;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
}

.series-episode-card.is-current .series-episode-badge,
.series-ep-item.is-current .series-episode-badge {
  color: #014769;
  font-weight: 800;
}

.series-episode-title {
  margin: 0;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1a1a1a;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 150ms ease-in-out;
}

.series-episode-card:hover .series-episode-title,
.series-episode-card:focus-visible .series-episode-title,
.series-ep-item:hover .series-episode-title,
.series-ep-item:focus-visible .series-episode-title {
  color: #014769;
}

.series-episode-card.is-current .series-episode-title,
.series-ep-item.is-current .series-episode-title {
  color: #014769;
}

/* ==========================================================================
   Tabbed Episode Interface (.episode-tabs-wrapper)
   ========================================================================== */

.episode-tabs-wrapper {
  width: 100%;
  margin-top: var(--space-md);
  margin-bottom: var(--space-2xl);
}

/* Tab Navigation Bar */
.episode-tablist {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  border-bottom: 2px solid #e5e7eb;
  margin-bottom: 2rem;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.episode-tablist::-webkit-scrollbar {
  display: none;
}

.episode-tab-btn {
  appearance: none;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  padding: 0.75rem 0.25rem;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  white-space: nowrap;
  transition: color 150ms ease-in-out, border-color 150ms ease-in-out;
  outline-offset: 4px;
}

.episode-tab-btn:hover {
  color: #014769;
}

.episode-tab-btn:focus-visible {
  outline: 2px solid #014769;
  border-radius: 2px 2px 0 0;
}

.episode-tab-btn.is-active,
.episode-tab-btn[aria-selected="true"] {
  color: #014769;
  border-bottom-color: #014769;
}

.episode-tab-btn .tab-icon {
  flex-shrink: 0;
  display: block;
}

.episode-tab-btn .tab-badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.35rem;
  border-radius: 9999px;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  background-color: #f1f5f9;
  color: #475569;
  transition: background-color 150ms ease, color 150ms ease;
}

.episode-tab-btn.is-active .tab-badge-count,
.episode-tab-btn[aria-selected="true"] .tab-badge-count {
  background-color: #014769;
  color: #ffffff;
}

/* Tab Panels */
.episode-tab-panel {
  display: block;
}

.episode-tab-panel[hidden] {
  display: none !important;
}

/* Panel 1: Chapters */
.chapters-header-note {
  margin-bottom: 1.25rem;
}

.chapters-subtext {
  font-size: 0.9375rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

.episode-chapters-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.chapter-row-item {
  margin: 0 !important;
  padding: 0 !important;
}

.chapter-seek-btn {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 0.8125rem 1rem;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #014769;
  border-radius: 4px;
  cursor: pointer;
  gap: 0.875rem;
  transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
  font-family: inherit;
}

.chapter-seek-btn:hover,
.chapter-seek-btn:focus-visible {
  background-color: #ffffff;
  border-color: #cbd5e1;
  border-left-color: #41874c;
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(1, 71, 105, 0.07);
}

.chapter-seek-btn:focus-visible {
  outline: 2px solid #014769;
  outline-offset: 2px;
}

.chapter-badge,
.chapter-time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.625rem;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  background-color: #014769;
  color: #ffffff;
  border-radius: 3px;
  flex-shrink: 0;
  transition: background-color 150ms ease;
}

.chapter-seek-btn:hover .chapter-badge {
  background-color: #41874c;
}

.chapter-text {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1e293b;
  flex-grow: 1;
  line-height: 1.4;
}

.chapter-play-arrow {
  color: #94a3b8;
  flex-shrink: 0;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 150ms ease, transform 150ms ease, color 150ms ease;
}

.chapter-seek-btn:hover .chapter-play-arrow,
.chapter-seek-btn:focus-visible .chapter-play-arrow {
  opacity: 1;
  transform: translateX(0);
  color: #41874c;
}

/* Panel 3: Resources & Downloads */
.episode-resources-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.tab-section {
  display: flex;
  flex-direction: column;
}

/* Unified Tab Section Titles */
.tab-section-title,
.resources-heading {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e7eb;
}

/* Single Episode Subsection Headers (WCAG 2.1 AA Compliance) */
h2.episode-section-title,
.episode-content-area h2 {
  font-size: var(--episode-subheading-size, 1.25rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #1e293b !important;
  margin-top: 2rem !important;
  margin-bottom: 1rem !important;
}

/* Clean Inline Download Links */
.clean-download-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: #014769;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 150ms ease;
}

.clean-download-link:hover,
.clean-download-link:focus-visible {
  color: #41874c;
}

.clean-download-link svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: currentColor;
}

/* Clean Downloads List (Section 3) */
.clean-downloads-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.clean-download-item {
  margin: 0 !important;
  padding: 0 !important;
}

.episode-resources-body,
.episode-resources-content {
  margin-top: 0;
}

.episode-resources-list {
  list-style: disc !important;
  padding-left: 1.5rem !important;
  margin: 0 0 1.5rem !important;
}

.episode-resources-list li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #334155;
}

.episode-resources-list a,
.resource-link {
  color: #014769;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 150ms ease;
}

.episode-resources-list a:hover,
.resource-link:hover {
  color: #41874c;
}

/* Empty Tab State */
.tab-empty-state {
  padding: 2.5rem 1.5rem;
  text-align: center;
  background-color: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 4px;
}

.tab-empty-state p {
  margin: 0;
  font-size: 0.9375rem;
  color: #64748b;
  font-style: italic;
}

@media (max-width: 767px) {
  .episode-tablist {
    gap: 1rem;
  }

  .episode-tab-btn {
    font-size: 0.8125rem;
    padding: 0.625rem 0.125rem;
  }

  .clean-download-link {
    font-size: 0.9375rem;
    word-break: break-word;
  }
}

/* Editable Gutenberg Canvas (.entry-content) */
.single-episode-content.entry-content {
  width: 100%;
  max-width: 100%;
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--color-text);
  padding-inline: 0;
}

.entry-content > * + * {
  margin-top: 1.5em;
}

.entry-content p {
  margin-top: 0;
  margin-bottom: 1.5em;
  line-height: 1.8;
  color: var(--color-text);
}

.entry-content p.has-drop-cap:not(:focus)::first-letter {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 4.25em;
  font-weight: 800;
  line-height: 0.82;
  float: left;
  margin: 0.05em 0.15em 0 0;
  color: var(--color-primary);
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--color-text);
  margin-top: 2em;
  margin-bottom: 0.75em;
}

.entry-content h2 {
  font-size: clamp(1.5rem, 1.25rem + 0.9vw, 2.15rem);
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.4em;
}

.entry-content h3 {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.6rem);
}

.entry-content h4 {
  font-size: 1.25rem;
}

.entry-content h5 {
  font-size: 1.1rem;
}

.entry-content h6 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.entry-content blockquote,
.entry-content .wp-block-quote {
  border-left: 4px solid #41874c;
  margin: 2em 0;
  padding: 0.85em 1.5em;
  background-color: var(--color-surface);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--color-text);
}

.entry-content blockquote p,
.entry-content .wp-block-quote p {
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 0.5em;
}

.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
  display: block;
  font-family: var(--font-family-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-text-muted);
}

.entry-content ul,
.entry-content ol {
  margin: 1.5em 0;
  padding-left: 1.75em;
  line-height: 1.75;
}

.entry-content li {
  margin-bottom: 0.5em;
}

.entry-content li::marker {
  color: var(--color-primary);
}

.entry-content a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition-base);
}

.entry-content a:hover {
  color: var(--color-primary-hover);
}

.entry-content hr,
.entry-content .wp-block-separator {
  border: 0;
  border-top: 1px solid var(--color-border);
  margin: 3em auto;
  width: 50%;
}

.entry-content figure,
.entry-content .wp-block-image {
  margin: 2.5em 0;
}

.entry-content .wp-block-image img {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  height: auto;
  max-width: 100%;
}

.entry-content figcaption {
  font-family: var(--font-family-sans);
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  text-align: center;
  margin-top: 0.75em;
}

/* Audio Player Block */
.entry-content .wp-block-audio {
  margin: 2em 0;
  background-color: var(--color-surface);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

.entry-content .wp-block-audio audio {
  width: 100%;
}

/* Post Pagination Links */
.page-links {
  margin-top: 2.5em;
  padding-top: 1.5em;
  border-top: 1px solid var(--color-border);
  display: flex;
  gap: var(--space-xs);
  align-items: center;
  font-family: 'Roboto Mono', monospace;
  font-size: var(--font-size-sm);
}

.page-links a,
.page-links .post-page-numbers {
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  text-decoration: none;
}

.page-links .current {
  background-color: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

/* Gutenberg Alignment Support in Single Post */
.single-episode-content.entry-content .alignwide,
.single-episode-content.entry-content .alignfull {
  max-width: 100%;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* ----------------------------------------------------------------------------
 * Responsive Breakpoints
 * ------------------------------------------------------------------------- */

@media (max-width: 900px) {
  .site-header-top .header-masthead-actions .masthead-divider-left,
  .site-header-top .header-social-block,
  .header-masthead-actions .masthead-divider-left,
  .header-social-block {
    display: none;
  }

  .header-nav-toggle {
    display: inline-flex;
  }

  .site-nav-bar,
  .header-row-nav {
    display: none;
    background-color: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    padding: 16px 0 20px;
    min-height: auto;
  }

  .site-nav-bar.is-open,
  .header-row-nav.is-open {
    display: block;
  }

  .header-nav-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .header-main-nav {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .header-main-nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
  }

  /* Hide desktop morph slots on mobile drawer */
  .nav-compact-logo,
  .nav-sticky-give,
  .nav-sticky-give-btn,
  .nav-sticky-divider,
  .nav-sticky-notify-wrapper {
    display: none !important;
  }

  .site-header .nav-vertical-divider,
  .site-header .nav-divider-left {
    display: none !important;
  }

  .header-nav-container .masthead-divider-left {
    border-left: none;
    padding-left: 0;
    margin-left: 0;
    width: 100%;
  }

  .header-utility-cluster {
    width: 100%;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 8px 0;
    gap: 16px;
  }

  .content-hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .content-hero-artwork {
    max-width: 480px;
    width: 100%;
  }

  .content-hero-title {
    font-size: var(--font-size-2xl);
  }
}

@media (max-width: 680px) {
  .hero-media-col {
    min-height: 240px;
  }

  .hero-title-box {
    padding: 1rem 1.25rem;
  }

  .series-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .item-card {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .item-card-artwork {
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .item-card-actions {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
  }

  .item-card {
    position: relative;
  }

  .button-stack {
    flex-direction: column;
    align-items: stretch;
  }

  .button-stack .btn {
    width: 100%;
  }

  .header-masthead-container {
    gap: 16px;
  }

  .header-brand-title {
    font-size: 1.25rem;
  }

  .header-brand-logo {
    height: 40px;
  }

  .listen-on-pill {
    padding: 5px 10px;
    gap: 8px;
  }

  .listen-on-label {
    font-size: 0.6875rem;
  }

  .listen-on-links {
    gap: 4px;
  }

  .listen-on-link {
    width: 24px;
    height: 24px;
  }

  .listen-on-link svg {
    width: 14px;
    height: 14px;
  }

  .btn-give {
    padding: 6px 16px;
    font-size: var(--font-size-xs);
  }
}

@media (max-width: 480px) {
  .hero-action-bar {
    gap: var(--space-xs) var(--space-sm);
  }

  .listen-on-pill {
    padding: 4px 8px;
    gap: 6px;
  }

  .listen-on-label {
    font-size: 0.625rem;
  }

  .listen-on-links {
    gap: 3px;
  }

  .listen-on-link {
    width: 22px;
    height: 22px;
  }

  .listen-on-link svg {
    width: 13px;
    height: 13px;
  }
}

/* ==========================================================================
   Section 66: About Page — High-End Theological Editorial Standards
   Organized into 5 Clean Editorial Acts with generous breathing room,
   classic Georgia serif scripture typography, authentic transcript copy,
   and 740px continuous typography (zero card boxes or drop-shadow containers).
   ========================================================================== */

.about-page-main {
  width: 100%;
  background-color: #ffffff;
  color: #1e293b;
}

.about-page-main .about-act {
  position: relative;
  width: 100%;
  padding: clamp(72px, 8vw, 108px) 0;
}

.about-page-main .about-act:not(:last-child) {
  border-bottom: 1px solid #e2e8f0;
}

.about-editorial-wrap {
  max-width: 740px;
  margin-inline: auto;
}

/* --------------------------------------------------------------------------
   Shared Section Typography & Badges
   ----------------------------------------------------------------------- */

.about-act-header {
  max-width: 740px;
  margin: 0 auto clamp(36px, 4.5vw, 56px);
}

.about-act-header.text-center {
  text-align: center;
}

.about-act-badge,
.about-eyebrow-badge {
  display: inline-block;
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--eyebrow-accent-color);
  margin-bottom: 14px;
}

.about-act-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(2rem, 3.2vw, 2.65rem);
  font-weight: 800;
  line-height: 1.2;
  color: #014769;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}

.about-act-subhead {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.65;
  color: #475569;
  margin: 0;
}

/* --------------------------------------------------------------------------
   Act 1: The Masthead Hero
   ----------------------------------------------------------------------- */

.about-hero,
.about-hero-simple,
.about-masthead {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
  /* Retain existing site-wide border-top and border-bottom styling */
  text-align: center;
}

.about-masthead-content {
  max-width: 740px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about-masthead-emblem-wrap,
.about-hero-brand {
  margin-bottom: 0;
}

.about-hero-logo,
.about-hero-brand img,
.about-masthead-emblem {
  display: block;
  width: 140px;
  max-width: 140px;
  height: auto;
  filter: drop-shadow(0 10px 24px rgba(1, 71, 105, 0.14));
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px !important; /* Pull closer to headline */
}

.about-hero-title,
.about-masthead-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(2.1rem, 3.8vw, 3rem);
  font-weight: 800;
  line-height: 1.18;
  color: #014769;
  letter-spacing: -0.025em;
  margin-top: 0 !important;
  margin-bottom: 14px !important; /* Balanced lead into subhead */
  max-width: 740px;
}

.about-hero-subhead,
.about-masthead-subhead {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(1.05rem, 1.25vw, 1.2rem);
  font-weight: 400;
  line-height: 1.65;
  color: #475569;
  max-width: 640px;
  margin-top: 0 !important;
  margin-bottom: 28px !important; /* Balanced gap leading into buttons */
  margin-left: auto;
  margin-right: auto;
}

.about-hero-actions,
.about-masthead-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 0 !important;
}

.about-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  padding: 12px 24px;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0; /* Sharp brand corners */
  transition: all 0.15s ease-in-out;
}

.about-btn-solid {
  background-color: #014769;
  color: #ffffff !important;
  border: 2px solid #014769;
}

.about-btn-solid:hover,
.about-btn-solid:focus-visible {
  background-color: #023149;
  border-color: #023149;
  color: #ffffff !important;
  text-decoration: none;
}

.about-btn-outline {
  background-color: transparent;
  color: #014769 !important;
  border: 2px solid #014769;
}

.about-btn-outline:hover,
.about-btn-outline:focus-visible {
  background-color: #014769;
  border-color: #014769;
  color: #ffffff !important;
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   Act 2: The Field & The Table
   ----------------------------------------------------------------------- */

.about-field-table-split {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 56px;
  align-items: start;
  max-width: 1040px;
  margin-inline: auto;
}

.field-table-sidebar blockquote,
.field-table-sidebar .field-scripture-quote {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.6;
  color: #014769;
  border-left: 3px solid #df9e38;
  padding-left: 18px;
  margin: 0 0 24px 0;
  background: transparent;
}

.field-table-sidebar .sidebar-subverse {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.6;
  color: #014769;
  border-left: 3px solid #2a6f52;
  padding-left: 18px;
  margin: 0;
  background: transparent;
}

.field-table-sidebar blockquote p,
.field-table-sidebar .field-scripture-quote p,
.field-table-sidebar .sidebar-subverse p {
  margin: 0;
}

.field-table-sidebar cite {
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* Align lines to the right */
  text-align: right;
  gap: 2px;
  margin-top: 10px;
  font-style: normal;
}

.field-table-sidebar .cite-author {
  font-weight: 700;
  font-size: 0.88rem;
  color: #014769;
  letter-spacing: 0.01em;
}

.field-table-sidebar .cite-source {
  font-weight: 500;
  font-size: 0.78rem;
  color: #64748b;
  padding-left: 0; /* Remove left offset now that it is right-aligned */
}

.field-table-narrative .about-badge-wrap {
  margin-bottom: 6px;
}

.about-section-title,
.field-table-narrative h2,
.field-table-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(1.85rem, 2.6vw, 2.4rem);
  font-weight: 800;
  line-height: 1.22;
  color: #014769;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}

.about-subsection-title,
.field-table-narrative h3,
.narrative-subtitle {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: clamp(1.35rem, 1.8vw, 1.55rem);
  font-weight: 800;
  color: #014769;
  line-height: 1.3;
  margin: 28px 0 16px;
}

.field-table-narrative p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #334155;
  margin-bottom: 16px;
}

.field-table-narrative p.lead-text {
  font-size: 1.125rem;
  line-height: 1.7;
  color: #1e293b;
  font-weight: 500;
}

.table-focus-line {
  margin: 20px 0 16px;
}

.table-focus-line em {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-style: italic;
  font-size: 1.125rem;
  font-weight: 700;
  color: #014769;
  line-height: 1.6;
}

.field-table-narrative p:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Act 3: Conversations at the Table
   ----------------------------------------------------------------------- */

.about-editorial-wrap {
  max-width: 920px;
  margin: 0 auto;
}

.about-topics-section .about-editorial-wrap {
  max-width: 920px;
  margin: 0 auto;
}

.about-topics-container,
.about-topics-list {
  display: flex;
  flex-direction: column;
  gap: 38px; /* Comfortable breathing room without ballooning scroll depth */
  max-width: 920px;
  margin: 0 auto;
  padding: 0 16px;
}

.about-topic-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0b3954;
  margin: 0 0 6px 0;
  line-height: 1.3;
}

.about-topic-text {
  font-size: 1rem;
  line-height: 1.62;
  color: #334155;
  max-width: 100%;
  margin: 0;
}

/* ==========================================================================
   Physical Journal Annotations (About Page - Act 3)
   ========================================================================== */

/* A. Authentic Freehand Chisel Highlighter (About Page - Act 3) */
mark.hl-chisel,
.hl-chisel,
.editorial-highlight,
.about-highlight {
  position: relative !important;
  display: inline-block !important;
  z-index: 1 !important;
  background: transparent !important;
  color: #0f172a !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

mark.hl-chisel::before,
.hl-chisel::before,
.editorial-highlight::before,
.about-highlight::before {
  position: absolute !important;
  content: "" !important;
  left: -5px !important;
  right: -7px !important;
  top: 10% !important;
  bottom: -2% !important;
  z-index: -1 !important;
  pointer-events: none !important;
  transform: rotate(-0.8deg) skewX(-2deg) !important;
  clip-path: polygon(
    0% 12%,
    3% 4%,
    96% 2%,
    100% 18%,
    98% 88%,
    95% 98%,
    4% 94%,
    0% 82%
  ) !important;
  mix-blend-mode: multiply !important;
  filter: blur(0.2px) !important;
}

/* Standalone Color Gradients (Restores About page highlights) */
.hl-pink::before,
.hl-0::before,
.hl-color-0::before {
  background: var(--hl-grad-0) !important;
}

.hl-orange::before,
.hl-amber::before,
.hl-ochre::before,
.hl-1::before,
.hl-color-1::before {
  background: var(--hl-grad-1) !important;
}

.hl-yellow::before,
.hl-2::before,
.hl-color-2::before {
  background: var(--hl-grad-2) !important;
}

.hl-green::before,
.hl-3::before,
.hl-color-3::before {
  background: var(--hl-grad-3) !important;
}

.hl-cyan::before,
.hl-blue::before,
.hl-4::before,
.hl-color-4::before {
  background: var(--hl-grad-4) !important;
}

.hl-violet::before,
.hl-purple::before,
.hl-5::before,
.hl-color-5::before {
  background: var(--hl-grad-5) !important;
}

/* B. Authentic 0.7mm Medium-Tip Gel Pen Underline */
.pen-double-underline {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding: 0 1px;
}

/* Remove the previous rigid pseudo-elements */
.pen-double-underline::before {
  display: none;
}

/* Tightened double underline (closer spacing for "you") */
.pen-double-underline::after,
.pen-double-underline.underline-you::after {
  content: "";
  position: absolute;
  left: -3px;
  right: -4px;
  bottom: -5px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 18' preserveAspectRatio='none'%3E%3Cpath d='M2,4.5 C30,2.5 65,5.5 97,3.5' stroke='%230b4f8a' stroke-width='3.2' stroke-linecap='round' fill='none' opacity='0.92'/%3E%3Cpath d='M4,13 C36,14.5 70,11.5 98,13' stroke='%230b4f8a' stroke-width='2.9' stroke-linecap='round' fill='none' opacity='0.88'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
}

/* --- DOUBLE UNDERLINE RESTORATION FOR "strengths" --- */
.pen-double-underline.underline-strengths {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding: 0 1px;
}

/* Double Underline with authentic lift-off stroke tapers */
.pen-double-underline.underline-strengths::after {
  content: "";
  position: absolute;
  left: -3px;
  right: -4px;
  bottom: -4px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28' preserveAspectRatio='none'%3E%3Cpath d='M2,6 C38,4.5 78,7 118,5' stroke='%230b4f8a' stroke-width='3.1' stroke-linecap='round' fill='none' opacity='0.93'/%3E%3Cpath d='M5,19 C42,21.5 75,17 116,18.5' stroke='%230b4f8a' stroke-width='2.7' stroke-linecap='round' stroke-dasharray='120' stroke-dashoffset='0' fill='none' opacity='0.82'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
}

/* --- DOUBLE UNDERLINE RESTORATION FOR "actionable strategies" --- */
.pen-double-underline.underline-strategies {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding: 0 1px;
}

.pen-double-underline.underline-strategies::after {
  content: "";
  position: absolute;
  left: -3px;
  right: -4px;
  bottom: -4px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 24' preserveAspectRatio='none'%3E%3Cpath d='M2,5 C45,4 90,6.5 138,4.5' stroke='%230b4f8a' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.93'/%3E%3Cpath d='M5,16 C48,18 88,14.5 136,15.5' stroke='%230b4f8a' stroke-width='2.6' stroke-linecap='round' fill='none' opacity='0.83'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
}

/* --- DOUBLE UNDERLINE FOR "Questions" IN TITLE --- */
.pen-double-underline.underline-questions,
.pen-double-underline.underline-stuck {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding: 0 1px;
}

.pen-double-underline.underline-questions::after,
.pen-double-underline.underline-stuck::after {
  content: "";
  position: absolute;
  left: -2px;
  right: -3px;
  bottom: -6px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20' preserveAspectRatio='none'%3E%3Cpath d='M2,4.5 C35,3 72,5.5 108,3.5' stroke='%230b4f8a' stroke-width='3' stroke-linecap='round' fill='none' opacity='0.92'/%3E%3Cpath d='M4,14 C38,15.5 75,12.5 106,14' stroke='%230b4f8a' stroke-width='2.6' stroke-linecap='round' fill='none' opacity='0.85'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
}

/* Hand-Drawn Gel Pen Circle */
.pen-circle,
.pen-circle-green,
.pen-circle-deepgreen {
  position: relative;
  display: inline-block;
  padding: 0 1px;
  margin: 0 1px;
}

.pen-circle::after,
.pen-circle-green::after,
.pen-circle-deepgreen::after {
  content: "";
  position: absolute;
  /* Inset tightened on the left to clear the 'a' */
  inset: -4px -4px -3px -2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 95 48' preserveAspectRatio='none'%3E%3Cpath d='M75,9 C52,4 20,7 9,21 C-1,34 11,44 44,45 C74,46 92,36 90,22 C88,10 66,7 50,9' stroke='%230b4f8a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none' opacity='0.92'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
  transform: rotate(-0.8deg);
}

/* Circle Around "healthy" (Topic 3: Solid deep green Pilot G2 gel pen stroke #166534) */
.pen-circle-deepgreen,
.pen-circle-green,
.pen-circle.circle-healthy,
.about-topic-item:nth-child(3) .pen-circle,
.about-topic-item:nth-of-type(3) .pen-circle,
.journal-annotation-wrapper:has(.note-item-3) .pen-circle {
  padding-left: 5px;
  padding-right: 2px;
}

.pen-circle-deepgreen::after,
.pen-circle-green::after,
.pen-circle.circle-healthy::after,
.about-topic-item:nth-child(3) .pen-circle::after,
.about-topic-item:nth-of-type(3) .pen-circle::after,
.journal-annotation-wrapper:has(.note-item-3) .pen-circle::after {
  left: -7px !important; /* Nudge left by 5px (from -2px) so it clears the 'h' comfortably */
  right: -5px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 95 48' preserveAspectRatio='none'%3E%3Cpath d='M75,9 C52,4 20,7 9,21 C-1,34 11,44 44,45 C74,46 92,36 90,22 C88,10 66,7 50,9' stroke='%23166534' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none' opacity='0.94'/%3E%3C/svg%3E") !important;
}

/* Hand-Drawn Gel Pen Rectangle (.pen-box) */
.pen-box {
  position: relative;
  display: inline-block;
  padding: 0 3px;
  margin: 0 2px;
  white-space: nowrap;
}

/* Pen Box: Solid G2 Blue */
.pen-box::after {
  content: "";
  position: absolute;
  inset: -5px -4px -5px -4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 44' preserveAspectRatio='none'%3E%3Cpath d='M3,6 C32,3.5 75,4 106,5 C107,16 106,28 107,38 C75,39.5 35,38 3,37 C2,26 3,14 4,4 C14,3 28,4 42,4.5' stroke='%230b4f8a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none' opacity='0.92'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
  transform: rotate(-0.5deg);
}

/* Inline Link & Northeast Pilot G2 Arrow Indicator for Contact Page */
.about-inline-link {
  color: #014769;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.15s ease;
}

.about-inline-link:hover,
.about-inline-link:focus-visible {
  color: #0b4f8a;
  text-decoration: underline;
}

.contact-margin-callout {
  position: absolute;
  left: -66px;
  bottom: -12px;
  pointer-events: none;
  transform: rotate(-4deg);
  z-index: 2;
}

.contact-margin-callout .arrow-wrap {
  padding-left: 28px;
  margin-bottom: 2px;
}

.contact-margin-callout .contact-arrow-ne {
  display: block;
  mix-blend-mode: multiply;
  pointer-events: none;
  transform: rotate(8deg);
  transform-origin: bottom left;
}

.contact-margin-callout .hand-text {
  display: block;
  font-family: 'Caveat', cursive;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0b4f8a;
  line-height: 1;
  white-space: nowrap;
}

/* C. Handwritten Field Notes (Baseline Aligned, Divider-Free Track) */
.notes-column-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: #94a3b8;
  text-transform: uppercase;
  line-height: 1.25; /* Matches the vertical metrics of the h3 */
  margin-bottom: 10px;
  display: block;
  padding-top: 6px; /* Baseline alignment with 1.25rem h3 */
}

.about-topic-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 48px;
  align-items: start;
  padding: 0; /* Remove variable vertical paddings */
  margin: 0;
  border: none !important;
}

.about-topic-content {
  min-width: 0;
}

.about-topic-notes-col {
  width: 100%;
  position: relative;
  height: 0; /* Prevents the notes/doodle height from expanding the parent row */
  overflow: visible; /* Lets doodles and notes breathe into the margin freely */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding-top: 2px;
  pointer-events: none;
}

/* Align notes in Topics 2, 3, 4 directly alongside the paragraph prose */
.about-topic-item:not(:first-of-type) .about-topic-notes-col {
  padding-top: 30px;
}

.notes-top-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.about-topic-notes-col .hand-arrow {
  width: 28px !important;
  height: 16px !important;
  flex-shrink: 0;
  margin-top: 5px !important;
  fill: none !important;
  stroke: #0b4f8a !important;
}

.about-topic-notes-col .hand-text {
  font-family: 'Caveat', cursive;
  font-size: 1.22rem;
  line-height: 1.35;
  color: #0b4f8a;
  font-weight: 600;
  display: block;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: multiply;
  text-shadow: 
    0 0 0.25px #0b4f8a,
    0.2px 0.2px 0.4px rgba(11, 79, 138, 0.4);
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}

.hand-doodle-row {
  position: relative;
}

.hand-doodle-row .hand-text {
  display: inline-block;
}

.hand-sprout,
.hand-sprout-sketch,
.hand-sprout-doodle,
.doodle-sprout,
.doodle-arrow,
.doodle-tree,
.doodle-tree-fruit {
  display: block;
  overflow: visible;
}

.doodle-tree-fruit circle {
  mix-blend-mode: multiply;
}

.growth-doodle-progression {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
  margin-left: auto;
  gap: 8px;
  pointer-events: none;
}

.doodle-topic-1 {
  transform: rotate(-3.5deg);
  transform-origin: center center;
}

.hand-oval-loop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

.doodle-underline-single,
.doodle-underline-double,
.doodle-underline-act {
  position: relative;
  display: inline-block;
}

.doodle-underline-single svg,
.doodle-underline-double svg,
.doodle-underline-act svg {
  pointer-events: none;
  overflow: visible;
}

/* Subtle organic tilt per note row */
.about-topic-item:nth-of-type(1) .about-topic-notes-col {
  transform: rotate(1.1deg);
}

.about-topic-item:nth-of-type(2) .about-topic-notes-col {
  transform: rotate(-1.2deg);
}

.about-topic-item:nth-of-type(3) .about-topic-notes-col {
  transform: rotate(0.6deg);
}

.about-topic-item:nth-of-type(4) .about-topic-notes-col {
  transform: rotate(-1deg);
}

@media (max-width: 980px) {
  .contact-margin-callout {
    display: none !important; /* Avoid overflowing past left viewport edge on narrow devices */
  }
}

@media (max-width: 880px) {
  .about-topics-container,
  .about-topics-list {
    padding-left: 16px;
    padding-right: 16px;
  }
  .notes-column-label {
    display: none;
  }
  .about-topic-item {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 0;
    padding-left: 0;
    padding-right: 0;
    border-bottom: none !important;
  }
  .about-topic-notes-col,
  .about-topic-item:not(:first-of-type) .about-topic-notes-col {
    height: auto !important;
    padding-top: 0 !important;
    border-left: 2px solid #cbd5e1;
    padding-left: 14px;
    margin-top: 8px;
    transform: none !important;
  }
  .about-topic-notes-col .hand-text {
    white-space: normal;
  }
  .hand-doodle-row {
    padding-left: 0 !important;
  }
  .doodle-topic-1 {
    margin-left: 0 !important;
    transform: none !important;
  }
  .growth-doodle-progression {
    justify-content: flex-start !important;
    padding-right: 0 !important;
    margin-left: 14px !important;
  }
}

/* --------------------------------------------------------------------------
   Act 4: Behind the Microphone
   ----------------------------------------------------------------------- */

.about-host-split {
  display: grid;
  grid-template-columns: 312px 1fr;
  gap: 56px;
  align-items: start;
}

/* 1. Sidebar Container Width and Right Clearance to Divider */
.host-meta-sidebar,
.host-bio-sidebar,
.about-host-meta,
.host-meta-column {
  margin-top: 48px; /* Optical cap-height alignment with "Meet Shaun B. Wilson" */
  border-right: 1px solid #e2e8f0;
  min-width: 280px !important;
  flex: 0 0 280px !important;
  max-width: 290px !important;
  padding-right: 32px !important; /* Generous breathing room before the vertical rule */
  box-sizing: border-box !important;
}

/* 2. Expanded 28px Spacing Between Distinct Metadata Sections */
.host-meta-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0 !important;
}

.host-meta-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 28px !important; /* Clear, open spacing between sections */
}

.host-meta-item:last-child {
  margin-bottom: 0 !important;
}

/* 3. Tighten Label-to-Value Proximity */
.host-meta-label {
  display: block !important;
  font-size: 0.70rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  margin-bottom: 3px !important;   /* Tighter grouping with its value */
  line-height: 1 !important;
}

/* 4. Tier 1: Host Name (Prominent & Clear Anchor) */
.host-name,
.host-meta-name,
.host-meta-value.host-name,
.host-meta-item .host-name {
  font-size: 1.05rem !important; /* Prominent headline presence */
  font-weight: 700 !important;
  color: #002b49 !important;     /* Signature deep navy */
  line-height: 1.25 !important;
  display: block !important;
}

/* 5. LinkedIn Micro-Link Spacing */
.host-meta-name-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin-top: 4px !important;
}

.host-meta-name-wrap .host-linkedin-subtle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.host-meta-name-wrap .host-linkedin-subtle .host-linkedin-svg {
  width: 10px !important;
  height: 10px !important;
  color: #002b49 !important;
  fill: #002b49 !important;
  flex-shrink: 0 !important;
  opacity: 0.75 !important;
  transition: opacity 0.15s ease !important;
}

.host-meta-name-wrap .host-linkedin-subtle:hover {
  color: #002b49 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.host-meta-name-wrap .host-linkedin-subtle:hover .host-linkedin-svg {
  opacity: 1 !important;
}

/* 6. Tier 2: Metadata Body Values (FOCUS, GLOBAL MINISTRY, BASED IN) */
.host-meta-item:not(:first-child) .host-meta-value,
.host-meta-item:not(:first-child) p,
.host-meta-item:not(:first-child) span:not(.host-meta-label) {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  line-height: 1.62 !important; /* Increased from 1.48 for comfortable breathing room between lines */
  color: #334155 !important;
  margin: 0 !important;
}

.host-sidebar-link,
.bio-org-link {
  color: inherit;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

.host-sidebar-link:hover,
.bio-org-link:hover {
  color: #0b4f8a;
  text-decoration: none !important;
}

.host-narrative-col {
  width: 100%;
}

.host-narrative-col .lead-p,
.host-narrative-col .lead-text {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #1e293b;
  font-weight: 450;
  margin-bottom: 20px;
}

.host-narrative-col strong {
  font-weight: 600;
  color: #0f172a;
}

.host-narrative-col p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #334155;
  margin-bottom: 20px;
}

.host-narrative-col p:last-child {
  margin-bottom: 0;
}

.host-narrative-col p a {
  color: #0b4f8a;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s ease;
}

.host-narrative-col p a:hover {
  color: #032b4f;
}

/* --------------------------------------------------------------------------
   Act 5: Pull Up a Chair (The Invitation)
   ----------------------------------------------------------------------- */

/* Act 5 Subtitle */
.about-act-subtext {
  font-size: 1.05rem;
  color: #475569;
  margin-top: 8px;
  margin-bottom: 48px;
  text-wrap: balance;
}

/* 2x2 Grid Layout */
.involvement-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 48px;
  margin-bottom: 64px;
}

.involvement-card {
  border-top: 1px solid #e2e8f0;
  padding-top: 20px;
}

.involvement-num {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #94a3b8;
  margin-bottom: 6px;
}

.involvement-card-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0b3954;
  margin: 0 0 10px 0;
}

.involvement-card-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #334155;
  margin: 0;
}

/* Inline Stealth Links */
.stealth-link {
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
  font-weight: inherit;
  transition: color 0.15s ease;
}

.stealth-link:hover {
  color: #0b4f8a !important;
  text-decoration: none !important;
}

/* Inline Share Token */
.inline-share-token {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #cbd5e1;
  background-color: #ffffff;
  color: #0b4f8a;
  vertical-align: middle;
  margin: 0 4px;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}

.inline-share-token:hover {
  background-color: #f0f9ff;
  border-color: #0b4f8a;
  transform: scale(1.08);
}

.token-tooltip {
  position: absolute;
  bottom: 135%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #0f172a;
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.inline-share-token:hover .token-tooltip {
  opacity: 1;
}

/* ===============================================================
   About Page: Pull Up a Chair Cards (2x2 Structured Cards)
   =============================================================== */

/* 1. 2x2 Clean Card Grid */
.about-chair-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  margin-top: 32px !important;
  margin-bottom: 64px !important;
}

@media (max-width: 768px) {
  .about-chair-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 2. Structured White Cards (Completely Static on Hover) */
.about-chair-card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 24px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  transform: none !important;
  transition: none !important;
}

.about-chair-card:hover {
  transform: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

/* 3. Header Row: Number and Badge Aligned on Same Baseline */
.chair-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
  min-height: 36px !important;
}

.chair-num-group {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.chair-header-divider {
  display: inline-block !important;
  width: 1px !important;
  height: 16px !important;
  background-color: #cbd5e1 !important;
  flex-shrink: 0 !important;
}

.chair-card-num {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #c5832b !important; /* Signature harvest ochre */
  line-height: 1 !important;
}

/* 4. Refined 36px Circular Badge */
.chair-badge-circle,
.chair-badge-wrapper {
  position: relative !important;
  top: auto !important;
  right: auto !important;
}

.chair-badge-circle {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #002b49 !important;
  text-decoration: none !important;
  padding: 0 !important;
  transition: all 0.15s ease !important;
}

a.chair-badge-circle,
button.chair-badge-circle {
  cursor: pointer !important;
  outline: none;
}

a.chair-badge-circle:hover,
button.chair-badge-circle:hover,
.chair-notify-wrapper.is-open .chair-badge-circle {
  background-color: #e2e8f0 !important;
  border-color: #94a3b8 !important;
  color: #003e6b !important;
}

/* Accessible Focus Rings */
a.chair-badge-circle:focus-visible,
button.chair-badge-circle:focus-visible {
  outline: 2px solid #002b49 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(0, 43, 73, 0.18) !important;
}

/* Enforce Accessible Mobile Touch Target Envelopes (Minimum 44x44px Tap Target) */
@media (max-width: 768px), (pointer: coarse) {
  a.chair-badge-circle::after,
  button.chair-badge-circle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 44px;
    min-height: 44px;
    width: 100%;
    height: 100%;
  }

  .chair-card-header {
    min-height: 44px !important;
  }
}

.chair-badge-circle svg {
  width: 18px !important;
  height: 18px !important;
  fill: #002b49 !important;
  stroke: none !important;
  display: block !important;
}

a.chair-badge-circle:hover svg,
button.chair-badge-circle:not(.chair-copy-link-btn):hover svg,
.chair-notify-wrapper.is-open .chair-badge-circle svg {
  fill: #003e6b !important;
}

button.chair-copy-link-btn svg {
  fill: none !important;
  stroke: #002b49 !important;
}

button.chair-copy-link-btn:hover svg {
  fill: none !important;
  stroke: #003e6b !important;
}

/* Tooltip for Copy Button */
.chair-copy-link-btn {
  position: relative !important;
}

.chair-copy-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 6px);
  right: 50%;
  transform: translateX(50%);
  background-color: #002b49;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 20;
}

.chair-copy-link-btn:hover .chair-copy-tooltip,
.chair-copy-link-btn.copied .chair-copy-tooltip {
  display: block !important;
}

/* Dropdown popover placement */
.chair-notify-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  display: none !important;
  z-index: 1000 !important;
}

.chair-notify-wrapper.is-open .chair-notify-dropdown {
  display: flex !important;
  flex-direction: column !important;
}

/* Popover Footer & Link */
.notify-dropdown-footer {
  margin-top: 6px !important;
  padding-top: 8px !important;
  border-top: 1px solid #f1f5f9 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.notify-see-all-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 0.80rem !important;
  font-weight: 500 !important; /* Lighter weight than Give hero */
  color: #c5832b !important;   /* Signature harvest gold */
  text-decoration: none !important;
  padding: 4px 6px !important;
  transition: color 0.15s ease !important;
}

.notify-see-all-link:hover {
  color: #9a6520 !important;
  text-decoration: underline !important;
}

.notify-arrow-circle-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #c5832b !important;
  line-height: 1 !important;
}

.notify-see-all-link:hover .notify-arrow-circle-icon {
  color: #9a6520 !important;
}

.notify-arrow-circle-icon svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
}

.notify-arrow-circle-icon svg path,
.notify-arrow-circle-icon svg circle {
  fill: none !important;
  stroke: currentColor !important;
}

/* 5. Typography */
.chair-card-title {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #002b49 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
}

.chair-card-text {
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* Card 02 Inline Platform Links: Subtle dotted hairline baseline with solid navy hover */
.chair-text-link {
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
  border-bottom: 1.5px dotted #cbd5e1 !important;
  padding-bottom: 1px !important;
  background: transparent !important;
  transition: all 0.15s ease !important;
}

.chair-text-link:hover {
  color: #002b49 !important;
  border-bottom: 1.5px solid #002b49 !important;
  text-decoration: none !important;
}

.chair-text-link:focus-visible {
  outline: 2px solid #002b49 !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
  color: #002b49 !important;
  border-bottom: 1.5px solid #002b49 !important;
  text-decoration: none !important;
}

.about-inline-link {
  color: #002b49 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.about-inline-link:hover {
  color: #c5832b !important;
  text-decoration: underline !important;
}

/* Platform Bar */
#subscribe-platforms,
.listen-platforms-wrap {
  display: block !important;
  text-align: center;
  padding-top: 32px;
  border-top: 1px solid #f1f5f9;
  scroll-margin-top: 80px;
}

/* Standardize "LISTEN & SUBSCRIBE ACROSS PLATFORMS" eyebrow */
.listen-tag-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--eyebrow-accent-color, #b45309) !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.listen-tag-label::before,
.listen-tag-label::after {
  content: "" !important;
  display: block !important;
  width: 36px !important;
  height: 1px !important;
  background-color: #cbd5e1 !important;
  flex-shrink: 0 !important;
}

/* 1. Pill container flex settings */
.listen-subscribe-platforms,
.platform-pills-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

/* 6. Platform Pills Inactive & Brand Hover Colors */
.platform-pill,
.listen-subscribe-platforms .platform-pill,
.listen-subscribe-platforms .platform-pill-btn,
.listen-subscribe-platforms a,
.platform-pill-btn,
.subscribe-platform-pills a {
  background-color: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #002b49 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}

.platform-pill svg,
.listen-subscribe-platforms .platform-pill svg,
.listen-subscribe-platforms .platform-pill-btn svg,
.listen-subscribe-platforms a svg,
.platform-pill-btn svg,
.subscribe-platform-pills a svg {
  fill: currentColor !important;
  color: inherit !important;
}

.platform-pill svg path,
.listen-subscribe-platforms .platform-pill svg path,
.listen-subscribe-platforms .platform-pill-btn svg path,
.listen-subscribe-platforms a svg path,
.platform-pill-btn svg path,
.subscribe-platform-pills a svg path {
  fill: currentColor !important;
}

/* Individual Brand Glows on Hover */
.platform-pill-youtube:hover,
.listen-subscribe-platforms .platform-pill-youtube:hover,
.subscribe-platform-pills a[href*="youtube"]:hover {
  background-color: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #ff0000 !important;
}

.platform-pill-spotify:hover,
.listen-subscribe-platforms .platform-pill-spotify:hover,
.subscribe-platform-pills a[href*="spotify"]:hover {
  background-color: #dcfce7 !important;
  border-color: #86efac !important;
  color: #1db954 !important;
}

.platform-pill-apple:hover,
.listen-subscribe-platforms .platform-pill-apple:hover,
.subscribe-platform-pills a[href*="apple"]:hover {
  background-color: #f3e8ff !important;
  border-color: #d8b4fe !important;
  color: #872ec4 !important;
}

.platform-pill-amazon:hover,
.listen-subscribe-platforms .platform-pill-amazon:hover,
.subscribe-platform-pills a[href*="amazon"]:hover {
  background-color: #e0f2fe !important;
  border-color: #7dd3fc !important;
  color: #00a8e1 !important;
}

.platform-pill-whatsapp:hover,
.listen-subscribe-platforms .platform-pill-whatsapp:hover,
.subscribe-platform-pills a[href*="whatsapp"]:hover {
  background-color: #dcfce7 !important;
  border-color: #86efac !important;
  color: #25d366 !important;
}

.platform-pill-instagram:hover,
.listen-subscribe-platforms .platform-pill-instagram:hover,
.subscribe-platform-pills a[href*="instagram"]:hover {
  background-color: #fce7f3 !important;
  border-color: #f472b6 !important;
  color: #e1306c !important;
}

.platform-pill-substack:hover,
.listen-subscribe-platforms .platform-pill-substack:hover,
.subscribe-platform-pills a[href*="substack"]:hover {
  background-color: #ffedd5 !important;
  border-color: #fdba74 !important;
  color: #ff6719 !important;
}

/* 3. Icon sizing inside the pill */
.listen-subscribe-platforms .platform-pill svg,
.listen-subscribe-platforms .platform-pill-btn svg,
.listen-subscribe-platforms a svg,
.platform-pill-btn svg {
  display: block;
  flex-shrink: 0;
  width: 16px !important;
  height: 16px !important;
}

/* Ensure the About Page involvement section wrap accommodates the 1000px pill row on desktop */
.about-involvement-section .about-editorial-wrap,
#pull-up-a-chair .about-editorial-wrap {
  max-width: 1040px !important;
  margin: 0 auto !important;
}

/* Benediction */
.act5-benediction {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px dashed #cbd5e1;
  text-align: center;
}

.benediction-quote {
  margin: 0 0 10px 0;
  padding: 0;
  border: none;
  font-family: inherit;
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.6;
  color: #0b3954;
}

.benediction-cite {
  display: block;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #64748b;
}

/* --------------------------------------------------------------------------
   Responsive Media Queries for About Page
   ----------------------------------------------------------------------- */

@media (max-width: 860px) {
  .about-field-table-split {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 820px) {
  .about-host-split {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .host-meta-sidebar {
    margin-top: 0;
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 24px;
  }

  .host-meta-list {
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .involvement-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 600px) {
  .about-hero-actions,
  .about-masthead-actions {
    flex-direction: column;
    width: 100%;
  }

  .about-btn,
  .about-btn-solid,
  .about-btn-outline {
    width: 100%;
    justify-content: center;
  }

  .invitation-platforms-strip {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .platforms-pill-group {
    justify-content: center;
  }
}

/* ----------------------------------------------------------------------------
 * Phase 1 Internationalization (i18n): Language Flyout & Community Map
 * ------------------------------------------------------------------------- */

.header-global-nav {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.header-icon-btn {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: background 0.2s ease, color 0.2s ease;
}

.header-icon-btn:hover {
    background: rgba(0, 0, 0, 0.05);
}

.header-icon {
    width: 20px;
    height: 20px;
}

.header-lang-wrapper {
    position: relative;
}

.lang-flyout-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: -40px;
    width: 220px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    display: none;
    z-index: 1000;
    overflow: hidden;
}

.lang-flyout-menu.is-open {
    display: block;
}

.lang-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    max-height: 310px;
    overflow-y: auto;
}

.lang-item {
    display: flex;
    flex-direction: column;
    padding: 8px 16px;
    text-decoration: none;
    line-height: 1.25;
    transition: background 0.15s ease;
}

.lang-item:hover {
    background: #f8fafc;
}

.lang-item.is-active {
    background: #f1f5f9;
    border-left: 3px solid #014769;
}

.lang-name {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
}

.lang-native {
    font-size: 0.8rem;
    color: #64748b;
}

.lang-flyout-footer {
    border-top: 1px solid #e2e8f0;
    padding: 10px 16px;
    background: #f8fafc;
}

.all-languages-link {
    font-size: 0.88rem;
    font-weight: 700;
    color: #014769;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Languages Directory Page */
.languages-page {
    overflow-x: hidden;
    background: #ffffff;
}

/* 1. Hero Container Padding */
.lang-hero {
    padding-top: 36px !important; /* Reduced from large default padding */
    padding-bottom: 20px !important;
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
    position: relative;
}

.lang-hero-inner {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

/* 2. Hero Title to Subtitle Proximity */
.lang-hero-title {
    font-size: clamp(2.3rem, 4.5vw, 3.4rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.025em;
    margin-top: 0 !important;
    margin-bottom: 12px !important; /* Brings the subtitle into direct dialogue with the title */
    line-height: 1.15;
}

/* 3. Subtitle to Controls */
.lang-hero-reach-subtitle {
    font-size: clamp(1.15rem, 1.8vw, 1.38rem);
    font-weight: 500;
    color: #334155;
    margin-top: 0 !important;
    margin-bottom: 22px !important; /* Reduced from 34px+ to bridge the dead zone */
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
    line-height: 1.4;
    text-wrap: balance;
    letter-spacing: -0.01em;
}

.reach-highlight {
    color: #014769;
    font-weight: 700;
}

/* YouTube Inline Anchor & Selectable Text */
.hero-youtube-link {
    display: inline-flex;
    align-items: baseline;
    gap: 0.22em;
    margin-left: 0.35em; /* Guarantees clean word spacing after "on" */
    margin-right: 0;
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
    vertical-align: baseline;
    padding: 0;
    cursor: pointer;
    user-select: text;
    -webkit-user-select: text;
    transition: opacity 0.15s ease;
}

.hero-youtube-link:hover {
    opacity: 0.85;
}

.yt-play-icon {
    width: 1.15em;
    height: 0.805em;
    flex-shrink: 0;
    transform: translateY(0.08em);
    display: inline-block;
    pointer-events: none;
}

.yt-text {
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    user-select: text;
}

@media (min-width: 768px) {
    .hero-subtitle-break {
        display: inline;
    }
}

@media (max-width: 767px) {
    .hero-subtitle-break {
        display: none;
    }
}

/* 4. Action Group (Dropdown + Jump Link) */
.hero-action-group {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px; /* Tightly binds the pill and the jump link */
    margin-bottom: 28px !important; /* Balanced cushion before the marquee begins */
}

/* 5. Ensure the Dropdown Container adds no rogue vertical margin */
.lang-select-box {
    margin: 0 !important;
}

.lang-dropdown-pill {
    appearance: none;
    -webkit-appearance: none;
    background: #18181b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ffffff'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat right 16px center;
    background-size: 18px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    padding: 14px 44px 14px 24px;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    width: 280px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    transition: transform 0.15s ease, background-color 0.15s ease, box-shadow 0.2s ease;
}

.lang-dropdown-pill:hover {
    background-color: #27272a;
    transform: translateY(-1px);
}

.lang-dropdown-pill.trigger-pulse {
    box-shadow: 0 0 0 4px rgba(1, 71, 105, 0.4), 0 8px 24px rgba(0, 0, 0, 0.18) !important;
    transform: scale(1.04) !important;
}

.see-all-languages-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    margin: 0;
    padding: 4px 8px;
    transition: color 0.15s ease;
}

.see-all-languages-link:hover {
    color: #014769;
    text-decoration: none;
}

.link-arrow {
    font-size: 0.95rem;
    transition: transform 0.15s ease;
}

.see-all-languages-link:hover .link-arrow {
    transform: translateY(2px);
}

/* Unified Curved Arch Marquee Viewport */
.marquee-viewport {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    padding: 20px 0 100px 0;
    display: flex;
    flex-direction: column;
    gap: 28px;
    /* Creates a wide circular lens that naturally curves the content */
    mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

/* The Arc Ribbons: Curved arch geometry */
.marquee-arc {
    width: 130vw;
    margin-left: -15vw;
    overflow: visible;
    display: flex;
    will-change: transform;
    /* Elliptical bend that crowns high in the middle and drops down on the edges */
    border-radius: 50% 50% 0 0 / 40px 40px 0 0;
    transform-origin: 50% 100%;
}

.arc-top {
    /* Crests in the middle, dipping on flanks */
    transform: translateY(0);
}

.arc-bottom {
    /* Follows concentric curved alignment */
    transform: translateY(-8px);
}

.marquee-track {
    display: flex;
    gap: 28px;
    width: max-content;
    white-space: nowrap;
    will-change: transform;
}

/* Slower floating velocity */
.track-forward {
    animation: marqueeScrollForward 220s linear infinite;
}

.track-reverse {
    animation: marqueeScrollReverse 220s linear infinite;
}

.marquee-track:hover {
    animation-play-state: paused;
}

@keyframes marqueeScrollForward {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

@keyframes marqueeScrollReverse {
    0% { transform: translate3d(-50%, 0, 0); }
    100% { transform: translate3d(0, 0, 0); }
}

/* Calibrated Card Container Geometry (16:10 Ratio) */
.lang-badge-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 260px !important;
    height: 160px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    padding: 16px 22px !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    border: 1px solid rgba(15, 23, 42, 0.07) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

.lang-card-text {
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.015em;
    text-wrap: balance;
    display: block;
    width: 100%;
}

/* Optical Text Tuning for 160px Height */
/* English: Stays prominent across 2 lines */
.card-scale-xl .lang-card-text {
    font-size: 1.32rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -0.025em;
}

/* Arabic & Mandarin */
.card-scale-lg .lang-card-text {
    font-size: 1.2rem;
    line-height: 1.35;
}

/* Standard 2-line Latin (Spanish, French, Afrikaans, Swahili, Vietnamese) */
.card-scale-md .lang-card-text {
    font-size: 1.02rem;
    line-height: 1.35;
}

/* 3-line or dense scripts (Filipino, Hindi, Nepali) */
.card-scale-sm .lang-card-text {
    font-size: 0.94rem;
    line-height: 1.38;
}

/* Tall scripts (Tamil, Burmese) */
.card-scale-xs .lang-card-text {
    font-size: 0.88rem;
    line-height: 1.45;
}

.lang-badge-card[dir="rtl"] {
    direction: rtl;
}

/* World Pin Map Section */
.pin-map-section {
    max-width: 1240px;
    margin: 40px auto 100px auto;
    padding: 0 24px;
    text-align: center;
}

.pin-map-header {
    max-width: 680px;
    margin: 0 auto 36px auto;
}

.pin-map-eyebrow {
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #014769;
    margin-bottom: 8px;
}

.pin-map-title {
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    margin: 0 0 14px 0;
}

/* Map Privacy Assurance Pill */
.pin-map-instructions {
    font-size: 1.05rem;
    color: #475569;
    margin: 0 0 14px 0;
}

.pin-map-privacy-pledge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 9999px;
    background-color: #f8fafc;
    border: 1px solid rgba(1, 71, 105, 0.14);
    color: #014769;
    margin: 0 auto 24px auto;
    box-sizing: border-box;
    max-width: 100%;
}

.privacy-lock-icon {
    flex-shrink: 0;
    stroke: #014769;
    vertical-align: middle;
}

.privacy-badge-text {
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

.privacy-badge-text strong {
    font-weight: 700;
}

@media (max-width: 640px) {
    .privacy-badge-text {
        white-space: normal;
        text-align: left;
        font-size: 0.8rem;
    }
    .pin-map-privacy-pledge {
        border-radius: 16px;
        padding: 10px 14px;
    }
}

.pin-map-status {
    margin-top: 14px;
    font-size: 0.95rem;
    font-weight: 600;
    min-height: 24px;
}

.pin-map-frame-wrap {
    width: 100%;
    height: 540px;
    border-radius: 28px;
    overflow: hidden;
    border: 1.5px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08);
    position: relative;
    background: #f8fafc;
}

.table-world-map {
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Stacked Pin Palette Box */
.pin-palette-capsule {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 16px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.pin-palette-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.pin-palette-dots {
    display: flex;
    align-items: center;
    gap: 8px;
}

.color-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--dot-color);
    border: 2px solid #ffffff;
    outline: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    transition: transform 0.15s ease, outline-color 0.15s ease;
}

.color-dot:hover {
    transform: scale(1.2);
}

.color-dot.active {
    outline: 2px solid #0f172a;
    transform: scale(1.15);
}

/* Pin Confirmation Modal */
.pin-confirm-modal {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.pin-confirm-dialog {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px 28px 28px;
    max-width: 420px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.16);
    border: 1px solid #e2e8f0;
}

.pin-confirm-icon-wrap {
    width: 52px;
    height: 52px;
    background-color: #f0f7ff;
    border: 1px solid #dbeafe;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.pin-confirm-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', -apple-system, sans-serif);
    font-size: 1.35rem;
    font-weight: 700;
    color: #0b3954;
    margin: 0 0 16px;
    letter-spacing: -0.015em;
}

.pin-confirm-privacy-box {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 24px;
    text-align: left;
}

.pin-confirm-text {
    font-size: 0.88rem;
    line-height: 1.55;
    color: #475569;
    margin: 0;
}

.pin-confirm-text strong {
    color: #0b3954;
    font-weight: 600;
}

.pin-confirm-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.pin-confirm-btn {
    font-size: 0.92rem;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    line-height: 1.2;
}

.pin-confirm-btn.btn-confirm {
    background-color: #0b3954;
    color: #ffffff;
    border: 1px solid #0b3954;
}

.pin-confirm-btn.btn-confirm:hover {
    background-color: #032b4f;
    border-color: #032b4f;
}

.pin-confirm-btn.btn-cancel {
    background-color: transparent;
    color: #64748b;
    border: 1px solid #cbd5e1;
}

.pin-confirm-btn.btn-cancel:hover {
    background-color: #f1f5f9;
    color: #0b3954;
}

/* Compact, High-Density Pin Style (8px diameter) */
.custom-table-pin {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    background-color: var(--pin-bg, #014769);
    opacity: 0.9;
    transition: transform 0.15s ease;
}

.custom-table-pin:hover {
    transform: scale(1.8);
    z-index: 999;
}

.admin-clear-pins-btn {
    margin-top: 10px;
    font-size: 0.75rem;
    color: #ef4444;
    background: transparent;
    border: 1px dashed #ef4444;
    border-radius: 6px;
    padding: 4px 10px;
    cursor: pointer;
}
.admin-clear-pins-btn:hover {
    background: #fee2e2;
}

/* BibleProject Language Directory Section */
.languages-all-languages {
    background-color: #f8fafc;
    padding: 80px 24px 120px 24px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.languages-all-languages-container {
    max-width: 1200px;
    margin: 0 auto;
}

.languages-all-languages-header {
    text-align: center;
    margin-bottom: 48px;
}

.languages-all-languages-title {
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.025em;
    margin: 0;
}

/* Responsive Auto-Fill Grid */
.languages-all-languages-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

/* BibleProject .language-block Pattern */
.language-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    padding: 20px 22px;
    text-decoration: none;
    min-height: 86px;
    box-sizing: border-box;
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.language-block:hover {
    border-color: #014769;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

/* Primary Native Title (e.g. မြန်မာစာ, العربية, Español) */
.language-block-native {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Subtitle English Label (e.g. Burmese, Arabic, Spanish) */
.language-block-english {
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ==========================================================================
   CONTACT PAGE EDITORIAL DESIGN SYSTEM (page-contact.php)
   Warm agrarian table ethos, Plus Jakarta Sans typography,
   strict color variables, and responsive 3-col to 1-col layout.
   ========================================================================== */

/* Contact Page Architecture */
.contact-page-main {
    --contact-deep-navy: #0b3954;
    --contact-deep-slate: #0f172a;
    --contact-slate-dark: #334155;
    --contact-slate-gray: #475569;
    --contact-soft-border: #e2e8f0;
    --contact-pill-bg: #f1f5f9;
    --contact-warm-ochre: #d97706;

    --contact-font-heading: var(--font-heading, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif);
    --contact-font-body: var(--font-body, 'Plus Jakarta Sans', Arial, sans-serif);

    padding: 48px 0 80px;
    font-family: var(--contact-font-body);
    color: var(--contact-deep-slate);
}

.contact-page-container {
    width: 100%;
    max-width: 940px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.contact-page-main .about-editorial-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Contact Hero - Mirrored from About Hero */
.contact-hero {
    text-align: center;
    margin-bottom: 52px;
}

.contact-hero .section-tag-wrap {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12px;
}

/* 1. KICKERS: Canonical Harvest Ochre to Match Eyebrows */
.contact-kicker,
.contact-section-kicker,
.form-kicker,
.contact-hero .about-act-badge,
.contact-hero .contact-kicker,
.form-header-row .listen-tag-label,
.form-header-row .form-kicker {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    color: var(--eyebrow-accent-color) !important; /* Rich front-page harvest amber */
    margin-bottom: 14px !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    line-height: 1.2 !important;
    font-family: inherit !important;
}

.contact-hero .about-act-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif) !important;
    font-size: clamp(2.2rem, 4vw, 3rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.14 !important;
    color: #014769 !important;
    margin: 0 auto 18px !important;
    max-width: 780px;
    text-wrap: balance;
    text-align: center;
}

.contact-hero .about-act-subtext {
    font-size: 1.08rem;
    line-height: 1.65;
    color: #475569;
    max-width: 640px;
    margin: 0 auto;
    text-wrap: balance;
    text-align: center;
}

/* 2. THREE INTENT CARDS: Match Homepage Card & Ledger Standards */
.contact-cards-grid,
.intent-cards-grid,
.contact-pathway-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin-top: 36px !important;
    margin-bottom: 48px !important;
    align-items: stretch !important;
}

.intent-card,
.pathway-card {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
    position: relative !important;
}

.intent-card:hover,
.pathway-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06) !important;
    border-color: #cbd5e1 !important;
}

.intent-card.is-selected,
.intent-card.active,
.intent-card.is-active,
.pathway-card.is-selected,
.pathway-card.active,
.pathway-card.is-active {
    border-color: #014769 !important;
    box-shadow: 0 0 0 2px rgba(1, 71, 105, 0.15) !important;
    background-color: #ffffff !important;
}

/* Card Top Row: Icon Badge (Left) and Ledger Tag (Right) */
.intent-card .intent-card-header,
.pathway-card .pathway-card-header,
.intent-card-header,
.pathway-card-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
}

/* Remove Icon Box Border and Left-Align With Title */
.intent-card .intent-card-icon-box,
.pathway-card .pathway-card-icon,
.intent-card-icon-box,
.pathway-card-icon {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    justify-content: flex-start !important;
    align-items: center !important;
    color: #2e7d32 !important; /* Forest green stroke */
    display: inline-flex !important;
    flex-shrink: 0 !important;
}

.intent-card-icon-box svg,
.pathway-card-icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    fill: none !important;
    display: block !important;
}

/* 4. CARD LEDGER TAG: Matching No OF EPISODES Style */
.intent-card-tag,
.pathway-tag,
.pathway-card.is-active .pathway-tag {
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: #7a5836 !important; /* Archival sepia */
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
}

/* 5. CARD TYPOGRAPHY */
.intent-card-title,
.pathway-card-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #014769 !important;
    line-height: 1.25 !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.015em !important;
}

.intent-card-desc,
.pathway-card-desc {
    font-family: var(--font-body, 'Plus Jakarta Sans', Arial, sans-serif) !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    color: #64748b !important;
    margin: 0 0 18px 0 !important;
    flex-grow: 1 !important;
}

.intent-card-action,
.pathway-select-indicator {
    font-family: var(--font-body, 'Plus Jakarta Sans', Arial, sans-serif) !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #014769 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: auto !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

/* 6. FORM LABELS & FIELD STYLING */
.contact-form-card {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.form-header-row {
    text-align: center;
    margin-bottom: 36px;
}

.form-section-title {
    font-family: var(--contact-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.6rem;
    font-weight: 700;
    color: #014769;
    margin: 6px 0 10px;
    text-align: center;
}

/* Header Subtitle and Required Indicator */
.contact-form-subtitle,
.form-section-subtext {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    color: #64748b !important;
    text-align: center !important;
    margin: 0 auto 8px auto !important;
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.contact-form-required-note {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    text-align: right !important;
    margin-bottom: 16px !important;
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

/* Subdued Reply Permission Toggle */
.email-reply-fullwidth {
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.form-row-email,
.contact-form-row-2,
.form-grid-2col:has(#contact_email) {
  margin-bottom: 0 !important;
}

/* 1. Toggle Container Spacing */
.affirmative-reply-toggle {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-top: 6px !important;
  margin-bottom: 26px !important; /* Generous breathing room above Row 3 */
  padding-left: 12px !important;
  cursor: pointer !important;
  user-select: none !important;
}

/* 2. Scaled Bullet Icon (Proportional to 0.84rem Text) */
.affirmative-reply-toggle .custom-check-bullet {
  width: 15px !important;
  height: 15px !important;
  margin-right: 7px !important;
  vertical-align: -2px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  margin-top: 0 !important;
}

.affirmative-reply-toggle input:checked + .custom-check-bullet::after {
  width: 3.5px !important;
  height: 7px !important;
  border-width: 0 1.5px 1.5px 0 !important;
  transform: rotate(45deg) translate(-0.5px, -1px) !important;
}

/* 3. Primary Toggle Label: Cohesive & Balanced */
.affirmative-reply-toggle .reply-label-text,
.affirmative-reply-toggle .reply-main-label,
.affirmative-reply-toggle span:first-of-type {
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  color: #334155 !important; /* WCAG AA compliant 7.1:1 ratio; avoids overpowering the row header */
  line-height: 1.4 !important;
}

/* 4. Sensitive Context Discretion Subtext */
.reply-sub-discretion,
.affirmative-reply-toggle .reply-sub-discretion {
  display: block !important;
  width: 100% !important;
  font-size: 0.76rem !important;
  font-weight: 400 !important;
  color: #475569 !important; /* WCAG AA compliant 5.14:1 ratio */
  line-height: 1.35 !important;
  margin-top: 2px !important;
  margin-left: 22px !important; /* Insets cleanly beneath the text, indented past the bullet */
}

/* Conflict and Format Alert Alignment */
.email-reply-conflict-alert,
.email-invalid-format-alert {
  margin-top: 4px !important;
  margin-bottom: 6px !important;
  padding-left: 12px !important;
}

/* Ensure Row 3 Maintains Proper Top Spacing */
.form-row-episode,
.contact-form-row-3,
#episode-reference-group {
  margin-top: 0 !important;
}

/* Subordinate Conjunction Typography (Matching Homepage Ledger Style) */
.contact-form label .label-conj,
.form-field-label .label-conj,
.form-label .label-conj,
.gfield_label .label-conj {
font-size: 0.72em !important;
font-weight: 700 !important;
opacity: 0.75 !important;
letter-spacing: 0.08em !important;
padding: 0 2px !important;
display: inline-block !important;
vertical-align: baseline !important;
}

/* Enhanced Orange Halo on Conflicting Input */
.input-chisel-conflict,
.input-has-conflict {
border-color: #f97316 !important;
box-shadow: 0 0 0 2px #f97316, 0 0 0 5px rgba(249, 115, 22, 0.30) !important;
transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

/* Alert Container */
#emailConflictAlert {
display: none;
}

#emailConflictAlert.is-visible {
display: flex !important;
flex-direction: column !important;
align-items: flex-start !important;
gap: 6px !important;
margin-top: 4px !important;
margin-bottom: 6px !important;
}

#emailFormatAlert {
display: none;
margin-top: 4px !important;
margin-bottom: 6px !important;
}

#emailFormatAlert.is-visible {
display: flex !important;
margin-top: 4px !important;
margin-bottom: 6px !important;
}

/* Primary Orange Chisel Highlight */
.email-conflict-chisel {
background: linear-gradient(98deg, rgba(255, 187, 138, 0.45) 0%, rgba(255, 154, 94, 0.65) 70%, rgba(249, 115, 22, 0.82) 100%) !important;
display: inline-block !important;
font-weight: 600 !important;
font-size: 0.85rem !important;
padding: 0.14em 0.45em 0.12em 0.40em !important;
border-radius: 3px 6px 4px 2px !important;
clip-path: polygon(0% 4%, 100% 0%, 98% 96%, 0% 100%) !important;
color: #0f172a !important;
mix-blend-mode: multiply !important;
}

/* Full Line Cyan Chisel Highlight */
.email-conflict-cyan-chisel {
background: linear-gradient(98deg, rgba(165, 243, 252, 0.45) 0%, rgba(103, 232, 249, 0.65) 70%, rgba(6, 182, 212, 0.82) 100%) !important;
display: inline-block !important;
font-weight: 600 !important;
font-size: 0.82rem !important;
padding: 0.14em 0.45em 0.12em 0.40em !important;
border-radius: 3px 6px 4px 2px !important;
clip-path: polygon(0% 4%, 100% 0%, 98% 96%, 0% 100%) !important;
color: #0f172a !important;
mix-blend-mode: multiply !important;
}

/* Input & Textarea Halo when Conflict or Required Error is Triggered */
input.input-chisel-conflict,
textarea.input-chisel-conflict,
.input-chisel-conflict,
.input-has-conflict {
border-color: #f97316 !important;
box-shadow: 0 0 0 2px #f97316, 0 0 0 5px rgba(249, 115, 22, 0.30) !important;
transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.form-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.form-grid-2col .form-group {
    margin-bottom: 0;
}

.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.contact-form label.form-label,
.contact-form .form-field-label,
.contact-form .gfield_label,
.contact-ledger-form label.form-label,
.contact-ledger-form .form-field-label,
.contact-form-card label.form-label,
.contact-form-card .form-field-label,
.form-field-label {
    display: block !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: #475569 !important;
    margin-bottom: 8px !important;
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.required-star {
    color: #dc2626;
}

.form-input,
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.95rem;
    color: #1e293b;
    background-color: #ffffff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}

/* 2. Text Inputs & Textareas Focus Treatment */
.contact-form input[type="text"]:focus,
.contact-form input[type="text"]:focus-visible,
.contact-form input[type="email"]:focus,
.contact-form input[type="email"]:focus-visible,
.contact-form textarea:focus,
.contact-form textarea:focus-visible,
.form-input:focus,
.form-input:focus-visible,
.form-textarea:focus,
.form-textarea:focus-visible,
.form-input-field:focus,
.form-input-field:focus-visible {
  border-color: #002b49 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px #002b49, 0 0 0 5px rgba(0, 43, 73, 0.18) !important;
}

/* Ensure Conflict Validation Halo Takes Priority Over Normal Focus */
.input-chisel-conflict:focus,
.input-chisel-conflict:focus-visible,
input.input-chisel-conflict:focus,
input.input-chisel-conflict:focus-visible,
textarea.input-chisel-conflict:focus,
textarea.input-chisel-conflict:focus-visible {
  border-color: #f97316 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px #f97316, 0 0 0 5px rgba(249, 115, 22, 0.30) !important;
}

/* 3. Pathway Intent Cards & Interactive Pills */
.intent-card:focus-visible,
.pathway-card:focus-visible,
.intent-pill:focus-visible,
.intent-pill-label input[type="radio"]:focus-visible + .intent-pill,
.btn-primary:focus-visible,
.btn-secondary:focus-visible {
  outline: 2px solid #002b49 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(0, 43, 73, 0.18) !important;
}

/* 4. Affirmative Reply Circular Check Bullet Focus Treatment */
.affirmative-reply-toggle:focus-visible,
.affirmative-reply-toggle input:focus-visible + .custom-check-bullet,
.affirmative-reply-toggle:focus-within .custom-check-bullet {
  outline: 2px solid #002b49 !important;
  outline-offset: 3px !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 4px rgba(0, 43, 73, 0.20) !important;
}

/* Intent Pills in Form */
.intent-pills-group {
    margin-bottom: 24px;
}

.intent-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.intent-pill-label input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.form-intent-pills .intent-pill,
.intent-pills-group .intent-pill {
    border-radius: 20px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.form-intent-pills .intent-pill.is-active,
.form-intent-pills .intent-pill-label input[type="radio"]:checked + .intent-pill,
.intent-pills-group .intent-pill.is-active,
.intent-pills-group .intent-pill-label input[type="radio"]:checked + .intent-pill {
    background-color: #014769 !important;
    color: #ffffff !important;
    border-color: #014769 !important;
}

.form-intent-pills .intent-pill:not(.is-active),
.form-intent-pills .intent-pill-label input[type="radio"]:not(:checked) + .intent-pill,
.intent-pills-group .intent-pill:not(.is-active),
.intent-pills-group .intent-pill-label input[type="radio"]:not(:checked) + .intent-pill {
    background-color: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0 !important;
}

/* Submit Button: Solid Navy Matching Table Standard */
.contact-form button[type="submit"],
.contact-form .btn-submit-contact,
.contact-form .contact-submit-btn,
.contact-ledger-form button[type="submit"],
.contact-ledger-form .btn-submit-contact,
.contact-ledger-form .contact-submit-btn,
.contact-form-card button[type="submit"],
.contact-form-card .btn-submit-contact,
.contact-form-card .contact-submit-btn {
    background-color: #014769 !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    border: none !important;
    transition: background-color 0.15s ease, transform 0.1s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.contact-form button[type="submit"]:hover,
.contact-form .btn-submit-contact:hover,
.contact-form .contact-submit-btn:hover,
.contact-ledger-form button[type="submit"]:hover,
.contact-ledger-form .btn-submit-contact:hover,
.contact-ledger-form .contact-submit-btn:hover,
.contact-form-card button[type="submit"]:hover,
.contact-form-card .btn-submit-contact:hover,
.contact-form-card .contact-submit-btn:hover {
    background-color: #013550 !important;
    transform: translateY(-1px) !important;
}

/* ===============================================================
   Inline Permission Sentence & Privacy Callout Card
   =============================================================== */
.contact-permission-flow-wrap {
    margin-bottom: 28px;
    line-height: 1.8;
    color: #1e293b;
}

/* 1. Base Bullet Container */
.custom-check-bullet {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background-color: #cbd5e1 !important; /* Soft neutral slate fill */
  border: 1.5px solid #718096 !important; /* Meets 3:1 non-text contrast threshold */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  position: relative !important;
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
}

/* Scaled Bullet Icon for Affirmative Reply Toggle (Proportional to 0.84rem Text) */
.affirmative-reply-toggle .custom-check-bullet {
  width: 15px !important;
  height: 15px !important;
  margin-right: 7px !important;
  vertical-align: -2px !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

/* Unchecked Checkmark */
.custom-check-bullet::after {
  content: "" !important;
  display: block !important;
  width: 5px !important;
  height: 9px !important;
  border: solid #ffffff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) translate(-0.5px, -1px) !important;
  opacity: 0.90 !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
}

/* Hover state on affirmative reply toggle */
.affirmative-reply-toggle:hover .custom-check-bullet {
  border-color: #4a5568 !important;
  background-color: #94a3b8 !important;
}

/* Active Checked State for Affirmative Reply Toggle */
.affirmative-reply-toggle input:checked + .custom-check-bullet {
  background-color: #2e7d32 !important;
  border-color: #2e7d32 !important;
}

.affirmative-reply-toggle input:checked + .custom-check-bullet::after {
  width: 3.5px !important;
  height: 7px !important;
  border: solid #ffffff !important;
  border-width: 0 1.5px 1.5px 0 !important;
  transform: rotate(45deg) translate(-0.5px, -1px) !important;
  opacity: 1 !important;
}

/* 2. Scaled Consent Sentence & Refined Spacing */
.consent-sentence-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 8px !important;
  font-size: 0.88rem !important; /* Refined down from large body size */
  line-height: 1.7 !important;
  color: #334155 !important;
  margin-top: 16px !important;
  margin-bottom: 12px !important;
}

.consent-sentence-container span {
  font-size: 0.88rem !important;
  color: #334155 !important;
}

.consent-sentence-container .punct-separator {
  margin-left: -4px !important;
  margin-right: 2px !important;
}

/* Refined Pill Size to Harmonize with 0.88rem Text */
.permission-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 3px 9px 3px 7px !important;
  border-radius: 9999px !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.15s ease-in-out !important;
  vertical-align: middle !important;
}

.permission-pill:hover {
  background-color: #f1f5f9 !important;
  border-color: #94a3b8 !important;
}

.permission-pill .pill-label {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1 !important;
  transition: color 0.15s ease !important;
}

/* Bullet: Empty Ring in Unchecked State */
.permission-pill .custom-check-bullet {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  border: 1.5px solid #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  flex-shrink: 0 !important;
  transition: all 0.15s ease-in-out !important;
}

/* Ensure No Checkmark Appears When Unchecked */
.permission-pill .custom-check-bullet::after {
  content: "" !important;
  display: none !important;
}

/* Active Checked State */
.permission-pill:has(.permission-input:checked),
.permission-pill.is-checked {
  background-color: #f0fdf4 !important;
  border-color: #86efac !important;
}

.permission-pill:has(.permission-input:checked) .pill-label,
.permission-pill.is-checked .pill-label {
  color: #14532d !important;
}

.permission-pill:has(.permission-input:checked) .custom-check-bullet,
.permission-pill.is-checked .custom-check-bullet {
  background-color: #2e7d32 !important;
  border-color: #2e7d32 !important;
}

.permission-pill:has(.permission-input:checked) .custom-check-bullet::after,
.permission-pill.is-checked .custom-check-bullet::after {
  content: "" !important;
  display: block !important;
  width: 3.5px !important;
  height: 7px !important;
  border: solid #ffffff !important;
  border-width: 0 1.5px 1.5px 0 !important;
  transform: rotate(45deg) translate(-0.5px, -0.5px) !important;
}

/* Keyboard Focus Ring */
.permission-pill:focus-within {
  outline: 2px solid #002b49 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(0, 43, 73, 0.18) !important;
}

/* Visually Hidden Checkbox Helper */
.visually-hidden,
.permission-input {
  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;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Privacy Callout Card */
.contact-privacy-callout-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px 16px;
    max-width: 100%;
    box-sizing: border-box;
}

.privacy-lock-icon-badge {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #c25e00;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    flex-shrink: 0;
}

.privacy-lock-icon-badge svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    display: block;
}

.privacy-lock-text {
    font-size: 0.85rem;
    color: #475569;
    margin: 0;
    line-height: 1.45;
}

.form-actions-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-top: 12px;
}

.privacy-notice {
    font-family: var(--contact-font-body, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.82rem;
    color: #64748b;
    text-align: center;
    margin: 0;
    max-width: 520px;
}

@media (max-width: 860px) {
    .contact-page-container {
        padding: 0 16px;
    }
    .contact-page-main .about-editorial-wrap {
        padding: 0;
    }
    .contact-cards-grid,
    .intent-cards-grid,
    .contact-pathway-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .form-grid-2col {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .contact-form-card {
        padding: 28px 20px !important;
    }
}

/* ===============================================================
   Platform & Social Links WhatsApp Styling
   =============================================================== */
.subscribe-pill .social-link-whatsapp:hover,
.subscribe-pill .social-link-whatsapp:focus-visible,
.listen-on-pill .social-link-whatsapp:hover,
.listen-on-pill .social-link-whatsapp:focus-visible {
  color: #25d366 !important;
}

/* Ensure WhatsApp in the footer behaves like all other footer icons */
.footer-social-links a.social-link-whatsapp:hover,
.footer-social-links a.social-link-whatsapp:focus,
.footer-social-links a.social-link-whatsapp:focus-visible,
.footer-social-icons a.social-link-whatsapp:hover,
.footer-social-icons a.social-link-whatsapp:focus,
.footer-social-icons a.social-link-whatsapp:focus-visible {
  color: #ffffff !important; /* Pure white hover matching sibling icons */
  opacity: 1 !important;
}

.listen-on-pill a.social-link-whatsapp:hover,
.listen-on-pill a.social-link-whatsapp:focus-visible {
  background-color: rgba(37, 211, 102, 0.28) !important;
}

.listen-subscribe-platforms .platform-pill-whatsapp:hover,
.listen-subscribe-platforms .platform-pill-whatsapp:focus-visible {
  border-color: #86efac !important;
  color: #25d366 !important;
  background-color: #dcfce7 !important;
}

/* ===============================================================
   Hero Episode Action Row: Spaced Bookends & Dynamic Centered Date
   =============================================================== */
/* 1. Full Row: Stretch across the left text column width */
.hero-episode-meta,
.episode-banner-meta,
.listen-row-wrapper,
.hero-action-bar,
.single-action-bar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 22px !important;
}

/* 2. Anchor Listen On Pill to the far left */
.listen-on-pill,
.hero-listen-links {
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* 3. Clean up unused separator dot */
.episode-meta-dot,
.hero-episode-meta .meta-separator,
.hero-action-divider,
.hero-episode-meta .hero-action-divider {
  display: none !important;
}

/* 4. Middle Date Slot: Expands dynamically to center the date */
.hero-episode-meta .episode-date,
.episode-banner-meta .episode-date,
.single-podcast .episode-date-display,
.episode-date-display,
.episode-meta-date-wrap,
.hero-meta-date,
.single-episode-date {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-transform: none !important; /* Converts all-caps SEPTEMBER to sentence case September */
  letter-spacing: normal !important;
  color: #5a6b82 !important;
  white-space: nowrap !important;
  padding: 0 12px !important;
  margin: 0 !important;
}

/* 5. Anchor Share Button to the far right */
.share-btn-wrap,
.episode-share-btn,
.hero-action-controls {
  flex-shrink: 0 !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
}

/* ===============================================================
   Homepage Hero Metadata Row Alignment & Dynamic Centering
   =============================================================== */
.home .hero-episode-meta,
.home .hero-left-column .listen-row-wrapper,
.home .hero-content-col .listen-row-wrapper,
.home .home-hero-meta-actions .hero-action-bar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  align-self: stretch !important;
}

/* Ensure the date stays dynamically centered between pill and share button */
.home .hero-episode-meta .episode-date-display,
.home .hero-episode-meta .episode-meta-date-wrap {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

/* Share button stays pinned to the right boundary of the text column */
.home .hero-episode-meta .share-btn-wrap,
.home .hero-episode-meta .episode-share-btn {
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

/* 4. Refine "Read full overview" spacing & affordance */
.episode-read-more,
.hero-excerpt-link,
a.read-full-overview,
.hero-read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 14px !important; /* Definite breathing room separating from excerpt text */
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: gap 0.15s ease !important;
}

.episode-read-more:hover,
.hero-excerpt-link:hover,
a.read-full-overview:hover,
.hero-read-more:hover {
  gap: 9px !important; /* Subtle interactive arrow nudge */
}


/* ===============================================================
   Badges & Eyebrows Typography: Field Record Sans-Serif Alignment
   =============================================================== */
/* Apply Field Record typography to badges and eyebrows */
.hero-badge,
.hero-ep-badge,
.hero-badge-primary,
.hero-badge-secondary,
.hero-series-badge,
.series-badge,
.episode-badge,
.series-pill,
.badge-series,
.badge-episode,
.badge-category,
.stage-kicker,
.badge-series-green,
.badge-episode-gold,
.featured-hero-badge,
.featured-series-badge,
.featured-episode-badge,
.hero-latest-flag {
  font-family: inherit !important; /* Inherit the primary sans-serif instead of monospace */
  font-weight: 800 !important; /* Heavy geometric weight matching FIELD RECORD */
  letter-spacing: 0.14em !important; /* Wide, airy kerning matching the notebook stamps */
  text-transform: uppercase !important;
  font-size: 0.72rem !important; /* Scaled down slightly to account for the wider kerning */
  line-height: 1 !important;
}

/* ===============================================================
   Field Record Ticket Card: Typography & Letterpress Stamp Icons
   =============================================================== */
/* 1. Reset all inner ticket cell labels back to delicate compact ticket styling */
.ticket-card .ticket-label,
.ticket-card .ticket-cell-label,
.ticket-table td span.label,
.ticket-table .cell-header,
.ticket-table td .ticket-label,
.ticket-cell-label,
.ticket-label,
.cell-label {
  font-family: inherit !important;
  font-size: 0.56rem !important; /* Dialed down from oversized 0.72rem+ */
  font-weight: 600 !important; /* Semi-bold rather than heavy 800/900 */
  letter-spacing: 0.03em !important; /* Tight, natural tracking so it never collides with borders */
  text-transform: none !important;
  color: #7a5836 !important; /* Sepia stamp frame tone */
  line-height: 1.1 !important;
  margin: 0 0 3px 0 !important;
  display: block !important;
  text-align: left !important;
  width: 100% !important;
}

/* 2. Specific fix for SEATS AVAIL. */
.ticket-cell-seats,
.cell-seats,
.ticket-table td:last-child {
  padding-right: 6px !important;
  box-sizing: border-box !important;
}

.ticket-cell-seats .ticket-label,
.ticket-cell-seats .ticket-cell-label,
.ticket-cell-seats .cell-label,
.cell-seats .ticket-label,
.cell-seats .cell-label {
  white-space: nowrap !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
  font-size: 0.56rem !important;
}

/* 3. Keep 'No. OF GUESTS' matching 'No. OF EPISODES' and 'No. OF SERIES' */
.ticket-cell-guests .ticket-label,
.ticket-cell-guests .ticket-cell-label,
.ticket-cell-guests .cell-label,
.cell-guests .ticket-label,
.cell-guests .cell-label,
.ticket-card .guests-label {
  text-align: left !important;
  display: block !important;
  margin-bottom: 3px !important;
}

/* 4. Ticket footer container: Full width flex row flush with table borders */
.ticket-footer,
.ticket-footer-bar,
.found-on-row,
.field-record-stamp .ticket-footer,
.field-record-stamp.ticket-footer,
.ticket-card .ticket-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-top: 1px solid #8c7355 !important;
  margin-top: 5px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 8px 0 6px 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 5. 'FOUND ON:' label: Anchored flush to the left border with zero left margin */
.ticket-footer .found-on-label,
.ticket-footer .footer-bar-label,
.ticket-footer span:first-child,
.ticket-card .found-on-label,
.found-on-row .found-on-label,
.footer-bar-label {
  flex-shrink: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #7a5836 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* 6. Social icon links container: Expands and evenly distributes across the remaining width */
.ticket-footer .found-on-links,
.ticket-footer-bar .ticket-icon-row,
.ticket-icon-row,
.found-on-row .found-on-links,
.ticket-card .found-on-links {
  flex: 1 1 auto !important; /* Takes up all available space to the right edge */
  display: flex !important;
  justify-content: space-between !important; /* Distributes all 7 icons evenly across the card */
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 18px !important; /* Clean gap after 'FOUND ON:' */
  margin-right: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 0 !important; /* Spacing is governed evenly by space-between */
}

/* 7. Individual Icon Anchors & SVGs */
.ticket-footer .found-on-links a,
.ticket-footer a.social-icon,
.ticket-footer a[class*="social-link"],
.ticket-footer-bar .ticket-icon-row a,
.ticket-icon-row a,
.found-on-row .found-on-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #2c2416 !important; /* Exact dark ink match to THE FARMHANDS' TABLE header */
  opacity: 1 !important;
  filter: none !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
}

.ticket-footer .found-on-links a:first-child,
.ticket-footer-bar .ticket-icon-row a:first-child,
.ticket-icon-row a:first-child {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Ensure the final icon (Substack) sits flush with the right border */
.ticket-footer .found-on-links a:last-child,
.ticket-footer a.social-link-substack,
.ticket-footer-bar .ticket-icon-row a:last-child,
.ticket-icon-row a:last-child,
.found-on-row .found-on-links a:last-child {
  margin-right: 0 !important;
  padding-right: 0 !important;
  justify-content: flex-end !important;
}

.ticket-footer .found-on-links a svg,
.ticket-footer a[class*="social-link"] svg,
.ticket-footer-bar .ticket-icon-row a svg,
.ticket-icon-row svg,
.found-on-row .found-on-links a svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
  display: block !important;
}

/* 8. Hover State */
.ticket-footer .found-on-links a:hover,
.ticket-footer a[class*="social-link"]:hover,
.ticket-footer a.social-link-whatsapp:hover,
.ticket-footer-bar .ticket-icon-row a:hover,
.ticket-footer-bar .ticket-icon-row a.social-link-whatsapp:hover,
.ticket-icon-row a:hover,
.ticket-icon-row a.social-link-whatsapp:hover,
.found-on-row .found-on-links a:hover {
  color: #2c2416 !important;
  opacity: 0.65 !important;
  transform: translateY(-1px) !important;
}

/* ===============================================================
   STAGE 2: GLOBAL REACH & LANGUAGE CARDS CONSOLE
   =============================================================== */

/* Outer Stage Container */
.stage-2-languages-wrapper,
.stage-languages-wrapper {
  padding: 44px 48px !important;
  background-color: #ffffff !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Full Width Kicker Above Columns */
.stage-2-header,
.stage-languages-header {
  width: 100% !important;
  margin-bottom: 24px !important;
}

.stage-2-kicker,
.stage-languages-header .stage-kicker {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #b45309 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* Two-Column Body Grid: Stretched so both columns share exact vertical height */
.stage-2-body-grid,
.stage-languages-body {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 48px !important;
  align-items: stretch !important;
}

/* 1. Reset container: keep natural top alignment */
.stage-2-languages-wrapper .stage-2-left-col,
.stage-languages-wrapper .stage-languages-intro,
.stage-2-left-col,
.stage-languages-intro {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding-top: 0 !important;
}

/* 2. Item 1: YouTube Subtitle Pill */
/* Top edge must align horizontally with the top border of the English card */
.stage-2-languages-wrapper .stage-2-left-col .stage-2-youtube-pill,
.stage-languages-wrapper .stage-languages-intro .youtube-pill,
.stage-2-youtube-pill,
.stage-languages-intro .youtube-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important; /* Force 22px buffer below pill */
  padding: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}

/* 3. Item 2: H2 Headline ("Available in 13 languages...") */
.stage-2-languages-wrapper .stage-2-left-col h2,
.stage-languages-wrapper .stage-languages-intro h2,
.stage-2-languages-wrapper .stage-2-heading,
.stage-2-heading,
.stage-languages-intro h2 {
  margin-top: 0 !important;
  margin-bottom: 20px !important; /* Force 20px buffer below H2 */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 2.05rem !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  color: #014769 !important;
}

/* 4. Item 3: Body Paragraph ("Ministering doesn't require...") */
.stage-2-languages-wrapper .stage-2-left-col p,
.stage-languages-wrapper .stage-languages-intro p,
.stage-2-languages-wrapper .stage-2-excerpt,
.stage-2-excerpt,
.stage-languages-intro p {
  margin-top: 0 !important;
  margin-bottom: 32px !important; /* Force buffer before the bottom button */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  color: #475569 !important;
  max-width: 440px !important;
}

/* 5. Item 4: Pin Map Button */
/* Must anchor to bottom, lifted 8px up to mirror top pill offset, and span 440px width */
.stage-2-languages-wrapper .stage-2-left-col .stage-2-map-btn,
.stage-languages-wrapper .stage-languages-intro .pin-map-btn,
.stage-2-map-btn,
.stage-languages-intro .pin-map-btn {
  margin-top: auto !important; /* Pushes button down to match bottom edge of right cards */
  margin-bottom: 8px !important; /* Lifts the button up by 8px to mirror the top pill offset */
  width: 100% !important;
  max-width: 440px !important; /* Matches paragraph block width */
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 20px !important;
  background-color: #014769 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}

/* Language Cards: Snug, Content-Driven Height */
.stage-2-cards-grid,
.stage-languages-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-auto-rows: 1fr !important; /* Forces all card rows to share identical uniform height */
  gap: 14px !important;
  align-items: stretch !important;
}

.stage-2-cards-grid .language-card,
.stage-languages-grid .language-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding: 16px 18px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  height: 100% !important; /* Stretches to fill the 1fr row track */
}

.stage-2-cards-grid .language-card .lang-label,
.stage-languages-grid .language-card .lang-label {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #b45309 !important;
  margin: 0 0 6px 0 !important;
}

.stage-2-cards-grid .language-card .lang-phrase,
.stage-languages-grid .language-card .lang-phrase {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #0f172a !important;
  margin: 0 0 3px 0 !important;
}

.stage-2-cards-grid .language-card .lang-subtext,
.stage-languages-grid .language-card .lang-subtext {
  font-size: 0.76rem !important;
  line-height: 1.3 !important;
  color: #64748b !important;
  margin: 0 !important;
}

.stage-2-cards-grid .language-card.directory-card,
.stage-languages-grid .language-card.all-languages-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding: 16px 18px !important;
  border: 1px solid #e2e8f0 !important;
  border-style: solid !important;
  border-radius: 10px !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.stage-2-cards-grid .language-card.directory-card .lang-label {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #b45309 !important;
  margin-bottom: 8px !important;
}

/* 3. Hide Globe Icon if still injected via markup */
.stage-2-cards-grid .language-card.directory-card .globe-icon,
.stage-2-cards-grid .language-card.directory-card svg.icon-globe,
.directory-link .globe-icon,
.directory-link svg.icon-globe {
  display: none !important;
}

/* 4. Directory Link Layout */
.stage-2-cards-grid .language-card.directory-card a.directory-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  color: #014769 !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin-top: 2px !important;
  transition: opacity 0.15s ease, transform 0.15s ease !important;
}

/* 5. Delicate Circle Arrow Outline (Light Hairline Weight) */
.directory-link .circle-arrow-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border: 1px solid #014769 !important; /* Thin 1px delicate ring */
  border-radius: 50% !important;
  margin-left: 6px !important;
  flex-shrink: 0 !important;
  transition: transform 0.15s ease !important;
}

.directory-link .circle-arrow-icon svg {
  width: 9px !important;
  height: 9px !important;
  stroke: #014769 !important;
  stroke-width: 1.5 !important; /* Lighter arrow stroke matching Stage 3 */
  fill: none !important;
}

.stage-2-cards-grid .language-card.directory-card a.directory-link:hover {
  opacity: 0.85 !important;
}

.stage-2-cards-grid .language-card.directory-card a.directory-link:hover .circle-arrow-icon,
.stage-2-cards-grid .language-card.directory-card:hover .circle-arrow-icon {
  transform: translateX(2px) !important;
}

/* ============================================================================
   Editorial Legal & Privacy Policy Page
   ============================================================================ */
.legal-page-main {
  background-color: #ffffff;
  min-height: 60vh;
}

.legal-page-container {
  max-width: 840px;
  margin: 0 auto;
  padding: 56px 24px 96px;
}

.legal-page-title {
  font-size: clamp(2rem, 4vw, 2.75rem);
  color: #0b3954;
  font-weight: 700;
  margin-top: 12px;
  margin-bottom: 8px;
  line-height: 1.2;
}

.legal-page-meta {
  font-size: 0.9rem;
  color: #64748b;
  margin-bottom: 24px;
  line-height: 1.5;
}

.legal-header-rule {
  height: 2px;
  background: #e2e8f0;
  margin-bottom: 40px;
}

.legal-page-prose {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #334155;
}

.legal-page-prose h2 {
  font-size: 1.4rem;
  color: #0b3954;
  margin-top: 44px;
  margin-bottom: 16px;
  font-weight: 700;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 8px;
  line-height: 1.3;
}

.legal-page-prose h3 {
  font-size: 1.15rem;
  color: #1e293b;
  margin-top: 28px;
  margin-bottom: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.legal-page-prose p,
.legal-page-prose ul {
  margin-bottom: 20px;
}

.legal-page-prose ul {
  padding-left: 24px;
  list-style-type: disc;
}

.legal-page-prose li {
  margin-bottom: 8px;
}

.legal-page-prose a {
  color: #0b3954;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s ease;
}

.legal-page-prose a:hover {
  color: #b45309;
}

/* ============================================================================
   Give Page Layout & Editorial Architecture (Alternating Stage Tint Model)
   ============================================================================ */
.give-page-main {
  width: 100%;
  background-color: #ffffff;
  min-height: 60vh;
  padding-block: 0;
}

.give-container-inner {
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Stage 1: Hero Section (Pure White Band - Matching About Page Masthead Hero)
   ----------------------------------------------------------------------- */
.give-hero-stage {
  background-color: #ffffff;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 64px 20px !important;
}

@media (max-width: 640px) {
  .give-hero-stage {
    padding: 48px 16px !important;
  }
}

/* Hero Content Constraint: 720px–780px centered text wrap matching About page */
.give-hero-container,
.page-give .hero-section {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.give-hero-content {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Farmhands' Table Crest Emblem Centered (Matching About Page Hero Rhythm) */
.give-hero-brand,
.give-hero-emblem-wrap {
  margin: 0;
  display: inline-block;
}

.give-hero-logo,
.page-give .hero-logo,
.about-masthead-emblem.give-hero-logo {
  display: block !important;
  width: 140px !important;
  max-width: 140px !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1.75rem !important; /* Clean ~1.75rem spacing above main headline */
  filter: drop-shadow(0 10px 24px rgba(1, 71, 105, 0.14)) !important;
}

/* Stage 1 Headline: Primary Sans-Serif Heading Stack (Matching About & Home pages) */
.page-give h1,
.give-hero h1,
.give-hero-stage h1,
.give-hero-title,
.page-give .hero-title,
.give-page-title {
  font-family: var(--wp--preset--font-family--heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
  font-size: clamp(2.1rem, 3.8vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: var(--brand-navy, #0B2545) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-wrap: balance !important;
  text-align: center !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 1. Generous Spacing Beneath the Belief Subhead */
.give-hero-belief-lead {
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  max-width: 620px !important;
  margin-top: 16px !important;
  margin-bottom: 32px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.belief-lead-highlight {
  font-style: normal !important;
  text-decoration: underline !important;
  text-decoration-color: #c5832b !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

/* 1. Outer Flow Card Envelope */
.give-narrative-flow-card {
  max-width: 690px !important; /* Slightly wider to accommodate larger text gracefully */
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 auto 0 !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 44px 38px 34px !important;
  box-shadow: 0 4px 24px rgba(0, 43, 73, 0.04) !important;
}

/* Flanked Eyebrow Header Matching Stage 2 FIELD IMPACT */
.flow-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-bottom: 24px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important; /* Removes the heavy full-width bottom line */
}

/* Flanking Hairline Dividers on Left and Right */
.flow-card-header::before,
.flow-card-header::after {
  content: "" !important;
  display: block !important;
  width: 36px !important; /* Elegant flanking accent wings */
  height: 1px !important;
  background-color: #cbd5e1 !important; /* Soft slate matching Stage 2 lines */
}

.flow-card-eyebrow {
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--eyebrow-accent-color) !important; /* Rich front-page harvest amber */
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* 3. Expanded Vertical Spacing for the Three Stops */
.narrative-timeline {
  display: flex !important;
  flex-direction: column !important;
}

.timeline-step {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  position: relative !important;
  padding: 28px 0 !important; /* Expanded vertical spacing between stops */
}

.timeline-step:first-child {
  padding-top: 4px !important;
}

.timeline-step:last-child {
  padding-bottom: 8px !important;
}

/* 3. Connecting Vertical Spine Line & Clean Flat Discs */
.timeline-node {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

/* Color-Coded Solid Story Discs (Clean Flat Discs, No Shadows) */
.node-icon-circle {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 2 !important;
  border: none !important;
  box-shadow: none !important; /* Clean flat discs with no drop shadows */
}

/* Node 1: Material Red */
.node-icon-circle.node-color-red {
  background-color: #ba1a1a !important;
}

/* Node 2: Harvest Ochre/Gold */
.node-icon-circle.node-color-gold {
  background-color: #c5832b !important;
}

/* Node 3: Balanced Go-Green */
.node-icon-circle.node-color-green {
  background-color: #2e7d32 !important;
}

/* Force All Node SVGs to White */
.node-icon-circle svg {
  width: 32px !important;
  height: 32px !important;
  fill: #ffffff !important;
  stroke: none !important;
  display: block !important;
}

.node-icon-circle svg path {
  fill: #ffffff !important;
}

/* Connecting Vertical Spine Line */
.timeline-line {
  position: absolute !important;
  top: 58px !important;
  bottom: -56px !important; /* Stretches seamlessly through the expanded 28px padding */
  left: 50% !important;
  width: 2px !important;
  background-color: #e2e8f0 !important;
  transform: translateX(-50%) !important;
  z-index: 1 !important;
}

.timeline-step:last-child .timeline-line {
  display: none !important;
}

/* 4. Refined Typography Scale & Leading */
.timeline-content {
  flex-grow: 1 !important;
  text-align: left !important;
}

.timeline-text {
  font-size: 1.08rem !important; /* Slightly larger, highly readable base scale */
  font-weight: 500 !important; /* Crisp medium weight */
  line-height: 1.65 !important;
  color: #1e293b !important;
  margin: 0 !important;
}

.timeline-inline-highlight {
  font-weight: 800 !important;
  color: #002b49 !important; /* Deep signature navy matching the 3.64B stat */
}

/* Step 2 Stat Block Hierarchy */
.give-hero-stat-block {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.give-hero-stat-block .stat-lead-in {
  font-size: 1.04rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  line-height: 1.4 !important;
  display: block !important;
}

.give-hero-stat-block .stat-highlight-number {
  font-size: clamp(1.85rem, 2.7vw, 2.25rem) !important;
  font-weight: 800 !important;
  color: #002b49 !important; /* Signature deep navy */
  line-height: 1.2 !important;
  margin: 6px 0 !important;
  display: block !important;
  letter-spacing: -0.01em !important;
}

.give-hero-stat-block .stat-resolution {
  font-size: 1.04rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* 5. Bottom CTA Separation & Styling */
.flow-card-cta-block {
  margin-top: 32px !important;
  padding-top: 28px !important;
  border-top: 1px solid #f1f5f9 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.btn-give-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background-color: #002b49 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  padding: 12px 24px 12px 28px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
}

.btn-give-primary:hover {
  background-color: #003e6b !important;
  transform: translateY(-1px) !important;
}

.btn-arrow-circle-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  color: #ffffff !important;
}

.btn-arrow-circle-icon svg {
  display: block !important;
  stroke: currentColor !important;
}

.give-hero-stewardship-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 14px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #c5832b !important; /* Ochre accent */
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.give-hero-stewardship-link:hover {
  color: #9a6520 !important;
  text-decoration: underline !important;
}

.link-arrow-circle-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  color: #c5832b !important;
}

.link-arrow-circle-icon svg {
  display: block !important;
  stroke: currentColor !important;
}

@media (max-width: 650px) {
  .give-narrative-flow-card {
    padding: 28px 20px 24px !important;
  }
  .timeline-step {
    gap: 18px !important;
    padding: 20px 0 !important;
  }
  .node-icon-circle {
    width: 50px !important;
    height: 50px !important;
  }
  .node-icon-circle svg {
    width: 26px !important;
    height: 26px !important;
  }
  .timeline-line {
    top: 48px !important;
    bottom: -40px !important;
  }
  .timeline-text {
    font-size: 1rem !important;
  }
  .give-hero-stat-block .stat-highlight-number {
    font-size: 1.65rem !important;
  }
}

/* --------------------------------------------------------------------------
   Stage 2: Impact Pillars (The Soft Tint Panel - Matching Home & Contact Cards)
   ----------------------------------------------------------------------- */
.give-stage-tinted {
  width: 100%;
  background-color: #f8fafc;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  padding: 72px 24px;
  box-sizing: border-box;
  scroll-margin-top: 32px;
}

@media (max-width: 640px) {
  .give-stage-tinted {
    padding: 48px 16px;
  }
}

.give-pillars-header {
  text-align: center;
  margin-bottom: 40px;
}

/* Section Kicker with Flanking Lines */
.give-section-kicker-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 14px;
}

.give-section-kicker-wrap::before,
.give-section-kicker-wrap::after {
  content: "";
  display: block;
  height: 1px;
  width: 36px;
  background-color: #cbd5e1;
}

.give-section-kicker {
  display: inline-block;
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--eyebrow-accent-color);
  line-height: 1.2;
}

.give-section-heading {
  font-family: var(--font-heading, 'Plus Jakarta Sans', Arial, sans-serif);
  font-size: 1.75rem;
  font-weight: 700;
  color: #014769;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}

/* Responsive 3-Column Grid on Desktop, 1 Column on Mobile */
.give-pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
}

@media (max-width: 820px) {
  .give-pillars-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Card Styling: Warm border #E6DFD5, Soft Cream Background, 12px Corners */
.give-pillar-col,
.give-impact-card,
.field-impact-card {
  background-color: #fbf7ee; /* Warm soft cream background matching brand tokens */
  border: 1px solid #E6DFD5; /* Warm subtle border matching language cards */
  border-radius: 12px;
  padding: 32px 28px;
  box-shadow: none; /* Replaces harsh drop shadows */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.give-pillar-col:hover,
.give-impact-card:hover,
.field-impact-card:hover {
  transform: translateY(-2px);
  border-color: #d8cebf;
  box-shadow: 0 4px 14px rgba(1, 71, 105, 0.05);
}

/* 1. Header Lockup & Spacing */
.impact-card-header-lockup {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
  min-height: 44px !important;
}

/* 2. Scaled-up Optical Icons */
.impact-card-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
}

/* Base icon sizing */
.impact-card-icon svg {
  width: 26px !important;
  height: 26px !important;
  fill: #002b49 !important;
  stroke: none !important;
  display: block !important;
}

/* Optical boost for globe_book and shield_lock to balance with card 1 */
.field-impact-card:nth-child(2) .impact-card-icon svg,
.field-impact-card:nth-child(3) .impact-card-icon svg {
  width: 28px !important;
  height: 28px !important;
}

/* Ensure stroke-based SVG on card 1 matches navy fill */
.field-impact-card:first-child .impact-card-icon svg {
  stroke: #002b49 !important;
  fill: none !important;
  width: 26px !important;
  height: 26px !important;
}

/* 3. Subtle Horizontal Divider */
.impact-card-divider {
  width: 100% !important;
  height: 1px !important;
  background-color: #e2e8f0 !important;
  margin: 0 0 18px 0 !important;
}

/* 4. Eyebrow Typography */
.impact-card-eyebrow {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--eyebrow-accent-color) !important; /* Rich front-page harvest amber */
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* 5. Content Area Dropped Down */
.impact-card-title {
  font-size: 1.18rem !important;
  font-weight: 700 !important;
  color: #002b49 !important;
  line-height: 1.3 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.impact-card-description {
  font-size: 0.90rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* Legacy Pillar Support */
.give-pillar-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: #014769;
  margin-bottom: 18px;
  flex-shrink: 0;
}

.give-pillar-icon-box svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  display: block;
}

.give-pillar-kicker {
  display: block;
  font-family: var(--font-heading, 'Plus Jakarta Sans', Arial, sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b45309;
  margin-bottom: 8px;
  line-height: 1.2;
}

.give-pillar-title {
  font-family: var(--font-heading, 'Plus Jakarta Sans', Arial, sans-serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: #014769;
  margin-top: 0;
  margin-bottom: 12px;
  line-height: 1.35;
}

.give-pillar-desc {
  font-family: var(--font-family-sans, 'Plus Jakarta Sans', Arial, sans-serif);
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.65;
  margin: 0;
}

/* --------------------------------------------------------------------------
   Stage 3: Tax-Exempt & Stewardship Stage (Pure White Band)
   ----------------------------------------------------------------------- */
.give-stewardship-stage {
  width: 100%;
  background-color: #ffffff;
  padding: 64px 24px 80px 24px;
  box-sizing: border-box;
  scroll-margin-top: 48px;
}

@media (max-width: 640px) {
  .give-stewardship-stage {
    padding: 48px 16px 64px 16px;
    scroll-margin-top: 32px;
  }
}

.give-stewardship-heading,
.give-section-heading.give-stewardship-heading {
  font-family: var(--font-heading, 'Plus Jakarta Sans', Arial, sans-serif);
  font-size: 1.75rem;
  font-weight: 700;
  color: #014769;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 20px;
  text-align: left;
}

/* Stewardship Callout Container & Text */
.stewardship-callout-card,
.give-stewardship-callout {
  position: relative !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #002b49 !important; /* Signature navy accent spine */
  border-radius: 12px !important;
  padding: 32px 32px 28px !important;
  margin-top: 24px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.stewardship-callout-text,
.give-stewardship-desc {
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  color: #334155 !important;
  margin: 0 !important;
}

/* 2. Center the Lower Stewardship CTA Button */
.stewardship-cta-wrapper {
  margin-top: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important; /* Centered in the card */
  width: 100% !important;
}

@media (max-width: 650px) {
  .stewardship-callout-card,
  .give-stewardship-callout {
    padding: 24px 20px 22px !important;
  }
}

/* Phase 5 Dual-Layer Halo Focus-Visible States */
.btn-give-primary:focus-visible,
.give-hero-stewardship-link:focus-visible,
.give-btn-primary:focus-visible,
.give-secondary-link:focus-visible,
.give-pill-btn:focus-visible,
.give-scroll-cue:focus-visible,
.give-pillar-col:focus-visible,
.field-impact-card:focus-visible,
.stewardship-callout-card:focus-visible,
.give-stewardship-callout:focus-visible {
  outline: 2px solid #002b49 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(0, 43, 73, 0.18) !important;
  transition: box-shadow 0.15s ease, outline-color 0.15s ease !important;
}

/* ==========================================================================
   Precision Topic Icons & Tile Bug Resolution
   ========================================================================== */

/* Style ONLY the outer container tile */
.topic-icon-wrap,
.topic-filter-btn .topic-icon-wrap,
.topic-card .topic-icon-wrap {
  position: relative;
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  box-sizing: border-box;
}

/* If the element is directly .topic-icon without an outer wrap, apply the tile style */
.topic-filter-btn > .topic-icon:not(.topic-icon-wrap .topic-icon),
.topic-card > .topic-icon:not(.topic-icon-wrap .topic-icon) {
  position: relative;
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  box-sizing: border-box;
}

/* Explicitly strip borders and background from any nested inner container */
.topic-icon-wrap .topic-icon,
.topic-icon-wrap span,
.topic-icon-wrap div {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
}

/* Ensure the SVG itself never receives borders, backgrounds, or shadows */
svg.topic-icon,
.topic-icon-wrap svg.topic-icon,
.topic-icon-box svg.topic-icon {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Center the SVG cleanly inside the single tile */
.topic-icon-wrap svg,
.topic-icon svg {
  display: block;
  margin: auto;
  width: 26px;
  height: 26px;
}

.topic-card .topic-icon-wrap svg,
.pillar-tile-link .topic-icon-box svg.topic-icon {
  width: 28px !important;
  height: 28px !important;
}

/* Ensure no child badge or clear button leaks into the icon square */
.topic-icon .badge,
.topic-icon .clear-chip,
.topic-icon .topic-count,
.topic-icon .filter-remove-badge,
.topic-icon-box .filter-remove-badge,
.topic-filter-btn .clear-chip:not(.is-active),
.topic-filter-btn:not(.is-active) .filter-remove-badge {
  display: none !important;
}

/* Pin active indicator or clear chip to top-right of 44px icon tile */
.topic-filter-btn .clear-chip.is-active,
.topic-filter-btn .active-filter-x,
.topic-filter-btn.is-active .filter-remove-badge {
  position: absolute !important;
  top: -2px !important;
  left: 33px !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: inline-flex !important;
}

.browse-topic-card .topic-title,
.browse-topic-card .topic-name,
.browse-topic-card span.topic-label,
.browse-topic-card .topic-item-label,
.browse-topic-card span,
.topic-filter-btn .topic-item-label,
.topic-filter-btn .topic-name,
.topic-filter-btn span,
.topics-icon-grid a span,
.topics-icon-grid .topic-card-title,
.single-episode-sidebar .browse-topic-card .topic-title,
.single-series-sidebar .browse-topic-card .topic-title,
.taxonomy-series-sidebar .browse-topic-card .topic-title,
.series-sidebar .topic-filter-btn .topic-name,
.episodes-sidebar .topic-filter-btn .topic-name {
  font-family: inherit !important;
  font-size: 0.875rem !important; /* 14px calibrated scale */
  font-weight: 600 !important;   /* Semi-bold: clean and structured without 700 blockiness */
  line-height: 1.25 !important;
  color: #1e293b !important;     /* Refined deep slate navy */
  letter-spacing: 0 !important;  /* Neutral tracking prevents cramped letterforms */
}

/* Ensure clean flex alignment with the 44px icon tile */
.browse-topic-card,
.topic-filter-btn {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Hover State */
.browse-topic-card:hover .topic-title,
.browse-topic-card:hover .topic-name,
.browse-topic-card:hover span,
.topic-filter-btn:hover .topic-name,
.topic-filter-btn:hover .topic-item-label,
.topic-filter-btn:hover span,
.topics-icon-grid a:hover span {
  color: #002b49 !important;
}

/* Active state topic label color */
.topic-filter-btn.is-active .topic-item-label,
.topic-filter-btn.is-active .topic-name,
.topic-filter-btn.is-active span.topic-item-label,
.browse-topic-card.is-active .topic-title,
.browse-topic-card.is-active .topic-name,
.browse-topic-card.is-active .topic-item-label {
  color: #41874c !important;
  font-weight: 600 !important;
}

.topic-filter-btn .topic-icon,
.topic-filter-btn .topic-icon-box,
.topic-filter-btn .topic-icon-wrap {
  display: flex !important;
}

/* ==========================================================================
   Browse by Topic Badge Alignment & Stroke Specifications
   ========================================================================== */

.topic-icon-badge,
.browse-topic-card .icon-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  flex-shrink: 0 !important;
  color: #1e5631 !important;
}

.browse-topic-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.topic-icon-svg {
  width: 22px !important;
  height: 22px !important;
  color: #1e5631 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.topic-icon-svg:not(.topic-icon-strategies) {
  stroke: #1e5631 !important;
}

/* 1. Default (Inactive) State: Harvest Green */
.topic-icon-strategies,
svg.topic-icon-strategies,
svg.topic-icon-strategies path {
  color: #1e5631 !important;
  fill: #1e5631 !important;
  stroke: none !important;
}

/* ==========================================================================
   Topic Active Icon & Dismiss Badge Pin Refinements
   ========================================================================== */

/* 2. Active State & Card Match Badges: Turn Pure White */
.browse-topic-card.is-active svg.topic-icon-strategies,
.browse-topic-card.is-active svg.topic-icon-strategies path,
.browse-topic-card.active svg.topic-icon-strategies,
.browse-topic-card.active svg.topic-icon-strategies path,
.browse-topic-card.selected svg.topic-icon-strategies,
.browse-topic-card.selected svg.topic-icon-strategies path,
.topic-filter-btn.is-active svg.topic-icon-strategies,
.topic-filter-btn.is-active svg.topic-icon-strategies path,
.topic-filter-btn.active svg.topic-icon-strategies,
.topic-filter-btn.active svg.topic-icon-strategies path,
.topic-icon-badge.is-active svg.topic-icon-strategies,
.topic-icon-badge.is-active svg.topic-icon-strategies path,
.active .topic-icon-strategies,
.active .topic-icon-strategies path,
.is-active .topic-icon-strategies,
.is-active .topic-icon-strategies path,
.selected .topic-icon-strategies,
.selected .topic-icon-strategies path,
.episode-matched-topics svg.topic-icon-strategies,
.episode-matched-topics svg.topic-icon-strategies path,
.episode-matched-topics-stack svg.topic-icon-strategies,
.episode-matched-topics-stack svg.topic-icon-strategies path,
.episode-topic-badge svg.topic-icon-strategies,
.episode-topic-badge svg.topic-icon-strategies path,
.card-topic-match-pill svg.topic-icon-strategies,
.card-topic-match-pill svg.topic-icon-strategies path,
.episode-card-topic svg.topic-icon-strategies,
.episode-card-topic svg.topic-icon-strategies path,
.episode-topics-list svg.topic-icon-strategies,
.episode-topics-list svg.topic-icon-strategies path,
.topic-pill-icon svg.topic-icon-strategies,
.topic-pill-icon svg.topic-icon-strategies path {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: none !important;
}

/* 3. Dismiss "X" Badge: Enforce Harvest Gold Fill (#c5832b) with White "X" */
/* Ensure the icon container acts as the positioning context */
.browse-topic-card .topic-icon-badge,
.browse-topic-card .icon-wrapper,
.topic-filter-btn .topic-icon-badge,
.topic-filter-btn .icon-wrapper,
.topic-filter-btn .topic-icon-box,
.topic-filter-btn .topic-icon-wrap {
  position: relative !important;
}

/* Position the "X" circle over the top-right corner of the 44px icon tile */
/* Enforce exact harvest gold fill matching .flow-card-eyebrow across all pages */
.browse-topic-card .filter-remove-badge,
.browse-topic-card .active-filter-x,
.browse-topic-card .topic-remove-btn,
.browse-topic-card .topic-filter-remove,
.topic-filter-btn .filter-remove-badge,
.topic-filter-btn .active-filter-x,
.topic-filter-btn .topic-remove-btn,
.topic-filter-btn .topic-filter-remove,
.guest-filter-btn .filter-remove-badge,
.guest-filter-btn .active-filter-x,
.active-filter-badge-x,
.filter-remove-badge {
  background-color: #c5832b !important; /* Exact gold/ochre matching "THE DIFFERENCE YOUR DONATION MAKES" */
  background-image: none !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  z-index: 20 !important;
}

/* Ensure the X icon/glyph inside is crisp white */
.browse-topic-card .filter-remove-badge svg,
.browse-topic-card .active-filter-x svg,
.browse-topic-card .topic-remove-btn svg,
.topic-filter-btn .filter-remove-badge svg,
.topic-filter-btn .active-filter-x svg,
.topic-filter-btn .clear-chip svg,
.guest-filter-btn .filter-remove-badge svg,
.guest-filter-btn .active-filter-x svg,
.filter-remove-badge svg,
.filter-remove-badge span {
  stroke: #ffffff !important;
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* Hover state: slight warm glow without darkening to brown */
.browse-topic-card .filter-remove-badge:hover,
.topic-filter-btn .filter-remove-badge:hover,
.guest-filter-btn .filter-remove-badge:hover,
.filter-remove-badge:hover {
  background-color: #b47524 !important;
}

.topic-filter-btn.is-active .filter-remove-badge,
.topic-filter-btn.is-active .clear-chip,
.topic-filter-btn.is-active .active-filter-x,
.browse-topic-card.is-active .filter-remove-badge,
.browse-topic-card.is-active .topic-remove-btn {
  position: absolute !important;
  top: -2px !important;
  left: 33px !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* If the element is positioned inside the icon wrapper directly */
.browse-topic-card .icon-wrapper .topic-remove-btn,
.browse-topic-card .topic-icon-badge .topic-remove-btn,
.topic-filter-btn .topic-icon-wrap .filter-remove-badge,
.topic-filter-btn .topic-icon-box .filter-remove-badge {
  top: -5px !important;
  right: -5px !important;
  left: auto !important;
}

.browse-topic-card .filter-remove-badge svg,
.browse-topic-card .active-filter-x svg,
.browse-topic-card .topic-remove-btn svg,
.topic-filter-btn .filter-remove-badge svg,
.topic-filter-btn .active-filter-x svg,
.topic-filter-btn .clear-chip svg {
  stroke: #ffffff !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  width: 8px !important;
  height: 8px !important;
}

/* Ensure the label container does not reserve empty trailing space for the X */
.browse-topic-card .topic-label,
.browse-topic-card .topic-name,
.topic-filter-btn .topic-label,
.topic-filter-btn .topic-name,
.topic-filter-btn .topic-item-label {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================================
   CANONICAL EYEBROW TYPOGRAPHY & FLANKING ACCENT RULES (ALL PAGES)
   ============================================================================ */

:root {
  --eyebrow-accent-color: #b45309; /* Rich front-page harvest amber */
}

/* 1. Canonical Eyebrow Typography Token Across All Pages */
.stage-eyebrow,
.section-eyebrow,
.flow-card-eyebrow,
.field-impact-eyebrow,
.about-section-eyebrow,
.contact-eyebrow,
.give-eyebrow,
.impact-eyebrow,
.about-eyebrow,
.about-talk-eyebrow,
.about-intro-eyebrow,
.about-host-eyebrow,
.about-involved-eyebrow,
.about-eyebrow-lead,
span.eyebrow-label,
span.section-kicker,
.editorial-kicker,
.home-section-eyebrow,
.stage-kicker,
.stage-2-kicker,
.languages-eyebrow,
.focus-areas-kicker,
.stage-4-kicker,
.give-section-kicker,
.contact-section-kicker,
.contact-kicker,
.form-kicker,
.about-act-badge,
.about-eyebrow-badge {
  font-family: inherit !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--eyebrow-accent-color) !important; /* Rich front-page harvest amber #b45309 */
  line-height: 1.2 !important;
}

/* 2. Target Specific Headers on About Page (Preserving Left/Center Alignment) */
/* "THE FIELD & THE TABLE", "WHAT WE TALK ABOUT", "BEHIND THE MICROPHONE", "GET INVOLVED" */
.page-about .section-eyebrow,
.page-about .about-eyebrow,
.about-talk-eyebrow,
.about-host-eyebrow,
.about-involved-eyebrow,
.about-intro-eyebrow,
.page-about .about-act-badge,
.page-about .about-eyebrow-badge,
.field-table-narrative .about-eyebrow-badge,
.about-act-header .about-act-badge,
.host-narrative-col .about-act-badge,
.about-editorial-wrap .about-act-badge {
  font-family: inherit !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--eyebrow-accent-color) !important;
  line-height: 1.2 !important;
}

/* 3. Centered Eyebrow Flanking Hairline Dividers (Give, Contact, & About Pages) */
/* "WHAT WE TALK ABOUT", "GET IN TOUCH", "PULL UP A CHAIR", "FIELD IMPACT", "THE DIFFERENCE YOUR DONATION MAKES" */
.flanked-eyebrow-center,
.flow-card-header,
.contact-eyebrow-wrapper,
.pull-chair-eyebrow-wrapper,
.field-impact-header-row,
.give-section-kicker-wrap,
.page-contact .contact-section-kicker,
.contact-hero .contact-section-kicker,
.contact-form-card .contact-section-kicker,
.about-talk-header,
.about-talk-eyebrow-wrapper,
.about-section:has(.about-talk-eyebrow) .eyebrow-container,
.about-act-header .about-act-badge,
.about-topics-section .about-act-header .about-act-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
  border: none !important;
  text-align: center !important;
}

/* Left and right flanking hairlines */
.flanked-eyebrow-center::before,
.flanked-eyebrow-center::after,
.flow-card-header::before,
.flow-card-header::after,
.contact-eyebrow-wrapper::before,
.contact-eyebrow-wrapper::after,
.pull-chair-eyebrow-wrapper::before,
.pull-chair-eyebrow-wrapper::after,
.field-impact-header-row::before,
.field-impact-header-row::after,
.give-section-kicker-wrap::before,
.give-section-kicker-wrap::after,
.page-contact .contact-section-kicker::before,
.page-contact .contact-section-kicker::after,
.contact-hero .contact-section-kicker::before,
.contact-hero .contact-section-kicker::after,
.contact-form-card .contact-section-kicker::before,
.contact-form-card .contact-section-kicker::after,
.about-talk-eyebrow-wrapper::before,
.about-talk-eyebrow-wrapper::after,
.about-talk-header::before,
.about-talk-header::after,
.about-act-header .about-act-badge::before,
.about-act-header .about-act-badge::after,
.about-topics-section .about-act-header .about-act-badge::before,
.about-topics-section .about-act-header .about-act-badge::after {
  content: "" !important;
  display: block !important;
  width: 36px !important; /* Balanced 36px hairline rules */
  height: 1px !important;
  background-color: #cbd5e1 !important; /* Soft slate rule */
  flex-shrink: 0 !important;
}

/* 4. Ensure Non-Centered / Left-Aligned Eyebrows Do NOT Render Flanking Lines */
.text-left.section-eyebrow::before,
.text-left.section-eyebrow::after,
.about-content-left .section-eyebrow::before,
.about-content-left .section-eyebrow::after,
.field-table-narrative .about-eyebrow-badge::before,
.field-table-narrative .about-eyebrow-badge::after,
.host-narrative-col .about-act-badge::before,
.host-narrative-col .about-act-badge::after,
.about-host-section .about-act-badge::before,
.about-host-section .about-act-badge::after,
.about-editorial-wrap > .section-tag-wrap .about-act-badge::before,
.about-editorial-wrap > .section-tag-wrap .about-act-badge::after,
.home-section-invite .editorial-kicker::before,
.home-section-invite .editorial-kicker::after {
  display: none !important;
}

/* 5. Chisel Highlighter Standalone Rules (About Page & Site-Wide) */
mark.hl-chisel,
.hl-chisel,
.editorial-highlight,
.about-highlight {
  position: relative !important;
  display: inline-block !important;
  z-index: 1 !important;
  background: transparent !important;
  color: #0f172a !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

mark.hl-chisel::before,
.hl-chisel::before,
.editorial-highlight::before,
.about-highlight::before {
  position: absolute !important;
  content: "" !important;
  left: -5px !important;
  right: -7px !important;
  top: 10% !important;
  bottom: -2% !important;
  z-index: -1 !important;
  pointer-events: none !important;
  transform: rotate(-0.8deg) skewX(-2deg) !important;
  clip-path: polygon(
    0% 12%,
    3% 4%,
    96% 2%,
    100% 18%,
    98% 88%,
    95% 98%,
    4% 94%,
    0% 82%
  ) !important;
  mix-blend-mode: multiply !important;
  filter: blur(0.2px) !important;
}

/* Standalone Color Gradients (Restores About page highlights) */
.hl-pink::before,
.hl-0::before,
.hl-color-0::before {
  background: var(--hl-grad-0) !important;
}

.hl-orange::before,
.hl-amber::before,
.hl-ochre::before,
.hl-1::before,
.hl-color-1::before {
  background: var(--hl-grad-1) !important;
}

.hl-yellow::before,
.hl-2::before,
.hl-color-2::before {
  background: var(--hl-grad-2) !important;
}

.hl-green::before,
.hl-3::before,
.hl-color-3::before {
  background: var(--hl-grad-3) !important;
}

.hl-cyan::before,
.hl-blue::before,
.hl-4::before,
.hl-color-4::before {
  background: var(--hl-grad-4) !important;
}

.hl-violet::before,
.hl-purple::before,
.hl-5::before,
.hl-color-5::before {
  background: var(--hl-grad-5) !important;
}

/* ===============================================================
   About Page Chisel Highlighter Trailing Edge Calibration & Card Accents
   =============================================================== */
/* 1. Pull the Trailing Highlight Boundary Inward on the About Page */
.page-about mark::before,
.page-about .hl-chisel::before,
.page-about [class*="hl-"]::before,
.page-about .editorial-highlight::before,
.about-talk-content mark::before,
.about-talk-content span[class*="hl-"]::before,
.about-page-main mark::before,
.about-page-main .hl-chisel::before,
.about-page-main [class*="hl-"]::before,
.about-topics-section mark::before,
.about-topic-content mark::before {
  right: -1px !important; /* Tucked flush with final letter to prevent bleed */
}

/* 2. Add Inline Spacing so Next Word Clears the Chisel Slant */
.page-about mark,
.page-about .hl-chisel,
.page-about [class*="hl-"],
.page-about .editorial-highlight,
.about-talk-content mark,
.about-talk-content span[class*="hl-"],
.about-page-main mark,
.about-page-main .hl-chisel,
.about-page-main [class*="hl-"],
.about-topics-section mark,
.about-topic-content mark {
  display: inline-block !important;
  white-space: nowrap !important;
  margin-right: 0.25em !important; /* Typographic space so adjacent text clears the slant */
}

/* 3. Pull Up a Chair Card Numbers to Harvest Ochre */
.chair-card-num {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #c5832b !important; /* Signature harvest ochre */
  line-height: 1 !important;
}

.chair-header-divider {
  display: inline-block !important;
  width: 1px !important;
  height: 16px !important;
  background-color: #cbd5e1 !important;
  flex-shrink: 0 !important;
}






