/*
Theme Name: Coma Yaad
Theme URI: https://comayaad.com
Author: Jamaica People's Collective
Author URI: https://comayaad.com
Description: The official theme for Coma Yaad — focused on the people-owned Solar business (the pledge) and the land-buying cooperative, plus a weekly newsletter and the latest YouTube episodes. Dark, editorial, minimal plugin dependencies.
Version: 1.8.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: comayaad
Tags: dark, custom-colors, custom-menu, featured-images, full-width-template, responsive-layout, rtl-language-support, translation-ready
*/

/* ══════════════════════════════════════════════════════════
   CSS CUSTOM PROPERTIES
══════════════════════════════════════════════════════════ */

:root {
  /* Core palette */
  --bg:           #0C0C0C;
  --bg-2:         #111111;
  --bg-3:         #161616;
  --bg-card:      #1A1A1A;
  --bg-card-2:    #222222;
  --border:       #242424;
  --border-2:     #2A2A2A;
  --border-3:     #333333;

  /* Text */
  --text:         #F5F0E8;
  --text-muted:   #888888;
  --text-dim:     #555555;
  --text-faint:   #444444;

  /* Brand */
  --gold:         #E6A800;
  --gold-dim:     #A07800;
  --gold-bg:      #201A00;
  --green:        #007A2E;
  --green-bright: #4DDB88;
  --green-bg:     #002210;
  --green-deep:   #0A1200;

  /* Accent pillars */
  --indigo:       #7B8FF5;
  --indigo-bg:    #0A0020;
  --pink:         #F08CB5;
  --pink-bg:      #1A0008;
  --orange:       #F08B5A;
  --orange-bg:    #1A0A00;
  --teal:         #4DDDD5;
  --teal-bg:      #001618;

  /* Typography */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'DM Sans', system-ui, -apple-system, sans-serif;

  /* Spacing */
  --space-xs:     4px;
  --space-sm:     8px;
  --space-md:     16px;
  --space-lg:     24px;
  --space-xl:     40px;
  --space-2xl:    64px;
  --space-3xl:    96px;

  /* Radius */
  --radius-sm:    8px;
  --radius-md:    12px;
  --radius-lg:    16px;
  --radius-xl:    24px;
  --radius-pill:  100px;

  /* Shadows */
  --shadow-sm:    0 1px 3px rgba(0,0,0,0.5);
  --shadow-md:    0 4px 16px rgba(0,0,0,0.6);
  --shadow-lg:    0 8px 32px rgba(0,0,0,0.7);
  --shadow-gold:  0 0 32px rgba(230,168,0,0.12);
  --shadow-green: 0 0 32px rgba(0,122,46,0.12);

  /* Transitions */
  --transition:   0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);

  /* Layout */
  --max-width:    1200px;
  --content-width: 760px;
  --sidebar-width: 320px;
  --nav-height:   72px;

  /* Aliases for compatibility */
  --bg-1:         #0C0C0C;   /* alias for --bg */
  --radius:       12px;       /* alias for --radius-md */
}

/* ══════════════════════════════════════════════════════════
   RESET & BASE
══════════════════════════════════════════════════════════ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
}

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

a {
  color: var(--gold);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: #ffcc40;
}

button {
  font-family: var(--font-body);
  cursor: pointer;
}

input, textarea, select {
  font-family: var(--font-body);
}

ul, ol {
  list-style: none;
}

/* ══════════════════════════════════════════════════════════
   TYPOGRAPHY
══════════════════════════════════════════════════════════ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.2;
  color: var(--text);
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 2.5rem); }
h3 { font-size: clamp(1.3rem, 3vw, 1.8rem); }
h4 { font-size: clamp(1.1rem, 2vw, 1.35rem); }
h5 { font-size: 1.1rem; }
h6 { font-size: 0.95rem; font-family: var(--font-body); text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-dim); font-weight: 500; }

p {
  color: var(--text-muted);
  line-height: 1.75;
  font-size: 1.05rem;
}

strong, b {
  color: var(--text);
  font-weight: 600;
}

blockquote {
  border-left: 3px solid var(--gold);
  padding: var(--space-md) var(--space-lg);
  background: var(--bg-card);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  margin: var(--space-lg) 0;
}

blockquote p {
  font-family: var(--font-display);
  font-size: 1.3rem;
  color: var(--text);
  font-style: italic;
  line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════
   LAYOUT SYSTEM
══════════════════════════════════════════════════════════ */

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.container--narrow {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.container--wide {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.site-main {
  padding-top: var(--nav-height);
  min-height: 100vh;
}

/* Grid utilities */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }

@media (max-width: 900px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .container, .container--narrow, .container--wide { padding: 0 var(--space-md); }
}

/* ══════════════════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════════════════ */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--nav-height);
  background: rgba(12, 12, 12, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
}

.site-header .container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  text-decoration: none;
}

.site-logo__flag {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 20px;
}

.site-logo__flag span {
  display: block;
  height: 3px;
  border-radius: 2px;
}

.site-logo__flag span:nth-child(1),
.site-logo__flag span:nth-child(3) { background: var(--green); }
.site-logo__flag span:nth-child(2) { background: var(--gold); }

.site-logo__text {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.01em;
}

.site-logo__dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--gold);
  border-radius: 50%;
  vertical-align: middle;
  margin-left: 2px;
  margin-bottom: 3px;
}

/* Primary navigation */
.primary-nav {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.primary-nav ul {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  list-style: none;
}

.primary-nav a {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-dim);
  text-decoration: none;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  transition: all var(--transition);
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a {
  color: var(--text);
  background: var(--bg-card);
}

.primary-nav .nav-cta a {
  background: var(--green);
  color: #fff;
  padding: 8px 18px;
}

.primary-nav .nav-cta a:hover {
  background: #009438;
}

/* Hamburger */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all var(--transition);
}

/* Mobile nav */
.mobile-nav {
  display: none;
  position: fixed;
  top: var(--nav-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bg);
  z-index: 999;
  padding: var(--space-lg);
  overflow-y: auto;
  flex-direction: column;
  gap: var(--space-xs);
}

.mobile-nav.open {
  display: flex;
}

.mobile-nav a {
  display: block;
  padding: 16px var(--space-md);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  text-decoration: none;
}

.mobile-nav a:hover {
  color: var(--text);
}

@media (max-width: 768px) {
  .primary-nav { display: none; }
  .menu-toggle { display: flex; }
}

/* ══════════════════════════════════════════════════════════
   FLAG BAR DIVIDER
══════════════════════════════════════════════════════════ */

.flag-divider {
  display: flex;
  gap: 3px;
  margin-bottom: var(--space-lg);
}

.flag-divider span {
  display: block;
  height: 3px;
  border-radius: 2px;
  flex: 1;
}

.flag-divider span:nth-child(1),
.flag-divider span:nth-child(3) { background: var(--green); }
.flag-divider span:nth-child(2) { background: var(--gold); }

/* ══════════════════════════════════════════════════════════
   HERO SECTIONS
══════════════════════════════════════════════════════════ */

.hero {
  position: relative;
  padding: var(--space-3xl) 0 var(--space-2xl);
  overflow: hidden;
}

.hero--full {
  min-height: calc(100vh - var(--nav-height));
  display: flex;
  align-items: center;
}

.hero__eyebrow {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--space-md);
}

.hero__heading {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 900;
  line-height: 1.1;
  color: var(--text);
  margin-bottom: var(--space-md);
  letter-spacing: -0.02em;
}

.hero__heading em {
  font-style: italic;
  color: var(--gold);
}

.hero__sub {
  font-size: 1.15rem;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: var(--space-xl);
}

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

/* Hero background texture */
.hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse 60% 50% at 70% 50%, rgba(0,122,46,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 20% 80%, rgba(230,168,0,0.04) 0%, transparent 60%);
  pointer-events: none;
}

/* Grain overlay */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  opacity: 0.4;
}

/* Hero with uploaded background image */
.hero--has-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Explicit overlay div — more reliable than ::before for photo backgrounds */
.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    105deg,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.72) 45%,
    rgba(0, 0, 0, 0.45) 75%,
    rgba(0, 0, 0, 0.25) 100%
  );
  pointer-events: none;
}

/* When photo BG is set: map sits behind overlay, content above it */
.hero--has-bg .hero__map   { z-index: 0; }
.hero__content {
  position: relative;
  z-index: 3;
}

/* Jamaica map overlay */
.hero__map {
  position: absolute;
  top: 50%;
  right: -2%;
  transform: translateY(-50%);
  width: clamp(340px, 50vw, 580px);
  pointer-events: none;
  z-index: 2;   /* above overlay so it shows as a subtle graphic on top */
  opacity: 1;
}
/* When a photo background is used, reduce the map further so it doesn't clash */
.hero--has-bg .hero__map {
  z-index: 2;
  opacity: 0.15;
}
.hero__map-svg {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .hero__map {
    width: 90vw;
    right: -10%;
    opacity: 0.6;
    top: auto;
    bottom: 0;
    transform: none;
  }
}

/* ══════════════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════════════ */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 14px 24px;
  border: none;
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--transition);
  letter-spacing: 0.01em;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0);
  transition: background var(--transition);
}

.btn:hover::after {
  background: rgba(255,255,255,0.06);
}

.btn-gold {
  background: var(--gold);
  color: #0C0C0C;
  font-weight: 600;
}

.btn-gold:hover {
  background: #ffba1a;
  color: #0C0C0C;
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(230,168,0,0.3);
}

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

.btn-green:hover {
  background: #009438;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(0,122,46,0.3);
}

.btn-outline {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-3);
}

.btn-outline:hover {
  border-color: var(--text-muted);
  color: var(--text);
}

.btn-ghost {
  background: var(--bg-card);
  color: var(--text);
  border: 1px solid var(--border);
}

.btn-ghost:hover {
  border-color: var(--border-3);
  color: var(--text);
}

.btn-sm {
  padding: 10px 18px;
  font-size: 0.875rem;
  border-radius: var(--radius-sm);
}

.btn-lg {
  padding: 18px 32px;
  font-size: 1.05rem;
}

.btn-block {
  display: flex;
  width: 100%;
}

/* ══════════════════════════════════════════════════════════
   CARDS
══════════════════════════════════════════════════════════ */

.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.card:hover {
  border-color: var(--border-3);
}

.card--green {
  background: var(--green-deep);
  border-color: var(--green-bg);
}

.card--gold {
  background: var(--gold-bg);
  border-color: #3a2800;
}

.card--indigo {
  background: var(--indigo-bg);
  border-color: #1e1a40;
}

.card--interactive {
  cursor: pointer;
}

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

/* ══════════════════════════════════════════════════════════
   PLEDGE COUNTER COMPONENT
══════════════════════════════════════════════════════════ */

.counter-block {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: var(--space-xl);
  position: relative;
  overflow: hidden;
}

.counter-block::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(230,168,0,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.counter-number {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -0.02em;
}

.counter-label {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: var(--space-xs);
}

.counter-sub {
  font-size: 0.875rem;
  color: var(--text-faint);
  margin-top: var(--space-xs);
}

.counter-sub .positive {
  color: var(--green-bright);
}

/* Progress bar */
.progress-wrap {
  margin: var(--space-md) 0;
}

.progress-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--text-faint);
  margin-bottom: 8px;
}

.progress-bar {
  height: 4px;
  background: var(--bg-card-2);
  border-radius: 2px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--green), var(--gold));
  border-radius: 2px;
  transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Stats strip */
.stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
  margin: var(--space-md) 0;
}

.stat-chip {
  background: var(--bg-card-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px var(--space-sm);
  text-align: center;
}

.stat-chip__val {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--text);
  line-height: 1;
}

.stat-chip__lbl {
  font-size: 0.65rem;
  color: var(--text-dim);
  margin-top: 4px;
  line-height: 1.3;
  letter-spacing: 0.03em;
}

@media (max-width: 640px) {
  .stats-strip { grid-template-columns: repeat(2, 1fr); }
}

/* ══════════════════════════════════════════════════════════
   ACCORDION COMPONENT (no JS plugin needed)
══════════════════════════════════════════════════════════ */

.accordion {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-3);
  margin-bottom: var(--space-sm);
  transition: border-color var(--transition);
}

.accordion:hover {
  border-color: var(--border-2);
}

.accordion__trigger {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  cursor: pointer;
  user-select: none;
  width: 100%;
  background: none;
  border: none;
  color: var(--text);
  text-align: left;
  transition: background var(--transition);
}

.accordion__trigger:hover {
  background: rgba(255,255,255,0.02);
}

.accordion__icon {
  font-size: 1.25rem;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.accordion__title {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text);
  line-height: 1.2;
}

.accordion__subtitle {
  font-size: 0.75rem;
  color: var(--text-dim);
  margin-top: 2px;
  font-family: var(--font-body);
  font-weight: 400;
}

.accordion__badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--radius-sm);
  flex-shrink: 0;
}

.accordion__chevron {
  font-size: 0.75rem;
  color: var(--text-faint);
  flex-shrink: 0;
  transition: transform var(--transition), color var(--transition);
  margin-left: var(--space-sm);
}

.accordion.is-open .accordion__chevron {
  transform: rotate(180deg);
  color: var(--gold);
}

.accordion.is-open .accordion__trigger {
  border-bottom: 1px solid var(--border);
}

.accordion__body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion__inner {
  padding: var(--space-lg);
}

/* Detail rows inside accordions */
.detail-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--border);
  gap: var(--space-md);
  font-size: 0.875rem;
}

.detail-row:last-child { border-bottom: none; }
.detail-row__key { color: var(--text-dim); flex-shrink: 0; }
.detail-row__val { color: var(--text); text-align: right; font-weight: 500; }

/* ══════════════════════════════════════════════════════════
   PILLAR CARDS (Six Pillars / Ecosystem)
══════════════════════════════════════════════════════════ */

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

@media (max-width: 900px) { .pillar-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .pillar-grid { grid-template-columns: 1fr; } }

.pillar-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}

.pillar-card::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--transition);
}

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

.pillar-card:hover::before { opacity: 1; }

.pillar-card__emoji {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: var(--space-xs);
}

.pillar-card__phase {
  display: inline-flex;
  align-items: center;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-xs);
}

.pillar-card__name {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}

.pillar-card__tagline {
  font-size: 0.8rem;
  color: var(--text-dim);
  line-height: 1.5;
}

.pillar-card__chain {
  margin-top: auto;
  padding-top: var(--space-sm);
  font-size: 0.75rem;
  color: var(--text-dim);
  border-top: 1px solid var(--border);
}

/* Pillar color variants */
.pillar--energy   { --pillar-accent: var(--gold);   --pillar-bg: var(--gold-bg); }
.pillar--airline  { --pillar-accent: var(--green-bright); --pillar-bg: var(--green-bg); }
.pillar--incubator{ --pillar-accent: var(--orange);  --pillar-bg: var(--orange-bg); }
.pillar--housing  { --pillar-accent: var(--indigo);  --pillar-bg: var(--indigo-bg); }
.pillar--culture  { --pillar-accent: var(--teal);    --pillar-bg: var(--teal-bg); }
.pillar--community{ --pillar-accent: var(--pink);    --pillar-bg: var(--pink-bg); }

.pillar-card.pillar--energy,
.pillar-card.pillar--airline,
.pillar-card.pillar--incubator,
.pillar-card.pillar--housing,
.pillar-card.pillar--culture,
.pillar-card.pillar--community {
  border-color: color-mix(in srgb, var(--pillar-accent) 20%, transparent);
}

.pillar-card.pillar--energy:hover,
.pillar-card.pillar--airline:hover,
.pillar-card.pillar--incubator:hover,
.pillar-card.pillar--housing:hover,
.pillar-card.pillar--culture:hover,
.pillar-card.pillar--community:hover {
  border-color: color-mix(in srgb, var(--pillar-accent) 40%, transparent);
  box-shadow: 0 8px 32px color-mix(in srgb, var(--pillar-accent) 10%, transparent);
}

.pillar-card .pillar-card__emoji {
  background: var(--pillar-bg);
}

.pillar-card .pillar-card__phase {
  background: var(--pillar-bg);
  color: var(--pillar-accent);
}

/* ══════════════════════════════════════════════════════════
   FORMS — BUILT IN (no WPForms needed)
══════════════════════════════════════════════════════════ */

.cy-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.cy-form__group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cy-form__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim);
}

.cy-form__input,
.cy-form__textarea,
.cy-form__select {
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-md);
  padding: 13px 16px;
  font-size: 0.9375rem;
  color: var(--text);
  font-family: var(--font-body);
  outline: none;
  width: 100%;
  transition: border-color var(--transition), box-shadow var(--transition);
  -webkit-appearance: none;
  appearance: none;
}

.cy-form__input::placeholder,
.cy-form__textarea::placeholder { color: var(--text-faint); }

.cy-form__input:focus,
.cy-form__textarea:focus,
.cy-form__select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(230,168,0,0.1);
}

.cy-form__textarea {
  resize: vertical;
  min-height: 120px;
}

.cy-form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%23555'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
  color: var(--text);
}

.cy-form__select option {
  background: var(--bg-card);
  color: var(--text);
}

/* Country pill grid */
.country-pills {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.country-pill {
  padding: 9px 8px;
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-sm);
  font-size: 0.8125rem;
  color: var(--text-dim);
  cursor: pointer;
  text-align: center;
  line-height: 1.3;
  font-family: var(--font-body);
  transition: all var(--transition);
  user-select: none;
}

.country-pill:hover { border-color: var(--border-3); color: var(--text); }

.country-pill.is-selected {
  background: var(--green-bg);
  border-color: var(--green);
  color: var(--green-bright);
}

/* Checkbox / radio pills */
.check-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.check-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-pill);
  font-size: 0.8125rem;
  color: var(--text-muted);
  cursor: pointer;
  transition: all var(--transition);
  user-select: none;
}

.check-pill:hover { border-color: var(--border-3); }
.check-pill input { display: none; }

.check-pill.is-checked {
  background: var(--green-bg);
  border-color: var(--green);
  color: var(--green-bright);
}

/* Shares grid (pledge form) */
.shares-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-sm);
}

.share-tile {
  aspect-ratio: 1;
  background: var(--bg-card);
  border: 2px solid var(--border-2);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition);
  user-select: none;
}

.share-tile:hover { border-color: var(--border-3); }

.share-tile.is-selected {
  border-color: var(--gold);
  background: var(--gold-bg);
}

.share-tile__num {
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--text);
  line-height: 1;
}

.share-tile__price {
  font-size: 0.7rem;
  color: var(--text-dim);
  margin-top: 3px;
}

.share-tile.is-selected .share-tile__num { color: var(--gold); }
.share-tile.is-selected .share-tile__price { color: var(--gold-dim); }

.total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) var(--space-lg);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  margin: var(--space-md) 0;
}

.total-row__label { font-size: 0.875rem; color: var(--text-dim); }

.total-row__val {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--gold);
}

/* Form status messages */
.form-notice {
  padding: var(--space-md);
  border-radius: var(--radius-md);
  font-size: 0.875rem;
  display: none;
}

.form-notice--success {
  background: var(--green-bg);
  border: 1px solid var(--green);
  color: var(--green-bright);
  display: block;
}

.form-notice--error {
  background: #1a0000;
  border: 1px solid #5a0000;
  color: #ff8888;
  display: block;
}

/* Consent checkbox */
.consent-row {
  display: flex;
  gap: var(--space-sm);
  align-items: flex-start;
  padding: var(--space-sm) 0;
}

.consent-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--green);
  flex-shrink: 0;
  cursor: pointer;
}

.consent-row label {
  font-size: 0.8125rem;
  color: var(--text-dim);
  line-height: 1.6;
  cursor: pointer;
}

/* ══════════════════════════════════════════════════════════
   RECENT PLEDGES / SOCIAL PROOF
══════════════════════════════════════════════════════════ */

.founders-list {
  display: flex;
  flex-direction: column;
}

.founder-row {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--border);
}

.founder-row:last-child { border-bottom: none; }

.founder-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  flex-shrink: 0;
}

.founder-info__name { font-size: 0.875rem; color: var(--text); line-height: 1.2; }
.founder-info__loc { font-size: 0.75rem; color: var(--text-dim); margin-top: 1px; }
.founder-shares { font-size: 0.8125rem; color: var(--gold); font-weight: 500; margin-left: auto; white-space: nowrap; }

/* ══════════════════════════════════════════════════════════
   CERTIFICATE
══════════════════════════════════════════════════════════ */

.cert-card {
  background: #0e0a00;
  border: 1px solid #3a2800;
  border-radius: var(--radius-xl);
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cert-card::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(230,168,0,0.04);
  border: 40px solid rgba(230,168,0,0.03);
  pointer-events: none;
}

.cert-emblem {
  width: 64px;
  height: 64px;
  background: var(--gold);
  border-radius: 50%;
  margin: 0 auto var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

.cert-eyebrow {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.cert-name {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: var(--space-sm);
}

.cert-body {
  font-size: 0.875rem;
  color: var(--text-dim);
  line-height: 1.6;
  margin-bottom: var(--space-lg);
}

.cert-divider {
  height: 1px;
  background: #3a2800;
  margin: var(--space-md) 0;
}

.cert-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.cert-stat__val { font-size: 1.2rem; font-weight: 500; color: var(--gold); }
.cert-stat__lbl { font-size: 0.65rem; color: var(--text-faint); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 2px; }

.cert-id {
  font-size: 0.65rem;
  color: var(--text-faint);
  letter-spacing: 0.15em;
  margin-top: var(--space-md);
  font-family: monospace;
}

/* ══════════════════════════════════════════════════════════
   POSTS / BLOG
══════════════════════════════════════════════════════════ */

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

@media (max-width: 900px) { .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .post-grid { grid-template-columns: 1fr; } }

.post-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: all var(--transition);
}

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

.post-card__thumb {
  aspect-ratio: 16/9;
  background: var(--bg-card-2);
  overflow: hidden;
  position: relative;
}

.post-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

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

.post-card__thumb-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  background: linear-gradient(135deg, var(--bg-card), var(--bg-3));
}

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

.post-card__cat {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--space-sm);
}

.post-card__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: var(--space-sm);
  flex: 1;
}

.post-card__excerpt {
  font-size: 0.8125rem;
  color: var(--text-dim);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__meta {
  font-size: 0.75rem;
  color: var(--text-faint);
  margin-top: var(--space-md);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border);
}

/* Single post */
.entry-content {
  max-width: var(--content-width);
  margin: 0 auto;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  margin: var(--space-xl) 0 var(--space-md);
}

.entry-content p {
  margin-bottom: var(--space-md);
  font-size: 1.1rem;
}

.entry-content ul,
.entry-content ol {
  padding-left: var(--space-lg);
  margin-bottom: var(--space-md);
  list-style: revert;
}

.entry-content li {
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.75;
  padding: 2px 0;
}

.entry-content img {
  border-radius: var(--radius-md);
  width: 100%;
}

/* Post article share pull-quote */
.pull-quote {
  background: var(--bg-card);
  border-left: 3px solid var(--gold);
  padding: var(--space-lg) var(--space-xl);
  margin: var(--space-xl) 0;
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.pull-quote__text {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--text);
  font-style: italic;
  line-height: 1.5;
  margin-bottom: var(--space-sm);
}

.pull-quote__share {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  color: var(--green-bright);
  cursor: pointer;
  transition: opacity var(--transition);
}

/* ══════════════════════════════════════════════════════════
   VIDEO SECTION (oEmbed + custom layout)
══════════════════════════════════════════════════════════ */

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

@media (max-width: 900px) { .video-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .video-grid { grid-template-columns: 1fr; } }

.video-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  transition: all var(--transition);
}

.video-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--border-3);
}

.video-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

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

.video-card__info {
  padding: var(--space-md);
}

.video-card__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  color: var(--text);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 4px;
}

.video-card__meta {
  font-size: 0.75rem;
  color: var(--text-dim);
}

/* Playlist tabs */
.playlist-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 4px;
  margin-bottom: var(--space-lg);
  scrollbar-width: none;
}

.playlist-tabs::-webkit-scrollbar { display: none; }

.playlist-tab {
  padding: 7px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-pill);
  font-size: 0.8125rem;
  color: var(--text-dim);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: var(--font-body);
  transition: all var(--transition);
}

.playlist-tab:hover { border-color: var(--border-3); color: var(--text); }

.playlist-tab.is-active {
  background: var(--gold-bg);
  border-color: var(--gold);
  color: var(--gold);
}

/* ══════════════════════════════════════════════════════════
   TIMELINE
══════════════════════════════════════════════════════════ */

.timeline {
  position: relative;
  padding-left: 40px;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 7px; top: 8px; bottom: 8px;
  width: 2px;
  background: linear-gradient(to bottom, var(--green), var(--gold), transparent);
  border-radius: 2px;
}

.timeline__item {
  position: relative;
  margin-bottom: var(--space-xl);
}

.timeline__dot {
  position: absolute;
  left: -36px;
  top: 5px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--bg);
}

.timeline__dot--active { background: var(--gold); }
.timeline__dot--next { background: var(--green-bright); }
.timeline__dot--future { background: var(--bg-card-2); border-color: var(--border-2); }

.timeline__period {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}

.timeline__heading {
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: var(--text);
  margin-bottom: var(--space-sm);
}

.timeline__body {
  font-size: 0.9rem;
  color: var(--text-dim);
  line-height: 1.65;
}

/* ══════════════════════════════════════════════════════════
   MILESTONE PROGRESS
══════════════════════════════════════════════════════════ */

.milestone-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.milestone-item {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-md) var(--space-lg);
  display: flex;
  align-items: center;
  gap: var(--space-lg);
}

.milestone-item--reached {
  border-color: var(--green);
  background: var(--green-bg);
}

.milestone-item__num {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gold);
  white-space: nowrap;
  flex-shrink: 0;
}

.milestone-item--reached .milestone-item__num { color: var(--green-bright); }

.milestone-item__text {
  font-size: 0.9rem;
  color: var(--text-muted);
  flex: 1;
}

.milestone-item__check {
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════
   THREE DOMAIN ECOSYSTEM SECTION
══════════════════════════════════════════════════════════ */

.ecosystem-domains {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

@media (max-width: 768px) { .ecosystem-domains { grid-template-columns: 1fr; } }

.domain-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  transition: all var(--transition);
}

.domain-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--border-3);
}

.domain-card__role {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
}

.domain-card__name {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text);
}

.domain-card__url {
  font-size: 0.75rem;
  color: var(--text-faint);
  font-family: monospace;
}

.domain-card__desc {
  font-size: 0.875rem;
  color: var(--text-dim);
  line-height: 1.6;
  margin-top: var(--space-xs);
}

.domain-card__arrow {
  font-size: 1.1rem;
  color: var(--text-faint);
  margin-top: auto;
  transition: transform var(--transition), color var(--transition);
}

.domain-card:hover .domain-card__arrow {
  transform: translateX(3px);
  color: var(--gold);
}

/* ══════════════════════════════════════════════════════════
   FAQ COMPONENT
══════════════════════════════════════════════════════════ */

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

.faq-item {
  background: var(--bg-3);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--transition);
}

.faq-item:hover { border-color: var(--border-2); }

.faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-lg);
  cursor: pointer;
  user-select: none;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  gap: var(--space-md);
}

.faq-trigger__q {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text);
  flex: 1;
  line-height: 1.4;
}

.faq-trigger__icon {
  font-size: 0.7rem;
  color: var(--text-faint);
  flex-shrink: 0;
  transition: transform var(--transition), color var(--transition);
}

.faq-item.is-open .faq-trigger__icon {
  transform: rotate(180deg);
  color: var(--gold);
}

.faq-item.is-open { border-color: var(--border-2); }
.faq-item.is-open .faq-trigger { border-bottom: 1px solid var(--border); }

.faq-body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-body__inner {
  padding: var(--space-lg);
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.75;
}

/* ══════════════════════════════════════════════════════════
   LAND COOPERATIVE — POOLS TABLE
══════════════════════════════════════════════════════════ */

.pools-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--bg-card);
}

.pools-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.pools-table th {
  background: var(--bg-3);
  color: var(--text-dim);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: var(--space-md) var(--space-lg);
  text-align: left;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

.pools-table td {
  padding: var(--space-md) var(--space-lg);
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}

.pools-table tr:last-child td { border-bottom: none; }

.pools-table tr:hover td { background: rgba(255,255,255,0.01); }

.pool-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--radius-sm);
}

.pool-status--forming { background: var(--gold-bg); color: var(--gold); }
.pool-status--active  { background: var(--green-bg); color: var(--green-bright); }
.pool-status--waitlist{ background: var(--indigo-bg); color: var(--indigo); }
.pool-status--full    { background: var(--bg-card-2); color: var(--text-dim); }

/* ══════════════════════════════════════════════════════════
   WHATSAPP FLOATING BUTTON (built-in, no plugin)
══════════════════════════════════════════════════════════ */

.wa-fab {
  position: fixed;
  bottom: 28px;
  right: 24px;
  z-index: 9000;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.3);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  animation: wa-bounce 3s infinite;
}

.wa-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 28px rgba(37,211,102,0.45);
}

.wa-fab svg {
  width: 28px;
  height: 28px;
  fill: #fff;
}

@keyframes wa-bounce {
  0%, 90%, 100% { transform: scale(1); }
  95% { transform: scale(1.06); }
}

/* ══════════════════════════════════════════════════════════
   NEWSLETTER INLINE FORM
══════════════════════════════════════════════════════════ */

.newsletter-inline {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: var(--space-xl);
  max-width: 560px;
}

.newsletter-inline__heading {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: var(--space-sm);
}

.newsletter-inline__sub {
  font-size: 0.875rem;
  color: var(--text-dim);
  margin-bottom: var(--space-lg);
  line-height: 1.65;
}

.newsletter-row {
  display: flex;
  gap: var(--space-sm);
}

.newsletter-row .cy-form__input {
  flex: 1;
}

@media (max-width: 520px) {
  .newsletter-row { flex-direction: column; }
}

/* ══════════════════════════════════════════════════════════
   WHO THIS IS FOR — 3-col cards
══════════════════════════════════════════════════════════ */

.for-whom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

.for-whom-card {
  padding: var(--space-xl) var(--space-lg);
  border-right: 1px solid var(--border);
}

.for-whom-card:last-child {
  border-right: none;
}

.for-whom-flag {
  font-size: 2rem;
  margin-bottom: var(--space-md);
  line-height: 1;
}

.for-whom-text {
  font-size: 0.9375rem;
  color: var(--text-muted);
  line-height: 1.75;
  margin: 0;
}

@media (max-width: 720px) {
  .for-whom-grid {
    grid-template-columns: 1fr;
  }
  .for-whom-card {
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: var(--space-lg);
    text-align: center;
  }
  .for-whom-card:last-child {
    border-bottom: none;
  }
}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE NEWSLETTER SECTION
══════════════════════════════════════════════════════════ */

.newsletter-hp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}

.newsletter-hp-text .section__heading {
  margin-bottom: var(--space-sm);
}

.newsletter-hp-form {
  /* form fills this col */
}

@media (max-width: 720px) {
  .newsletter-hp-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
    text-align: center;
  }
  .newsletter-hp-text .section__heading {
    font-size: 1.4rem;
  }
  /* centre the form inputs */
  .newsletter-hp-form .newsletter-row {
    flex-direction: column;
  }
  .newsletter-hp-form .cy-form__input,
  .newsletter-hp-form input[type="email"] {
    width: 100%;
  }
}

/* ══════════════════════════════════════════════════════════
   SECTION UTILITIES
══════════════════════════════════════════════════════════ */

.section {
  padding: var(--space-3xl) 0;
}

.section--sm {
  padding: var(--space-2xl) 0;
}

.section--tight {
  padding: var(--space-xl) 0;
}

.section__eyebrow {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--space-md);
}

.section__heading {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--text);
  margin-bottom: var(--space-md);
  max-width: 640px;
}

.section__sub {
  font-size: 1.05rem;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.75;
  margin-bottom: var(--space-xl);
}

.divider {
  height: 1px;
  background: var(--border);
  margin: var(--space-xl) 0;
}

/* ══════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════ */

.site-footer {
  background: var(--bg-2);
  border-top: 1px solid var(--border);
  padding: var(--space-3xl) 0 var(--space-xl);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: var(--space-xl);
  margin-bottom: var(--space-2xl);
}

@media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .footer-grid { grid-template-columns: 1fr; } }

.footer-brand__tagline {
  font-size: 0.875rem;
  color: var(--text-dim);
  line-height: 1.65;
  margin-top: var(--space-md);
  max-width: 280px;
}

.footer-col__heading {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: var(--space-md);
}

.footer-col__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.footer-col__links a {
  font-size: 0.875rem;
  color: var(--text-dim);
  text-decoration: none;
  transition: color var(--transition);
}

.footer-col__links a:hover { color: var(--text); }

/* Ecosystem footer block */
.footer-ecosystem {
  padding-top: var(--space-xl);
  border-top: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

@media (max-width: 640px) { .footer-ecosystem { grid-template-columns: 1fr; } }

.footer-eco-item {
  text-decoration: none;
}

.footer-eco-item__label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 2px;
}

.footer-eco-item__name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text);
  margin-bottom: 2px;
}

.footer-eco-item__role {
  font-size: 0.75rem;
  color: var(--text-dim);
}

/* Social icons */
.social-links {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.social-link {
  width: 36px;
  height: 36px;
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1rem;
  transition: all var(--transition);
}

.social-link:hover {
  background: var(--bg-card-2);
  border-color: var(--border-3);
  transform: translateY(-1px);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--border);
  gap: var(--space-md);
  flex-wrap: wrap;
}

.footer-bottom__copy {
  font-size: 0.8125rem;
  color: var(--text-faint);
}

/* ══════════════════════════════════════════════════════════
   SECTION SEPARATORS
══════════════════════════════════════════════════════════ */

.trust-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
  padding: var(--space-lg) 0;
}

@media (max-width: 640px) { .trust-strip { grid-template-columns: 1fr; } }

.trust-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

.trust-item__icon { font-size: 1.5rem; flex-shrink: 0; }

.trust-item__heading {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 3px;
  font-family: var(--font-body);
}

.trust-item__text { font-size: 0.8rem; color: var(--text-dim); line-height: 1.55; }

/* ══════════════════════════════════════════════════════════
   PAGE HEADER (inner pages)
══════════════════════════════════════════════════════════ */

.page-header {
  padding: var(--space-2xl) 0 var(--space-xl);
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--space-2xl);
  position: relative;
  overflow: hidden;
}

.page-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 80% at 80% 50%, rgba(0,122,46,0.04) 0%, transparent 70%);
  pointer-events: none;
}

.page-header__breadcrumb {
  font-size: 0.75rem;
  color: var(--text-faint);
  margin-bottom: var(--space-md);
}

.page-header__breadcrumb a { color: var(--gold); text-decoration: none; }

.page-header__tag {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--space-sm);
}

.page-header__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  color: var(--text);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.page-header__desc {
  font-size: 1.1rem;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.75;
}

/* ══════════════════════════════════════════════════════════
   LOADING / ANIMATIONS
══════════════════════════════════════════════════════════ */

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes countUp {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.animate-fade-up {
  animation: fadeUp 0.6s ease both;
}

.animate-delay-1 { animation-delay: 0.1s; }
.animate-delay-2 { animation-delay: 0.2s; }
.animate-delay-3 { animation-delay: 0.3s; }
.animate-delay-4 { animation-delay: 0.4s; }

/* ══════════════════════════════════════════════════════════
   GUTENBERG BLOCK OVERRIDES
══════════════════════════════════════════════════════════ */

.wp-block-image img {
  border-radius: var(--radius-md);
}

.wp-block-separator {
  border-color: var(--border);
  opacity: 1;
}

.wp-block-quote {
  border-left: 3px solid var(--gold);
  padding-left: var(--space-lg);
}

/* ══════════════════════════════════════════════════════════
   ACCESSIBILITY
══════════════════════════════════════════════════════════ */

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--gold);
  color: #000;
  padding: 8px 16px;
  font-weight: 600;
  z-index: 99999;
}

.skip-link:focus { top: 0; }

/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ══════════════════════════════════════════════════════════
   UTILITY CLASSES
══════════════════════════════════════════════════════════ */

.text-gold    { color: var(--gold) !important; }
.text-green   { color: var(--green-bright) !important; }
.text-muted   { color: var(--text-muted) !important; }
.text-dim     { color: var(--text-dim) !important; }
.text-center  { text-align: center; }
.text-right   { text-align: right; }

.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }

.flex        { display: flex; }
.flex-center { display: flex; align-items: center; }
.gap-sm      { gap: var(--space-sm); }
.gap-md      { gap: var(--space-md); }
.gap-lg      { gap: var(--space-lg); }

.hidden      { display: none !important; }
.relative    { position: relative; }
.overflow-hidden { overflow: hidden; }


/* ═══════════════════════════════════════════════════════════════════════════
   INNER PAGE SYSTEM — v1.5
   All cy- prefixed classes used by page templates
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Core layout aliases ──────────────────────────────────────────────────── */

.cy-main {
  padding-top: var(--nav-height);
  min-height: 100vh;
}

/* Container: identical to existing .container but cy- prefixed */
.cy-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}
.cy-container--narrow {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}
@media (max-width: 640px) {
  .cy-container, .cy-container--narrow { padding: 0 var(--space-md); }
}

/* Section spacing */
.cy-section         { padding: var(--space-3xl) 0; }
.cy-section--alt    { background: var(--bg-2); }
.cy-section--dark   { background: var(--bg); }

/* Typography helpers */
.cy-eyebrow {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--space-sm);
}
.cy-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 var(--space-sm);
  color: var(--text);
}
.cy-section-subtitle {
  color: var(--text-muted);
  font-size: 1.05rem;
  max-width: 600px;
  line-height: 1.7;
  margin: 0 0 var(--space-xl);
}
.cy-prose { line-height: 1.8; color: var(--text-muted); }
.cy-prose p { margin-bottom: 1.3em; }
.cy-prose strong { color: var(--text); }
.cy-link      { color: var(--gold); text-decoration: underline; }
.cy-link-arrow{ color: var(--gold); font-weight: 600; font-size: .9rem; text-decoration: none; }
.cy-link-arrow:hover { text-decoration: underline; }

/* ── Page hero ─────────────────────────────────────────────────────────────── */

.cy-page-hero {
  padding: calc(var(--nav-height) + 4rem) 0 4rem;
  border-bottom: 1px solid var(--border);
}
.cy-page-hero--inner {
  padding: calc(var(--nav-height) + 3rem) 0 3rem;
}
.cy-page-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 900;
  line-height: 1.1;
  margin: 0.5rem 0 1rem;
  color: var(--text);
}
.cy-page-hero__subtitle {
  color: var(--text-muted);
  font-size: 1.1rem;
  max-width: 580px;
  line-height: 1.7;
}

/* ── Buttons (cy- alias) ───────────────────────────────────────────────────── */

.cy-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .7rem 1.4rem;
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: opacity .2s, transform .15s;
  white-space: nowrap;
}
.cy-btn:hover    { opacity: .85; transform: translateY(-1px); }
.cy-btn--gold    { background: var(--gold); color: #000; }
.cy-btn--green   { background: var(--green); color: #fff; }
.cy-btn--outline { background: transparent; border: 1.5px solid var(--border-3); color: var(--text); }
.cy-btn--ghost   { background: transparent; color: var(--text-muted); }
.cy-btn--sm      { padding: .45rem .9rem; font-size: .8rem; }
.cy-btn--lg      { padding: .9rem 2rem; font-size: 1rem; }

/* ── Pills ─────────────────────────────────────────────────────────────────── */

.cy-pill {
  display: inline-block;
  padding: .2rem .7rem;
  border-radius: 99px;
  font-size: .75rem;
  font-weight: 600;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.cy-pill--small  { padding: .15rem .5rem; font-size: .7rem; }
.cy-pill--indigo { background: rgba(123,143,245,.12); border-color: rgba(123,143,245,.3); color: #7B8FF5; }

/* ── Stat cards ────────────────────────────────────────────────────────────── */

.cy-stats-grid       { display: grid; gap: var(--space-lg); }
.cy-stats-grid--4    { grid-template-columns: repeat(4,1fr); }
.cy-stat-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  text-align: center;
}
.cy-stat-card__number {
  display: block;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 800;
  color: var(--gold);
  margin-bottom: .4rem;
}
.cy-stat-card__label { font-size: .875rem; color: var(--text-muted); line-height: 1.5; }
.cy-stat-card__icon  { font-size: 1.75rem; display: block; margin-bottom: .75rem; }

@media (max-width: 900px) { .cy-stats-grid--4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .cy-stats-grid--4 { grid-template-columns: 1fr 1fr; } }

/* ── Post grid ─────────────────────────────────────────────────────────────── */

.cy-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.cy-post-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.cy-post-card__thumb { display: block; aspect-ratio: 16/9; overflow: hidden; }
.cy-post-card__thumb img { width:100%; height:100%; object-fit:cover; transition: transform .35s; }
.cy-post-card:hover .cy-post-card__thumb img { transform: scale(1.03); }
.cy-post-card__body  { padding: var(--space-lg); flex:1; display:flex; flex-direction:column; }
.cy-post-card__meta  { display:flex; gap:.6rem; align-items:center; font-size:.8rem; color:var(--text-muted); margin-bottom:.5rem; flex-wrap:wrap; }
.cy-post-card__cat   { background:rgba(230,168,0,.1); color:var(--gold); padding:.15rem .55rem; border-radius:99px; font-size:.7rem; font-weight:700; }
.cy-post-card__type  { font-size:.7rem; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }
.cy-post-card__title { font-size:1rem; font-weight:700; line-height:1.4; margin-bottom:.4rem; }
.cy-post-card__title a { color:var(--text); text-decoration:none; }
.cy-post-card__title a:hover { color:var(--gold); }
.cy-post-card__excerpt { font-size:.875rem; color:var(--text-muted); line-height:1.6; flex:1; margin-bottom:var(--space-sm); }
@media (max-width: 900px) { .cy-post-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .cy-post-grid { grid-template-columns: 1fr; } }

/* ── Video grid ────────────────────────────────────────────────────────────── */

.cy-video-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.cy-video-card__thumb {
  display:block; aspect-ratio:16/9; background:var(--bg-card);
  border-radius:var(--radius-md); overflow:hidden; position:relative;
}
.cy-video-card__thumb img { width:100%; height:100%; object-fit:cover; }
.cy-video-play-btn {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:2rem; opacity:0; background:rgba(0,0,0,.4); transition:opacity .2s;
}
.cy-video-card__thumb:hover .cy-video-play-btn { opacity:1; }
.cy-video-card__body  { padding: var(--space-sm) 0 0; }
.cy-video-card__title { font-size:.95rem; font-weight:600; margin:.3rem 0; line-height:1.4; }
.cy-video-card__title a { color:var(--text); text-decoration:none; }
.cy-video-card__title a:hover { color:var(--gold); }
.cy-video-card__tags  { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.4rem; }
@media (max-width: 900px) { .cy-video-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .cy-video-grid { grid-template-columns: 1fr; } }

/* ── Accordion (cy-) ───────────────────────────────────────────────────────── */

.cy-accordion-item { border-bottom: 1px solid var(--border); }
.cy-accordion-item:first-child { border-top: 1px solid var(--border); }
.cy-accordion-trigger {
  width:100%; background:none; border:none; padding:1.1rem 0;
  display:flex; justify-content:space-between; align-items:center;
  gap:1rem; cursor:pointer; color:var(--text); font-size:1rem; font-weight:600; text-align:left;
}
.cy-accordion-icon {
  width:20px; height:20px; flex-shrink:0; border-radius:50%;
  border:1.5px solid var(--border); position:relative;
}
.cy-accordion-icon::before,
.cy-accordion-icon::after { content:''; position:absolute; background:var(--text-muted); transition:transform .2s; }
.cy-accordion-icon::before { width:8px; height:1.5px; top:8px; left:4.5px; }
.cy-accordion-icon::after  { width:1.5px; height:8px; top:4.5px; left:8px; }
.cy-accordion-trigger[aria-expanded="true"] .cy-accordion-icon::after { transform:scaleY(0); }
.cy-accordion-panel[hidden] { display:none; }
.cy-accordion-panel__inner { padding: 0 0 1.25rem; }

/* ── Pagination ────────────────────────────────────────────────────────────── */

.cy-pagination { display:flex; justify-content:center; gap:.5rem; margin-top:var(--space-2xl); flex-wrap:wrap; }
.cy-pagination .page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:var(--radius-md);
  background:var(--bg-card); border:1px solid var(--border);
  color:var(--text); text-decoration:none; font-size:.875rem;
}
.cy-pagination .current { background:var(--gold); color:#000; border-color:var(--gold); font-weight:700; }

/* ── Empty state ───────────────────────────────────────────────────────────── */

.cy-empty-state { text-align:center; padding:var(--space-3xl) var(--space-xl); color:var(--text-muted); }
.cy-empty-state p { margin-bottom:var(--space-lg); }

/* ── Form system (cy-) ─────────────────────────────────────────────────────── */

.cy-form { width: 100%; }
.cy-form-group { margin-bottom: var(--space-lg); }
.cy-form-group label { display:block; font-size:.875rem; font-weight:600; margin-bottom:.4rem; color:var(--text); }
.cy-form-group input,
.cy-form-group select,
.cy-form-group textarea,
.cy-form input[type="text"],
.cy-form input[type="email"],
.cy-form input[type="number"],
.cy-form select,
.cy-form textarea {
  width:100%; background:var(--bg-card); border:1px solid var(--border-3);
  border-radius:var(--radius-md); padding:.7rem 1rem; color:var(--text);
  font-size:.95rem; font-family:var(--font-body);
  transition: border-color .2s;
}
.cy-form input:focus,
.cy-form select:focus,
.cy-form textarea:focus { outline:none; border-color:var(--gold); }
.cy-form textarea { resize: vertical; min-height: 120px; }
.cy-form-row--2   { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); margin-bottom:var(--space-lg); }
.cy-form-consent  { margin-bottom:var(--space-lg); }
.cy-form-error    { color:#e53e3e; font-size:.875rem; margin-bottom:var(--space-sm); }
.cy-form-success  { color:var(--green-bright); font-size:.95rem; padding:var(--space-md) 0; }
.cy-search-input  {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-md); padding:.65rem 1rem;
  color:var(--text); font-size:.95rem; width:100%;
}
.cy-search-input:focus { outline:none; border-color:var(--gold); }
@media (max-width:600px) { .cy-form-row--2 { grid-template-columns:1fr; } }

/* ── Breadcrumb ────────────────────────────────────────────────────────────── */

.page-header__breadcrumb { font-size:.8rem; color:var(--text-faint); margin-bottom:.75rem; }
.page-header__breadcrumb a { color:var(--text-muted); text-decoration:none; }
.cy-reading-time { font-size:.8rem; color:var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════════════
   PLEDGE PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.pledge-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: var(--space-2xl);
  align-items: start;
}
@media (max-width: 768px) {
  .pledge-layout { grid-template-columns: 1fr; gap: var(--space-xl); }
  .cy-pledge-sidebar { order: -1; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-contact-layout {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--space-2xl);
  align-items: start;
}
.cy-contact-info__heading { font-size:1.4rem; font-weight:700; margin:0 0 var(--space-xl); }
.cy-contact-info__item {
  display:flex; gap:var(--space-md); align-items:flex-start; margin-bottom:var(--space-xl);
}
.cy-contact-info__icon   { font-size:1.4rem; flex-shrink:0; margin-top:2px; }
.cy-contact-info__item strong { display:block; margin-bottom:.35rem; color:var(--text); }
.cy-contact-info__item p      { color:var(--text-muted); font-size:.9rem; line-height:1.6; margin:0 0 .75rem; }
@media (max-width: 768px) { .cy-contact-layout { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-sovereignty-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}
.cy-sovereignty-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:var(--space-xl); position:relative; overflow:hidden;
}
.cy-sovereignty-card__accent { position:absolute; top:0; left:0; right:0; height:3px; }
.cy-sovereignty-card__accent--indigo { background:#7B8FF5; }
.cy-sovereignty-card__accent--gold   { background:var(--gold); }
.cy-sovereignty-card__accent--green  { background:var(--green); }
.cy-sovereignty-card__accent--teal   { background:#4DDDD5; }
.cy-sovereignty-card__icon   { font-size:1.75rem; margin-bottom:var(--space-md); }
.cy-sovereignty-card__title  { font-size:1.05rem; font-weight:700; margin-bottom:.25rem; }
.cy-sovereignty-card__domain { font-size:.8rem; color:var(--gold); font-weight:600; margin-bottom:var(--space-sm); text-transform:uppercase; letter-spacing:.06em; }
.cy-sovereignty-card__desc   { font-size:.875rem; color:var(--text-muted); line-height:1.65; margin:0; }
.cy-founder-block { display:grid; grid-template-columns:200px 1fr; gap:var(--space-xl); align-items:start; margin-top:var(--space-xl); }
.cy-founder-block__photo img { width:100%; border-radius:var(--radius-lg); border:1px solid var(--border); }
.cy-cta-heading { font-size:clamp(1.5rem,3vw,2.2rem); font-weight:700; margin:0 0 .5rem; }
@media (max-width:900px)  { .cy-sovereignty-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px)  { .cy-sovereignty-grid { grid-template-columns:1fr; } .cy-founder-block { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════════════════
   THE SHOW PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-upcoming-episode {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:var(--space-2xl); text-align:center; max-width:680px; margin-inline:auto;
}
.cy-upcoming-episode__badge { display:inline-flex; align-items:center; gap:.5rem; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--gold); margin-bottom:var(--space-md); }
.cy-live-dot { width:8px; height:8px; background:#e53e3e; border-radius:50%; display:inline-block; animation:pulse-dot 1.4s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }
.cy-upcoming-episode__title { font-size:clamp(1.4rem,3vw,2rem); font-weight:700; margin:0 0 .5rem; }
.cy-upcoming-episode__date  { color:var(--text-muted); font-size:.95rem; margin:0 0 var(--space-xl); }
.cy-upcoming-episode__actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

.cy-show-format-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-lg); margin-top:var(--space-xl); }
.cy-show-format-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:var(--space-xl); }
.cy-show-format-card__num   { display:block; font-size:.75rem; font-weight:700; letter-spacing:.1em; color:var(--gold); margin-bottom:var(--space-sm); }
.cy-show-format-card__title { font-size:1rem; font-weight:700; margin-bottom:.4rem; }
.cy-show-format-card__desc  { font-size:.875rem; color:var(--text-muted); line-height:1.6; margin:0; }

.cy-subscribe-strip {
  display:flex; justify-content:space-between; align-items:center; gap:var(--space-xl);
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:var(--space-xl) var(--space-2xl);
}
.cy-subscribe-strip__text h3 { font-size:1.1rem; font-weight:700; margin:0 0 .35rem; }
.cy-subscribe-strip__text p  { color:var(--text-muted); font-size:.875rem; margin:0; }
.cy-subscribe-strip__actions { display:flex; gap:.75rem; flex-shrink:0; flex-wrap:wrap; }
@media (max-width:900px) { .cy-show-format-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .cy-show-format-grid { grid-template-columns:1fr; } .cy-subscribe-strip { flex-direction:column; text-align:center; padding:var(--space-xl); } }

/* ═══════════════════════════════════════════════════════════════════════════
   VIDEOS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-video-search-bar { margin-bottom:var(--space-xl); max-width:480px; }
.cy-playlist-tabs { display:flex; gap:.25rem; flex-wrap:wrap; margin-bottom:var(--space-xl); border-bottom:2px solid var(--border); }
.cy-playlist-tab {
  background:none; border:none; border-bottom:3px solid transparent; margin-bottom:-2px;
  padding:.6rem 1rem; color:var(--text-muted); font-size:.875rem; font-weight:600; cursor:pointer;
  transition:color .2s, border-color .2s;
}
.cy-playlist-tab.active,
.cy-playlist-tab[aria-selected="true"] { color:var(--gold); border-bottom-color:var(--gold); }
.cy-tab-panel[hidden]  { display:none; }
.cy-video-no-results   { padding:3rem 0; text-align:center; color:var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════════════
   THE NUMBERS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-numbers-hero { text-align:center; padding:var(--space-2xl) 0; }
.cy-numbers-hero__number {
  display:block; font-size:clamp(3rem,8vw,6rem); font-weight:800;
  color:var(--gold); line-height:1; margin-bottom:.5rem;
}
.cy-numbers-hero__label { color:var(--text-muted); font-size:1rem; }
.cy-progress-outer { background:var(--bg-card); border-radius:99px; height:10px; max-width:560px; margin-inline:auto; overflow:hidden; margin-top:var(--space-lg); }
.cy-progress-bar   { height:100%; background:linear-gradient(to right,var(--green),var(--gold)); border-radius:99px; transition:width 1s ease; }
.cy-progress-label { color:var(--text-muted); font-size:.9rem; margin-top:.6rem; text-align:center; }

.cy-country-breakdown { display:flex; flex-direction:column; gap:var(--space-sm); margin-top:var(--space-xl); }
.cy-country-row { display:grid; grid-template-columns:160px 1fr 60px 52px; gap:var(--space-sm); align-items:center; font-size:.875rem; }
.cy-country-row__name  { font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cy-country-row__bar-wrap { background:var(--bg-card); border-radius:99px; height:6px; overflow:hidden; }
.cy-country-row__bar   { height:100%; background:var(--gold); border-radius:99px; }
.cy-country-row__count { color:var(--text-muted); text-align:right; }
.cy-country-row__pct   { color:var(--text-faint); text-align:right; font-size:.8rem; }
@media (max-width:768px) { .cy-country-row { grid-template-columns:130px 1fr 50px; } .cy-country-row__pct { display:none; } }

.cy-milestone { display:flex; gap:var(--space-md); align-items:flex-start; padding:var(--space-lg) 0; border-bottom:1px solid var(--border); }
.cy-milestone:last-child { border-bottom:none; }
.cy-milestone__marker {
  width:32px; height:32px; border-radius:50%; background:var(--bg-card); border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700; flex-shrink:0; color:var(--text-muted);
}
.cy-milestone--achieved .cy-milestone__marker { background:var(--green); border-color:var(--green); color:#fff; }
.cy-milestone--close    .cy-milestone__marker { border-color:var(--gold); color:var(--gold); }
.cy-milestone__label  { font-weight:700; display:block; margin-bottom:.25rem; }
.cy-milestone__action { font-size:.875rem; color:var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════════════════
   LAND COOPERATIVE PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-land-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); margin-top:var(--space-xl); }
.cy-land-tier {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:var(--space-xl); display:flex; flex-direction:column; position:relative;
}
.cy-land-tier--featured { border-color:var(--gold); background:linear-gradient(180deg,rgba(230,168,0,.04) 0%,var(--bg-card) 100%); }
.cy-land-tier__badge {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--gold); color:#000; font-size:.7rem; font-weight:700;
  padding:.25rem .75rem; border-radius:99px; white-space:nowrap; letter-spacing:.05em;
}
.cy-land-tier__header { margin-bottom:var(--space-lg); }
.cy-land-tier__icon   { font-size:1.75rem; display:block; margin-bottom:var(--space-sm); }
.cy-land-tier__name   { font-size:1.1rem; font-weight:700; margin-bottom:.3rem; }
.cy-land-tier__price  { font-size:.85rem; color:var(--gold); font-weight:600; }
.cy-land-tier__perks  { list-style:none; padding:0; margin:0 0 auto; }
.cy-land-tier__perks li { padding:.5rem 0 .5rem 1.25rem; border-bottom:1px solid var(--border); font-size:.875rem; color:var(--text-muted); position:relative; }
.cy-land-tier__perks li:last-child { border-bottom:none; }
.cy-land-tier__perks li::before { content:'✓'; color:var(--green); position:absolute; left:0; font-weight:700; }
.cy-land-tier .cy-btn { margin-top:var(--space-lg); }
.cy-land-table-wrap { overflow-x:auto; margin-top:var(--space-xl); }
.cy-land-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.cy-land-table th { background:var(--bg-card); border-bottom:2px solid var(--border); padding:.75rem 1rem; text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); font-weight:700; }
.cy-land-table td { padding:.75rem 1rem; border-bottom:1px solid var(--border); color:var(--text-muted); vertical-align:middle; }
.cy-land-table tr:last-child td { border-bottom:none; }
.cy-status { display:inline-block; padding:.2rem .65rem; border-radius:99px; font-size:.75rem; font-weight:700; }
.cy-status--open   { background:rgba(0,122,46,.15); color:var(--green); }
.cy-status--coming { background:rgba(230,168,0,.12); color:var(--gold); }
@media (max-width:768px) { .cy-land-tiers { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════════════════
   UPDATES PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-updates-timeline { position:relative; padding-left:2.5rem; }
.cy-updates-timeline::before { content:''; position:absolute; left:8px; top:0; bottom:0; width:2px; background:var(--border); }
.cy-update-item { position:relative; margin-bottom:var(--space-2xl); }
.cy-update-item__marker { position:absolute; left:-2.1rem; top:4px; width:14px; height:14px; border-radius:50%; background:var(--gold); border:3px solid var(--bg); }
.cy-update-item__header { display:flex; gap:var(--space-sm); align-items:center; margin-bottom:.5rem; flex-wrap:wrap; }
.cy-update-item__date   { font-size:.8rem; color:var(--text-muted); }
.cy-update-badge { font-size:.7rem; font-weight:700; padding:.15rem .55rem; border-radius:99px; text-transform:uppercase; letter-spacing:.05em; }
.cy-update-badge--gold    { background:rgba(230,168,0,.15); color:var(--gold); }
.cy-update-badge--green   { background:rgba(0,122,46,.15); color:var(--green); }
.cy-update-badge--indigo  { background:rgba(123,143,245,.12); color:#7B8FF5; }
.cy-update-badge--teal    { background:rgba(77,221,213,.12); color:#4DDDD5; }
.cy-update-badge--default { background:var(--bg-card); color:var(--text-muted); }
.cy-update-item__title    { font-size:1.1rem; font-weight:700; margin-bottom:.4rem; }
.cy-update-item__title a  { color:var(--text); text-decoration:none; }
.cy-update-item__title a:hover { color:var(--gold); }
.cy-update-item__excerpt  { font-size:.9rem; color:var(--text-muted); line-height:1.65; }

/* ═══════════════════════════════════════════════════════════════════════════
   TIMELINE (Land, DIB, The Show)
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-timeline { position:relative; padding-left:3rem; }
.cy-timeline::before { content:''; position:absolute; left:12px; top:0; bottom:0; width:2px; background:linear-gradient(to bottom,var(--gold),var(--green)); opacity:.3; }
.cy-timeline-step { position:relative; margin-bottom:var(--space-2xl); }
.cy-timeline-step__marker { position:absolute; left:-2.7rem; top:3px; background:var(--bg-card); border:2px solid var(--gold); border-radius:99px; padding:.2rem .55rem; font-size:.7rem; font-weight:700; color:var(--gold); white-space:nowrap; }
.cy-timeline-step__content h3 { font-size:1.05rem; font-weight:700; margin-bottom:.4rem; }
.cy-timeline-step__content p  { font-size:.9rem; color:var(--text-muted); line-height:1.65; margin:0; }
.cy-timeline-step--final .cy-timeline-step__marker { background:var(--gold); color:#000; }

/* ═══════════════════════════════════════════════════════════════════════════
   NEWSLETTER — standalone page + homepage form
   ═══════════════════════════════════════════════════════════════════════════ */

/* Standalone newsletter page */
.cy-section--newsletter-standalone {
  min-height: calc(100vh - var(--nav-height));
  display: flex;
  align-items: center;
}
.cy-section--newsletter-standalone > .cy-container--narrow {
  width: 100%;
  text-align: center;
}
/* Form inside the newsletter page: stack + center */
.cy-section--newsletter-standalone .newsletter-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  max-width: 440px;
  margin-inline: auto;
}
.cy-section--newsletter-standalone .newsletter-row .cy-form__input,
.cy-section--newsletter-standalone .newsletter-row input[type="email"],
.cy-section--newsletter-standalone .newsletter-row input[type="text"] {
  width: 100%;
}
.cy-section--newsletter-standalone .newsletter-row .btn,
.cy-section--newsletter-standalone .newsletter-row button {
  width: 100%;
}

/* Homepage newsletter section 2-col → stack */
.newsletter-hp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
@media (max-width: 720px) {
  .newsletter-hp-grid { grid-template-columns: 1fr; gap: var(--space-xl); text-align: center; }
  .newsletter-hp-grid .newsletter-row { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOR-WHOM SECTION (homepage)
   ═══════════════════════════════════════════════════════════════════════════ */

.for-whom-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.for-whom-card { padding:var(--space-xl) var(--space-lg); border-right:1px solid var(--border); }
.for-whom-card:last-child { border-right:none; }
.for-whom-flag { font-size:2rem; margin-bottom:var(--space-md); line-height:1; }
.for-whom-text { font-size:.9375rem; color:var(--text-muted); line-height:1.75; margin:0; }
@media (max-width:720px) {
  .for-whom-grid { grid-template-columns:1fr; }
  .for-whom-card { border-right:none; border-bottom:1px solid var(--border); padding:var(--space-lg); text-align:center; }
  .for-whom-card:last-child { border-bottom:none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   HERO — overlay & map fixes
   ═══════════════════════════════════════════════════════════════════════════ */

.hero--has-bg { background-size:cover; background-position:center; background-repeat:no-repeat; }

/* Explicit overlay div placed in hero HTML — reliable z-index control */
.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    105deg,
    rgba(0,0,0,0.88) 0%,
    rgba(0,0,0,0.72) 45%,
    rgba(0,0,0,0.45) 75%,
    rgba(0,0,0,0.22) 100%
  );
  pointer-events: none;
}
/* Map: subtle ghost on photo backgrounds */
.hero__map    { z-index: 2; }
.hero--has-bg .hero__map { opacity: 0.12; }
/* Content above everything */
.hero__content { position:relative; z-index:3; }
@media (max-width:768px) { .hero__map { width:90vw; right:-10%; opacity:.5; } }

/* ═══════════════════════════════════════════════════════════════════════════
   SINGLE POST EXTRAS
   ═══════════════════════════════════════════════════════════════════════════ */

.cy-related-posts { background:var(--bg-2); padding:var(--space-3xl) 0; border-top:1px solid var(--border); }
.cy-pull-quote { border-left:4px solid var(--gold); margin:var(--space-2xl) 0; padding:var(--space-lg) var(--space-xl); background:var(--bg-card); border-radius:0 var(--radius-lg) var(--radius-lg) 0; }
.cy-pull-quote blockquote { font-size:1.2rem; font-style:italic; line-height:1.6; margin:0 0 var(--space-md); color:var(--text); }
.cy-single-cta { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:var(--space-2xl); text-align:center; margin:var(--space-2xl) 0; }
.cy-single-cta__label   { color:var(--gold); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:.5rem; }
.cy-single-cta__heading { font-size:1.4rem; font-weight:700; margin-bottom:.5rem; }
.cy-single-cta__text    { color:var(--text-muted); font-size:.9rem; max-width:480px; margin:0 auto var(--space-lg); line-height:1.6; }
.cy-post-author { display:flex; gap:var(--space-md); align-items:center; padding:var(--space-xl) 0; border-top:1px solid var(--border); margin-top:var(--space-xl); }
.cy-post-author__avatar { border-radius:50%; width:64px; height:64px; flex-shrink:0; }
.cy-post-author__name   { display:block; font-weight:700; margin-bottom:.25rem; }
.cy-post-author__bio    { font-size:.875rem; color:var(--text-muted); }
.cy-single-hero { padding:4rem 0 2.5rem; border-bottom:1px solid var(--border); }
.cy-single-hero__meta { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; margin-bottom:.75rem; font-size:.8rem; color:var(--text-muted); }
.cy-single-hero__title { font-family:var(--font-display); font-size:clamp(1.6rem,4vw,2.75rem); font-weight:800; line-height:1.15; margin-bottom:.75rem; }



/* ═══════════════════════════════════════════════════════════════════════════
   v1.7.1 — NEWSLETTER LAYOUT FIXES
   1. Footer newsletter: card + content centered on every page
   2. Homepage newsletter: inputs stacked vertically so they have breathing
      room inside the narrow right-hand grid column
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Footer newsletter — centered ─────────────────────────────────────── */
.footer-newsletter-wrap .newsletter-inline {
  margin: 0 auto;           /* center the card itself */
  text-align: center;       /* center heading + sub + notice */
}
.footer-newsletter-wrap .newsletter-row {
  justify-content: center;
}
.footer-newsletter-wrap .form-notice {
  text-align: center;
}

/* ── 2. Homepage newsletter — stacked, roomy ─────────────────────────────── */
.newsletter-hp-form .newsletter-inline {
  max-width: 100%;          /* fill the grid column instead of squeezing */
}
.newsletter-hp-form .newsletter-row {
  flex-direction: column;   /* First name / Email / Subscribe each on a line */
  gap: var(--space-md);
}
.newsletter-hp-form .newsletter-row .cy-form__input,
.newsletter-hp-form .newsletter-row input[type="text"],
.newsletter-hp-form .newsletter-row input[type="email"] {
  width: 100%;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;  /* a little extra height = friendlier targets */
}
.newsletter-hp-form .newsletter-row .btn,
.newsletter-hp-form .newsletter-row button {
  width: 100%;
}

/* ════════════════════════════════════════════════════════════════════════════
   FOCUSED THEME ADDITIONS (v1.8 — Solar business + Land cooperative)
   Defines the previously-undefined --cy-* variables and adds the components
   used by the rebuilt homepage, land, about and newsletter templates.
   ════════════════════════════════════════════════════════════════════════════ */

:root {
    --cy-card:        var(--bg-card, #1A1A1A);
    --cy-border:      var(--border, #242424);
    --cy-text-muted:  var(--text-muted, #B8B0A4);
    --cy-radius-lg:   var(--radius-lg, 16px);
}

/* ── Two paths: Solar + Land ─────────────────────────────────────────────── */
.cy-paths {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-lg, 24px);
    max-width: 980px;
    margin: 0 auto;
}
@media (max-width: 760px) {
    .cy-paths { grid-template-columns: 1fr; }
}
.cy-path-card {
    background: var(--bg-card, #1A1A1A);
    border: 1px solid var(--border, #242424);
    border-top: 3px solid var(--border, #242424);
    border-radius: var(--radius-lg, 16px);
    padding: var(--space-xl, 32px);
    display: flex;
    flex-direction: column;
    transition: transform var(--transition, .2s ease), border-color var(--transition, .2s ease);
}
.cy-path-card:hover { transform: translateY(-3px); }
.cy-path-card--solar { border-top-color: var(--gold, #E6A800); }
.cy-path-card--land  { border-top-color: var(--green, #007A2E); }
.cy-path-card__icon { font-size: 2.25rem; line-height: 1; margin-bottom: var(--space-md, 16px); }
.cy-path-card__tag {
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--text-dim, #8A8276);
    margin-bottom: var(--space-sm, 8px);
}
.cy-path-card--solar .cy-path-card__tag { color: var(--gold, #E6A800); }
.cy-path-card--land  .cy-path-card__tag { color: var(--green-bright, #4DDB88); }
.cy-path-card__title {
    font-family: var(--font-display, serif);
    font-size: 1.4rem;
    color: var(--text, #F5F0E8);
    margin: 0 0 var(--space-sm, 8px);
    line-height: 1.25;
}
.cy-path-card__text {
    color: var(--text-muted, #B8B0A4);
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0 0 var(--space-lg, 24px);
    flex: 1;
}
.cy-path-card .btn,
.cy-path-card .cy-link-arrow { align-self: flex-start; }

/* ── Weekly newsletter: what's inside ────────────────────────────────────── */
.cy-weekly-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg, 24px);
    margin-top: var(--space-xl, 32px);
}
@media (max-width: 760px) {
    .cy-weekly-grid { grid-template-columns: 1fr; }
}
.cy-weekly-item {
    background: var(--bg-card, #1A1A1A);
    border: 1px solid var(--border, #242424);
    border-radius: var(--radius-lg, 16px);
    padding: var(--space-lg, 24px);
}
.cy-weekly-item__icon { font-size: 1.75rem; margin-bottom: var(--space-sm, 8px); }
.cy-weekly-item h3 {
    font-family: var(--font-display, serif);
    font-size: 1.1rem;
    color: var(--text, #F5F0E8);
    margin: 0 0 var(--space-sm, 8px);
}
.cy-weekly-item p {
    color: var(--text-muted, #B8B0A4);
    font-size: 0.9rem;
    line-height: 1.65;
    margin: 0;
}

/* ── Note / callout box ──────────────────────────────────────────────────── */
.cy-note {
    background: var(--bg-2, #111);
    border: 1px solid var(--border, #242424);
    border-left: 3px solid var(--gold, #E6A800);
    border-radius: var(--radius-md, 12px);
    padding: var(--space-lg, 24px) var(--space-xl, 32px);
}
.cy-note h3 {
    font-family: var(--font-display, serif);
    color: var(--text, #F5F0E8);
    font-size: 1.15rem;
    margin-bottom: var(--space-sm, 8px);
}
