/*
Theme Name: WIN LA Modern
Theme URI: https://winla.org/
Author: WIN Los Angeles
Description: A modern, animated WordPress block theme for WIN Los Angeles.
Version: 2.4.0
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 8.0
Text Domain: winla-modern
*/

/* ─── Tokens ─── */

:root {
  --win-green: #b7cf5a;
  --win-green-deep: #8fad2f;
  --win-lime: #d4e86a;
  --win-teal-mid: #00bfa0;
  --win-teal: #00a69c;
  --win-teal-deep: #0d7774;
  --win-blue: #4a9eff;
  --win-blue-soft: #7bb8ff;
  --win-ink: #102522;
  --win-muted: #5a6d69;
  --win-cream: #f5f2ee;
  --win-soft: #ede9e2;
  --win-line: #d8e0db;
  --win-white: #ffffff;
  --win-max: 1180px;
  --win-radius: 24px;
  --win-radius-lg: 38px;
  --win-radius-xl: 56px;
  --win-radius-pill: 999px;
  --win-shadow-sm: 0 4px 24px rgba(16, 37, 34, 0.06);
  --win-shadow-md: 0 16px 48px rgba(16, 37, 34, 0.1);
  --win-shadow-lg: 0 28px 72px rgba(16, 37, 34, 0.14);
  --win-glass-bg: rgba(255, 255, 255, 0.72);
  --win-glass-border: rgba(255, 255, 255, 0.18);
  --win-glass-shadow: 0 8px 32px rgba(0, 166, 156, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
  --win-glow-teal: 0 0 60px rgba(0, 166, 156, 0.15);
  --win-glow-green: 0 0 60px rgba(183, 207, 90, 0.12);
  --win-glow-blue: 0 0 60px rgba(74, 158, 255, 0.1);
  --win-font: "Montserrat", system-ui, -apple-system, sans-serif;
  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ─── Reset ─── */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(183, 207, 90, 0.13), transparent 30vw),
    radial-gradient(circle at 82% 12%, rgba(0, 166, 156, 0.11), transparent 34vw),
    linear-gradient(180deg, #fbf8f0 0%, var(--win-cream) 42%, #eef0e8 100%);
  background-attachment: fixed;
  color: var(--win-ink);
  font-family: var(--win-font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--noise);
  opacity: 0.025;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: overlay;
}

img { display: block; max-width: 100%; height: auto; }
a { color: var(--win-teal-deep); text-decoration: none; }
a:hover { color: var(--win-teal); }

/* Visually hidden skip link – appears on keyboard focus only */
.winla-skip-link {
  position: absolute;
  top: -40px;
  left: 8px;
  z-index: 9999;
  padding: 8px 14px;
  border-radius: var(--win-radius);
  background: var(--win-ink);
  color: var(--win-white);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: top 200ms ease;
}
.winla-skip-link:focus { top: 8px; }

body .is-layout-constrained > *,
.winla-container {
  width: min(100% - 64px, var(--win-max));
  margin-right: auto;
  margin-left: auto;
}

.wp-site-blocks,
.winla-page { overflow-x: clip; }

/* ─── Scroll progress bar ─── */

.win-progress {
  position: fixed;
  top: 0; left: 0;
  z-index: 200;
  height: 2px;
  width: 0%;
  background: var(--win-teal);
  pointer-events: none;
  will-change: width;
}

/* ─── Top bar ─── */

.winla-topbar {
  background: linear-gradient(90deg, #0b2623 0%, #0d3330 50%, #0b2623 100%);
  color: var(--win-white);
  font-size: 0.78rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.winla-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  min-height: 36px;
}

.winla-topbar a {
  color: rgba(255,255,255,0.65);
  transition: color 200ms;
}
.winla-topbar a:hover { color: var(--win-white); }

.winla-topbar__meta,
.winla-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.winla-social { gap: 6px; }

.winla-social__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.88);
  text-decoration: none;
  transition: background 200ms, color 200ms, transform 220ms, box-shadow 220ms, border-color 200ms;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.winla-social__icon svg {
  display: block;
  flex-shrink: 0;
}
.winla-social__icon:hover {
  background: rgba(0, 166, 156, 0.25);
  border-color: rgba(0, 166, 156, 0.4);
  color: var(--win-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,166,156,0.35), var(--win-glow-teal);
}

/* ─── Header ─── */

.winla-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--win-glass-bg);
  border-bottom: 1px solid var(--win-glass-border);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
  transition: background 350ms ease, box-shadow 350ms ease, border-color 350ms ease, -webkit-backdrop-filter 350ms ease, backdrop-filter 350ms ease;
}

.winla-header.is-scrolled {
  background: rgba(245,242,238,0.75);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
  border-bottom-color: transparent;
  box-shadow: 0 2px 32px rgba(0, 166, 156, 0.06), 0 1px 16px rgba(16,37,34,0.04);
}

.admin-bar .winla-header { top: 32px; }

.winla-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 72px;
}

.winla-brand {
  display: inline-flex;
  align-items: center;
  width: 180px;
  flex-shrink: 0;
  padding: 10px 0;
}
.winla-brand img,
.winla-footer__brand img { width: 100%; height: auto; }

.winla-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Nav */

.winla-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}

.winla-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  color: var(--win-muted);
  font-size: 0.87rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 200ms;
}

.winla-nav a::after {
  content: '';
  position: absolute;
  bottom: 3px; left: 10px; right: 10px;
  height: 1.5px;
  background: var(--win-teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 280ms cubic-bezier(0.22,1,0.36,1);
}

.winla-nav a:hover { color: var(--win-ink); }
.winla-nav a:hover::after { transform: scaleX(1); }

.winla-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 0; padding: 0;
  list-style: none;
}

.winla-nav__item { position: relative; }

.winla-nav__submenu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 100;
  min-width: 220px;
  background: var(--win-white);
  border: 1px solid var(--win-line);
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(16,37,34,0.1);
  padding: 8px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 200ms ease, transform 200ms ease, visibility 200ms ease;
}

.winla-nav__item.has-submenu:hover > .winla-nav__submenu,
.winla-nav__item.has-submenu:focus-within > .winla-nav__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.winla-nav__submenu a {
  display: block;
  padding: 8px 18px;
  color: var(--win-ink);
  font-size: 0.87rem;
  font-weight: 500;
  white-space: nowrap;
  transition: background 140ms, color 140ms;
}
.winla-nav__submenu a::after { display: none; }
.winla-nav__submenu a:hover {
  background: var(--win-cream);
  color: var(--win-teal-deep);
}

/* ─── Buttons ─── */

.winla-button,
.wp-block-button.winla-button { margin: 0; }

.winla-button a,
.winla-button .wp-block-button__link,
.wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  border: 0;
  border-radius: var(--win-radius-pill);
  background: linear-gradient(135deg, var(--win-teal) 0%, var(--win-teal-deep) 100%);
  color: var(--win-white);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
  padding: 12px 26px;
  text-decoration: none;
  box-shadow: 0 4px 20px rgba(0, 166, 156, 0.25), 0 0 30px rgba(0, 166, 156, 0.1);
  transition: background 200ms, transform 220ms cubic-bezier(0.34,1.4,0.64,1), box-shadow 200ms;
  will-change: transform;
}

.winla-button a:hover,
.winla-button .wp-block-button__link:hover,
.wp-element-button:hover {
  background: linear-gradient(135deg, var(--win-teal) 0%, #0a5c58 100%);
  color: var(--win-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0, 166, 156, 0.35), 0 0 40px rgba(0, 166, 156, 0.15), var(--win-glow-teal);
}

.winla-button--light a,
.winla-button--light .wp-block-button__link {
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: var(--win-white);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.winla-button--light a:hover,
.winla-button--light .wp-block-button__link:hover {
  background: rgba(255,255,255,0.25);
  transform: translateY(-2px);
  box-shadow: none;
}

.winla-button--green a,
.winla-button--green .wp-block-button__link {
  background: linear-gradient(135deg, #c8de6e 0%, var(--win-green) 50%, var(--win-green-deep) 100%);
  color: var(--win-ink);
  box-shadow: 0 4px 16px rgba(143, 173, 47, 0.32);
}
.winla-button--green a:hover,
.winla-button--green .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--win-green) 0%, var(--win-green-deep) 100%);
  color: var(--win-ink);
  box-shadow: 0 10px 32px rgba(143, 173, 47, 0.38);
}

/* ─── Donate button particle hue ─── */

.winla-button--donate a,
.winla-button--donate .wp-block-button__link {
  position: relative;
  overflow: visible;
}

.winla-button--donate a::after,
.winla-button--donate .wp-block-button__link::after {
  content: '';
  position: absolute;
  inset: -10px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 28%, rgba(200, 222, 110, 0.55) 0%, transparent 22%),
    radial-gradient(circle at 82% 22%, rgba(0, 166, 156, 0.45) 0%, transparent 20%),
    radial-gradient(circle at 75% 78%, rgba(183, 207, 90, 0.50) 0%, transparent 24%),
    radial-gradient(circle at 25% 72%, rgba(0, 191, 154, 0.40) 0%, transparent 18%),
    radial-gradient(circle at 50% 15%, rgba(120, 200, 80, 0.35) 0%, transparent 15%),
    radial-gradient(circle at 55% 88%, rgba(0, 220, 180, 0.30) 0%, transparent 16%);
  opacity: 0;
  transform: scale(0.88);
  transition: opacity 500ms cubic-bezier(0.22, 1, 0.36, 1), transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  z-index: -1;
}

.winla-button--donate a:hover::after,
.winla-button--donate .wp-block-button__link:hover::after {
  opacity: 1;
  transform: scale(1.08);
}

/* ─── Kicker ─── */

.winla-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 14px;
  color: var(--win-teal-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
}

.winla-kicker::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 2px;
  border-radius: 1px;
  background: var(--win-teal);
  flex-shrink: 0;
}

.winla-band .winla-kicker,
.winla-section--teal .winla-kicker {
  color: rgba(255,255,255,0.55);
}
.winla-band .winla-kicker::before,
.winla-section--teal .winla-kicker::before {
  background: var(--win-green);
}

.winla-section--green .winla-kicker {
  color: rgba(16,37,34,0.55);
}
.winla-section--green .winla-kicker::before {
  background: var(--win-ink);
  opacity: 0.4;
}

.winla-hero .winla-kicker,
.winla-kicker--hero {
  padding: 9px 16px 9px 14px;
  border-radius: var(--win-radius-pill);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(0, 166, 156, 0.14);
  box-shadow: var(--win-shadow-sm);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.winla-hero .winla-kicker::before,
.winla-kicker--hero::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--win-teal), var(--win-green));
}

.winla-text-gradient {
  background: linear-gradient(
    125deg,
    var(--win-teal-deep) 0%,
    var(--win-teal) 35%,
    var(--win-green-deep) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ─── Hero — bilingual headline ─── */

.winla-hero-title {
  max-width: 12ch;
  margin: 0;
  color: var(--win-white);
  font-size: clamp(2.35rem, 5.2vw, 4rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.winla-hero-title__cycle {
  display: grid;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.25);
}

.winla-hero-lang {
  display: grid;
}

.winla-hero-lang__group {
  grid-area: 1 / 1;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.85s ease,
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.winla-hero-lang__group.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.winla-hero-lang__group .winla-hero-title {
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.25);
}

.winla-hero-title__phrase {
  grid-area: 1 / 1;
  margin: 0;
  color: var(--win-white);
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.85s ease,
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.winla-hero-title__phrase.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ─── Hero — full-bleed scrolling images ─── */

.winla-hero-stage {
  position: relative;
  min-height: clamp(480px, 72vh, 680px);
  overflow: hidden;
  background: var(--win-ink);
}

.winla-hero-stage::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.15) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

.winla-hero-stage::after {
  content: '';
  position: absolute;
  bottom: -150px;
  left: -150px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(74, 158, 255, 0.1) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

.winla-hero__slides {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.winla-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
  will-change: opacity;
}

.winla-hero__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.winla-hero__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.winla-hero__slide.is-active img {
  animation: winla-hero-kenburns 12s ease-out forwards;
}

@keyframes winla-hero-kenburns {
  from { transform: scale(1); }
  to { transform: scale(1.06); }
}

.winla-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(105deg, rgba(11, 38, 35, 0.88) 0%, rgba(11, 38, 35, 0.55) 42%, rgba(11, 38, 35, 0.2) 68%, transparent 100%),
    linear-gradient(180deg, transparent 55%, rgba(11, 38, 35, 0.45) 100%);
  pointer-events: none;
}

.winla-hero-stage .winla-hero__content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(32px, 5vw, 48px);
  padding-bottom: clamp(72px, 10vw, 100px);
}

.winla-hero__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(28px, 5vw, 56px);
  width: 100%;
}

.winla-hero__copy {
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(56ch, 100%);
}

.winla-hero__copy .winla-hero-lang {
  width: 100%;
}

.winla-hero-stage h1:not(.winla-hero-title),
.winla-hero h1:not(.winla-hero-title),
.winla-heading-xl {
  max-width: 12ch;
  margin: 0;
  color: var(--win-white);
  font-size: clamp(2.35rem, 5.2vw, 4rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.25);
}

.winla-hero-title .winla-highlight-text--hero,
.winla-hero-stage h1 .winla-highlight-text--hero,
.winla-hero h1 .winla-highlight-text {
  display: inline;
  color: var(--win-green);
  font-style: italic;
  background: none;
  animation: none;
  filter: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.winla-hero-stage .winla-hero__lede {
  max-width: 44ch;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.7;
}

.winla-hero-lang__group .winla-hero__lede {
  margin-top: 20px;
}

.winla-button--hero-cta a,
.winla-button--hero-cta .wp-block-button__link {
  background: linear-gradient(135deg, #c8de6e 0%, var(--win-green) 55%, var(--win-green-deep) 100%);
  border-radius: 999px;
  padding: 14px 30px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

.winla-button--hero-cta a:hover,
.winla-button--hero-cta .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--win-green) 0%, var(--win-green-deep) 100%);
  transform: translateY(-2px);
}

.winla-button--outline-light a,
.winla-button--outline-light .wp-block-button__link {
  background: rgba(255, 255, 255, 0.1);
  border: 1.5px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  color: var(--win-white);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.winla-button--outline-light a:hover,
.winla-button--outline-light .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: var(--win-white);
  color: var(--win-white);
}

/* ─── Hero lede word-by-word opacity reveal (Attio-style) ─── */

.winla-hero__lede[data-animate] .word {
  display: inline-block;
  opacity: 0.06;
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--word-index) * 0.09s);
}

.winla-hero__lede[data-animate].is-visible .word {
  opacity: 1;
}

/* Legacy split hero (inner pages) */
.winla-hero {
  position: relative;
  padding: clamp(56px, 8vw, 88px) 0;
  background: var(--win-white);
  border-bottom: 1px solid var(--win-line);
}

.winla-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, 400px);
  gap: clamp(40px, 6vw, 72px);
  align-items: center;
}

.winla-hero__media {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  max-height: 460px;
}

.winla-hero:not(.winla-hero-stage) h1 {
  color: var(--win-ink);
  max-width: 14ch;
}

.winla-lede {
  max-width: 46ch;
  margin: 22px 0 0;
  color: var(--win-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

.winla-actions,
.wp-block-buttons.winla-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.winla-actions--hero {
  flex: 0 0 auto;
  margin-top: 0;
  align-self: flex-end;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 12px;
}

/* ─── Impact bar ─── */

.winla-impact-bar {
  background: var(--win-teal-deep);
  color: var(--win-white);
  padding: 28px 0;
}

.winla-impact-bar--overlap {
  position: relative;
  z-index: 4;
  margin-top: -56px;
  padding: 0 0 40px;
  background: transparent;
}

.winla-impact-bar--overlap .winla-impact-bar__grid {
  gap: clamp(12px, 2vw, 20px);
}

.winla-impact-bar--overlap .winla-impact-bar__item {
  padding: 30px 28px 28px;
  border-radius: var(--win-radius-lg);
  position: relative;
  overflow: hidden;
  border: 1.5px solid rgba(255, 255, 255, 0.38);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, 0.22),
    0 4px 12px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.40);
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 400ms ease, border-color 400ms ease;
}

.winla-impact-bar--overlap .winla-impact-bar__item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: var(--win-radius-lg) var(--win-radius-lg) 0 0;
}

.winla-impact-bar--overlap .winla-impact-bar__item:hover {
  transform: translateY(-6px);
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow:
    0 28px 64px rgba(0, 0, 0, 0.28),
    0 6px 16px rgba(0, 0, 0, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.winla-impact-bar--overlap .winla-impact-bar__item--teal {
  background:
    linear-gradient(160deg, rgba(0, 166, 156, 0.68) 0%, rgba(0, 100, 120, 0.52) 100%);
}
.winla-impact-bar--overlap .winla-impact-bar__item--teal::before {
  background: linear-gradient(90deg, var(--win-teal), #00d4c4);
  box-shadow: 0 0 20px rgba(0, 166, 156, 0.55);
}

.winla-impact-bar--overlap .winla-impact-bar__item--green {
  background:
    linear-gradient(160deg, rgba(0, 191, 154, 0.62) 0%, rgba(0, 140, 110, 0.48) 100%);
}
.winla-impact-bar--overlap .winla-impact-bar__item--green::before {
  background: linear-gradient(90deg, var(--win-teal-mid), var(--win-green));
  box-shadow: 0 0 20px rgba(0, 191, 154, 0.55);
}

.winla-impact-bar--overlap .winla-impact-bar__item--lime {
  background:
    linear-gradient(160deg, rgba(80, 160, 70, 0.62) 0%, rgba(60, 130, 50, 0.48) 100%);
}
.winla-impact-bar--overlap .winla-impact-bar__item--lime::before {
  background: linear-gradient(90deg, var(--win-green), var(--win-lime));
  box-shadow: 0 0 20px rgba(183, 207, 90, 0.55);
}

.winla-impact-bar__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 3vw, 24px);
}

.winla-impact-bar__item strong {
  display: block;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--win-white);
  letter-spacing: -0.02em;
}

.winla-impact-bar__item span {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

/* ─── Eyebrow labels ─── */

.winla-eyebrow {
  display: block;
  margin: 0 0 14px;
  color: var(--win-teal-deep);
  font-family: var(--win-font);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.3;
}

.winla-eyebrow::before { display: none; }

.winla-eyebrow--light { color: rgba(255, 255, 255, 0.65); }

/* ─── Title pills ─── */

.winla-title-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 7px 16px 7px 11px;
  border-radius: var(--win-radius-pill);
  font-family: var(--win-font);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--win-white);
  background: linear-gradient(135deg, rgba(0, 166, 156, 0.85) 0%, rgba(0, 100, 120, 0.85) 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow:
    0 6px 20px rgba(0, 166, 156, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.30);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  backdrop-filter: blur(8px) saturate(140%);
}

.winla-title-pill svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.winla-title-pill--teal {
  background: linear-gradient(135deg, rgba(0, 166, 156, 0.88) 0%, rgba(0, 100, 120, 0.88) 100%);
  box-shadow:
    0 6px 20px rgba(0, 166, 156, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

.winla-title-pill--green {
  background: linear-gradient(135deg, rgba(0, 191, 154, 0.88) 0%, rgba(0, 140, 110, 0.88) 100%);
  box-shadow:
    0 6px 20px rgba(0, 191, 154, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

.winla-title-pill--lime {
  background: linear-gradient(135deg, rgba(120, 180, 60, 0.88) 0%, rgba(80, 140, 30, 0.88) 100%);
  box-shadow:
    0 6px 20px rgba(120, 180, 60, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

/* ─── Button variants ─── */

.winla-button--primary a,
.winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--win-teal) 0%, var(--win-teal-deep) 100%);
  border-radius: var(--win-radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 4px 16px rgba(0, 166, 156, 0.22),
    0 0 24px rgba(0, 166, 156, 0.08);
}

.winla-button--primary a:hover,
.winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--win-teal) 0%, #0a5c58 100%);
  box-shadow:
    0 8px 28px rgba(0, 166, 156, 0.38),
    0 0 36px rgba(183, 207, 90, 0.12);
  transform: translateY(-2px);
}

.winla-button--outline a,
.winla-button--outline .wp-block-button__link {
  background: transparent;
  border: 1.5px solid var(--win-line);
  border-radius: var(--win-radius-pill);
  box-shadow: none;
  color: var(--win-ink);
}

.winla-button--outline a:hover,
.winla-button--outline .wp-block-button__link:hover {
  background: var(--win-cream);
  border-color: var(--win-teal);
  color: var(--win-teal-deep);
  box-shadow: none;
}

/* Legacy proof strip (static build) */
.winla-hero__proof { display: none; }

.winla-proof {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 18px 20px;
  border-right: 1px solid rgba(0,0,0,0.07);
  transition: background 250ms;
}
.winla-proof:last-child { border-right: none; }
.winla-proof:hover { background: rgba(0,166,156,0.04); }

.winla-proof i {
  font-size: 1.1rem;
  color: var(--win-teal);
  margin-bottom: 6px;
  display: block;
}

.winla-proof strong {
  display: block;
  color: var(--win-ink);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
}
.winla-proof span {
  display: block;
  color: var(--win-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

/* ─── Sections ─── */

.winla-section {
  position: relative;
  padding: clamp(72px, 10vw, 110px) 0;
}

.winla-section > .winla-container > .winla-section__intro .winla-rule {
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 22px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--win-teal), var(--win-green));
}

.winla-section--soft { background: var(--win-soft); }

.winla-section--video {
  background:
    radial-gradient(circle at 30% 40%, rgba(0, 166, 156, 0.03), transparent 40vw),
    radial-gradient(circle at 70% 60%, rgba(183, 207, 90, 0.025), transparent 35vw),
    var(--win-white);
}

/* ─── Ambient teal/green glow (cream sections) ─── */

.winla-section--glow-ambient {
  overflow: hidden;
  position: relative;
}

.winla-section--glow-ambient::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.winla-section--glow-ambient::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(183, 207, 90, 0.06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

/* ─── Service columns ─── */

.winla-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 22px);
  margin-top: 12px;
  border-top: none;
}

.winla-service {
  padding: 36px 28px 40px;
  border: none;
  border-left: none;
  background: transparent;
  transition:
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 280ms ease,
    border-color 200ms ease;
  position: relative;
}

.winla-service:last-child { border-right: none; }

.winla-service.winla-glass-panel--light {
  padding: 36px 28px 40px;
  background: rgba(255, 255, 255, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.winla-service.winla-glass-panel--light:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.45);
  box-shadow: 0 12px 40px rgba(0, 166, 156, 0.06);
}

.winla-service h3 {
  margin: 0 0 12px;
  font-size: 1.2rem;
  line-height: 1.3;
}

.winla-service p {
  margin: 0;
  color: var(--win-muted);
  font-size: 0.94rem;
  line-height: 1.65;
}

/* ─── Stats band ─── */

.winla-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
  margin-top: 48px;
  border: none;
  border-radius: 0;
  overflow: visible;
}

.winla-stats .winla-stat {
  padding: 36px 24px;
}

.winla-stats .winla-stat:last-child { border-right: none; }

.winla-video__intro {
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: center;
}

.winla-video__intro .winla-eyebrow,
.winla-video__intro h2,
.winla-video__intro p {
  text-align: center;
}

.winla-video__intro h2 {
  margin: 0;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.025em;
}

.winla-video__intro h2:not(.winla-text-gradient) {
  color: var(--win-ink);
}

/* Scroll-into-view color reveal */
.winla-video__title {
  background: linear-gradient(
    125deg,
    var(--win-slate) 0%,
    var(--win-slate) 40%,
    var(--win-teal-deep) 60%,
    var(--win-teal) 80%,
    var(--win-green-deep) 100%
  );
  background-size: 250% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: background-position 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.winla-video__intro.is-visible .winla-video__title {
  background-position: 0% 0;
}

.winla-video__intro p {
  margin: 16px auto 0;
  max-width: 640px;
  color: var(--win-muted);
  font-size: 1.02rem;
  line-height: 1.7;
}

.winla-video__frame {
  position: relative;
  width: min(100%, 920px);
  margin: 0 auto;
  border-radius: var(--win-radius);
  overflow: hidden;
  background: var(--win-ink);
  box-shadow: 0 12px 48px rgba(16, 37, 34, 0.12), 0 4px 20px rgba(0, 166, 156, 0.08);
  transition: box-shadow 320ms ease;
}

.winla-video__frame:hover {
  box-shadow: 0 16px 64px rgba(0, 166, 156, 0.15), 0 6px 28px rgba(0, 0, 0, 0.08), var(--win-glow-teal);
}

.winla-video__frame::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.winla-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.winla-video__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 36px;
}

.winla-section--teal,
.winla-section-teal-animated {
  background:
    linear-gradient(155deg, #063532 0%, var(--win-teal-deep) 35%, #0a4a42 65%, #0f3d28 100%);
  color: var(--win-white);
  overflow: hidden;
  position: relative;
}

.winla-section--teal::before,
.winla-section-teal-animated::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--noise);
  background-size: 180px 180px;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
}

.winla-section--teal::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.12) 0%, transparent 50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}


.winla-section--teal .winla-container { position: relative; z-index: 1; }

.winla-section--teal .winla-section__intro.center {
  padding-bottom: 52px;
}

.winla-section--green {
  position: relative;
  overflow: hidden;
  color: var(--win-white);
  background:
    linear-gradient(155deg, #041f1e 0%, #063532 28%, #0a4a42 52%, #0f3d28 78%, #062018 100%);
}

.winla-section--green::after {
  content: '';
  position: absolute;
  top: 30%;
  right: -200px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(183, 207, 90, 0.1) 0%, transparent 50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}


.winla-section--green > .winla-container,
.winla-section--green > .wp-block-group {
  position: relative;
  z-index: 1;
}


.winla-section__intro {
  max-width: 720px;
  margin-bottom: 52px;
}

.winla-help-lead {
  align-items: center;
  margin-bottom: clamp(40px, 6vw, 64px);
}

.winla-help-lead .winla-section__intro {
  max-width: none;
  margin-bottom: 0;
}

.winla-section__intro.center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.winla-section h2,
.winla-section-title {
  margin: 8px 0 0;
  color: inherit;
  font-size: clamp(1.9rem, 3.8vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.winla-section p { color: inherit; }

.winla-section__intro p,
.winla-rich-text {
  margin: 14px 0 0;
  color: var(--win-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.winla-section--teal .winla-section__intro p,
.winla-section--teal .winla-rich-text {
  color: rgba(255,255,255,0.7);
}

.winla-rule {
  display: block;
  width: 40px;
  height: 2px;
  margin-top: 20px;
  border-radius: var(--win-radius-pill);
  background: linear-gradient(90deg, var(--win-teal), var(--win-green));
}

.winla-section__intro.center .winla-rule {
  margin-right: auto;
  margin-left: auto;
}

/* ─── Grid ─── */

.winla-grid { display: grid; }
.winla-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.winla-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

/* ─── Service columns — editorial with icons ─── */

.winla-grid--3 {
  counter-reset: svc;
  gap: clamp(18px, 2.5vw, 28px);
  position: relative;
  border-top: none;
  padding-top: 4px;
}

.winla-grid--3::before,
.winla-grid--3::after {
  display: none;
}

.winla-card,
.wp-block-group.winla-card,
.wp-block-column.winla-card {
  counter-increment: svc;
  background: var(--win-glass-bg);
  border-radius: var(--win-radius);
  padding: clamp(28px, 3.5vw, 40px) clamp(22px, 2.5vw, 32px);
  border: 1px solid var(--win-glass-border);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  backdrop-filter: blur(14px) saturate(130%);
  box-shadow: 0 4px 20px rgba(0, 166, 156, 0.05), 0 1px 6px rgba(0, 0, 0, 0.03);
  transition: border-color 320ms ease, box-shadow 320ms ease, transform 280ms ease;
}

.winla-card:hover,
.wp-block-column.winla-card:hover {
  border-color: rgba(0, 166, 156, 0.3);
  box-shadow: 0 8px 32px rgba(0, 166, 156, 0.12), 0 2px 12px rgba(0, 0, 0, 0.05), var(--win-glow-teal);
  transform: translateY(-3px);
}

/* CSS counter decorative number */
.winla-card--accent { border-top: none; }

.winla-card--accent::before {
  content: counter(svc, decimal-leading-zero);
  display: block;
  font-size: clamp(3rem, 4.5vw, 5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--win-line);
  margin-bottom: 16px;
  transition: color 350ms ease;
  font-family: var(--win-font);
}

.winla-card:hover.winla-card--accent::before {
  color: rgba(0,166,156,0.22);
}

/* Icon below the number */
.winla-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0,166,156,0.12) 0%, rgba(74,158,255,0.08) 100%);
  color: var(--win-teal);
  font-size: 1.4rem;
  margin-bottom: 20px;
  transition: background 300ms ease, transform 340ms cubic-bezier(0.34,1.56,0.64,1), box-shadow 300ms ease;
  box-shadow: 0 4px 12px rgba(0, 166, 156, 0.1);
}

.winla-card:hover .winla-card__icon {
  background: linear-gradient(135deg, rgba(0,166,156,0.18) 0%, rgba(74,158,255,0.12) 100%);
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 6px 20px rgba(0, 166, 156, 0.18), var(--win-glow-blue);
}

.winla-card h3 {
  margin: 0 0 10px;
  color: var(--win-ink);
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.3;
}

.winla-card p {
  margin: 0;
  color: var(--win-muted);
  font-size: 0.93rem;
  line-height: 1.65;
}

.winla-card .winla-link,
.winla-service .winla-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
  color: var(--win-teal-deep);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: gap 240ms ease, color 200ms;
}

.winla-card .winla-link::after {
  content: '→';
  display: inline-block;
  transition: transform 240ms ease;
}

.winla-card:hover .winla-link,
.winla-service:hover .winla-link { gap: 10px; color: var(--win-teal); }
.winla-card:hover .winla-link::after,
.winla-service:hover .winla-link::after { transform: translateX(3px); }

/* ─── Split layout ─── */

.winla-split {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(300px,0.9fr);
  gap: clamp(40px,7vw,88px);
  align-items: center;
}

.winla-split--reverse .winla-split__copy {
  order: 2;
}

.winla-split--reverse .winla-feature-image {
  order: 1;
}

.winla-split__copy h2 {
  margin: 8px 0 0;
  font-size: clamp(1.65rem, 3.2vw, 2.4rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.02em;
}

.winla-panel-glass {
  padding: clamp(28px, 4vw, 40px);
}

.winla-panel-glass h2 {
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.winla-page-main .winla-contact-grid {
  margin-top: clamp(40px, 6vw, 56px);
}

/* ─── Feature image ─── */

.winla-feature-image,
.wp-block-image.winla-feature-image {
  position: relative;
  margin: 0;
}

.winla-feature-image img,
.wp-block-image.winla-feature-image img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: var(--win-radius);
  box-shadow: 0 8px 32px rgba(16, 37, 34, 0.08), 0 2px 12px rgba(0, 0, 0, 0.04);
  transition: box-shadow 320ms ease, transform 320ms ease;
}

.winla-feature-image:hover img,
.wp-block-image.winla-feature-image:hover img {
  box-shadow: 0 12px 48px rgba(0, 166, 156, 0.12), 0 4px 20px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

/* ─── Pill list ─── */

.winla-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.winla-pill-list li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--win-radius-pill);
  background: var(--win-soft);
  color: var(--win-ink);
  font-size: 0.83rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 200ms, background 200ms ease;
}

.winla-pill-list li::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--win-teal);
  flex-shrink: 0;
}

/* Unique colors per pill */
.winla-pill-list li:nth-child(1) { background: rgba(0, 166, 156, 0.10); }
.winla-pill-list li:nth-child(1)::before { background: var(--win-teal); }
.winla-pill-list li:nth-child(2) { background: rgba(183, 207, 90, 0.15); }
.winla-pill-list li:nth-child(2)::before { background: var(--win-lime); }
.winla-pill-list li:nth-child(3) { background: rgba(0, 102, 102, 0.08); }
.winla-pill-list li:nth-child(3)::before { background: var(--win-teal-deep); }
.winla-pill-list li:nth-child(4) { background: rgba(255, 178, 0, 0.10); }
.winla-pill-list li:nth-child(4)::before { background: var(--win-gold); }
.winla-pill-list li:nth-child(5) { background: rgba(16, 37, 34, 0.06); }
.winla-pill-list li:nth-child(5)::before { background: var(--win-ink); }
.winla-pill-list li:nth-child(6) { background: rgba(0, 166, 156, 0.06); }
.winla-pill-list li:nth-child(6)::before { background: var(--win-teal-mid); }

.winla-pill-list li:hover {
  color: var(--win-teal-deep);
  background: var(--win-line);
}

/* ─── CTA band — full bleed dark ─── */

.winla-section--dark {
  background: var(--win-ink);
  color: var(--win-white);
  padding: clamp(72px,10vw,110px) 0;
  overflow: hidden;
  position: relative;
}


.winla-section--dark .winla-container { position: relative; z-index: 1; }

.winla-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: transparent;
  border-radius: 0;
  padding: 0;
}

.winla-band h2 {
  margin: 8px 0 0;
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.winla-band p {
  max-width: 560px;
  margin: 12px 0 0;
  color: rgba(255,255,255,0.6);
  font-size: 0.95rem;
  line-height: 1.65;
}

/* ─── Stats — typographic with icons ─── */

.winla-section--teal .winla-section__intro {
  margin-bottom: 0;
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.winla-grid--4 { gap: 0; }

.winla-stat {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 44px 28px;
}

/* Stat icon */
.winla-stat__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(183,207,90,0.2) 0%, rgba(0,166,156,0.15) 100%);
  color: var(--win-green);
  font-size: 1.3rem;
  flex-shrink: 0;
  transition: transform 340ms cubic-bezier(0.34,1.56,0.64,1), background 300ms, box-shadow 300ms;
  box-shadow: 0 4px 16px rgba(183, 207, 90, 0.15);
}

.winla-stat.is-visible .winla-stat__icon-wrap {
  transform: scale(1);
}

.winla-stat:hover .winla-stat__icon-wrap {
  background: linear-gradient(135deg, rgba(183,207,90,0.28) 0%, rgba(0,166,156,0.22) 100%);
  box-shadow: 0 6px 24px rgba(183, 207, 90, 0.25), var(--win-glow-green);
}

.winla-stat__number { margin: 0; }

.winla-stat__value {
  color: var(--win-white);
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
}

.winla-stat p:not(.winla-stat__number) {
  margin: 0;
  color: rgba(255,255,255,0.65);
  font-size: 0.88rem;
  line-height: 1.6;
}

/* ─── Glass illumination system ─── */

.winla-glass-panel {
  border-radius: var(--win-radius);
  background: var(--win-glass-bg);
  border: 1px solid var(--win-glass-border);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  box-shadow: var(--win-glass-shadow);
  transition: box-shadow 320ms ease, -webkit-backdrop-filter 320ms ease, backdrop-filter 320ms ease;
}

.winla-glass-panel--light {
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.18);
  -webkit-backdrop-filter: blur(24px) saturate(120%);
  backdrop-filter: blur(24px) saturate(120%);
  box-shadow: 0 4px 24px rgba(0, 166, 156, 0.03), 0 1px 6px rgba(0, 0, 0, 0.02);
}

.winla-glass-panel--light:hover {
  box-shadow: 0 8px 32px rgba(0, 166, 156, 0.06), 0 2px 12px rgba(0, 0, 0, 0.03);
}

.winla-glass-panel--compact {
  padding: clamp(28px, 4vw, 40px);
}

.winla-glass-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.winla-glass-eyebrow::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--win-teal), var(--win-green));
}

.winla-glass-heading {
  color: var(--win-white);
}

.winla-glass-panel--light .winla-glass-eyebrow {
  color: var(--win-teal-deep);
}

.winla-glass-panel--light .winla-glass-heading {
  color: var(--win-ink);
}

/* ─── Newsletter — glass + teal/green lighting ─── */

.winla-newsletter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  padding: clamp(32px, 5vw, 52px);
}

.winla-newsletter__icon { display: none; }

.winla-section--green .winla-newsletter .winla-eyebrow,
.winla-section--green .winla-glass-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.winla-section--green .winla-newsletter .winla-eyebrow::before,
.winla-section--green .winla-glass-eyebrow::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--win-teal), var(--win-green));
}

.winla-newsletter h2,
.winla-glass-heading {
  margin: 0;
  font-size: clamp(1.55rem, 2.8vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.winla-section--green .winla-newsletter h2,
.winla-section--glow-cta .winla-glass-heading {
  color: var(--win-white);
}

.winla-section--green .winla-newsletter p {
  margin: 12px 0 0;
  max-width: 42ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.95rem;
  line-height: 1.65;
}

.winla-newsletter__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
}

.winla-section--green .winla-newsletter .winla-button--primary a,
.winla-section--green .winla-newsletter .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, rgba(0, 166, 156, 0.95) 0%, rgba(13, 119, 116, 0.98) 100%);
  border-radius: var(--win-radius-pill);
}

.winla-section--green .winla-newsletter .winla-button--primary a:hover,
.winla-section--green .winla-newsletter .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--win-teal) 0%, var(--win-teal-deep) 100%);
}

.winla-newsletter__social {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.winla-newsletter__social-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

.winla-section--green .winla-newsletter .winla-social {
  gap: 10px;
}

.winla-section--green .winla-newsletter .winla-social__icon {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.95);
  transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.winla-section--green .winla-newsletter .winla-social__icon:hover {
  background: rgba(0, 166, 156, 0.45);
  border-color: rgba(0, 166, 156, 0.5);
  color: var(--win-white);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 166, 156, 0.35), var(--win-glow-teal);
}

/* ─── Footer ─── */

.winla-footer {
  background:
    linear-gradient(180deg, #0d3330 0%, var(--win-ink) 42%, #081816 100%);
  color: var(--win-white);
  padding: 64px 0 28px;
  position: relative;
  overflow: hidden;
}

.winla-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--win-teal), var(--win-green), var(--win-teal), transparent);
}

.winla-footer__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 40px;
}

.winla-footer__brand {
  display: block;
  width: 140px;
  margin-bottom: 16px;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  transition: opacity 200ms;
}
.winla-footer__brand:hover { opacity: 1; }

.winla-footer h2,
.winla-footer h3 {
  margin: 0 0 16px;
  color: var(--win-white);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.winla-footer p,
.winla-footer a {
  color: rgba(255,255,255,0.55);
  font-size: 0.88rem;
  line-height: 1.7;
}

.winla-footer a { text-decoration: none; transition: color 200ms; }
.winla-footer a:hover { color: var(--win-white); }

/* ─── Search ─── */

.winla-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;
}

.winla-search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--win-soft);
  color: var(--win-teal-deep);
  font-size: 1.15rem;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease, transform 200ms ease;
}

.winla-search-toggle:hover {
  background: var(--win-line);
  color: var(--win-teal);
  transform: translateY(-1px);
}

.winla-search-panel {
  position: fixed;
  inset: 0;
  z-index: 120;
}

.winla-search-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16, 37, 34, 0.55);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.winla-search-panel__dialog {
  position: relative;
  z-index: 1;
  width: min(640px, calc(100% - 32px));
  margin: clamp(72px, 12vh, 120px) auto 0;
  padding: 24px;
  border-radius: var(--win-radius);
  background: var(--win-white);
  box-shadow: var(--win-shadow-lg);
}

.winla-search-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.winla-search-panel__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--win-ink);
}

.winla-search-panel__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--win-cream);
  color: var(--win-ink);
  font-size: 1.1rem;
  cursor: pointer;
}

.winla-search-panel__close:hover {
  background: var(--win-soft);
  color: var(--win-teal-deep);
}

body.winla-search-open {
  overflow: hidden;
}

.winla-search-form {
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.winla-search-form input[type="search"] {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--win-line);
  border-radius: 8px;
  padding: 12px 14px;
  font-family: var(--win-font);
  font-size: 0.95rem;
  color: var(--win-ink);
  background: var(--win-white);
}

.winla-search-form input[type="search"]:focus {
  outline: none;
  border-color: var(--win-teal);
  box-shadow: 0 0 0 3px rgba(0, 166, 156, 0.15);
}

.winla-search-form__submit,
.wp-block-search__button {
  border: 0;
  border-radius: 8px;
  background: var(--win-teal);
  color: var(--win-white);
  font-family: var(--win-font);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 12px 18px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 200ms ease, transform 200ms ease;
}

.winla-search-form__submit:hover,
.wp-block-search__button:hover {
  background: var(--win-teal-deep);
  transform: translateY(-1px);
}

.winla-search-form--page {
  margin-top: 24px;
  max-width: 640px;
}

.winla-search-page__lede {
  margin: 12px 0 0;
  max-width: 52ch;
  color: var(--win-muted);
  line-height: 1.65;
}

.winla-search-results,
.winla-search-page__results {
  margin-top: 18px;
}

.winla-search-results__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.winla-search-results__item {
  padding: 14px 0;
  border-bottom: 1px solid var(--win-line);
}

.winla-search-results__item:last-child {
  border-bottom: 0;
}

.winla-search-results__category {
  display: inline-block;
  margin-bottom: 6px;
  padding: 4px 10px;
  border-radius: var(--win-radius-pill);
  background: var(--win-soft);
  color: var(--win-teal-deep);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.winla-search-results__item a {
  color: var(--win-ink);
  font-size: 1.02rem;
  text-decoration: none;
}

.winla-search-results__item a:hover {
  color: var(--win-teal-deep);
}

.winla-search-results__item p {
  margin: 6px 0 0;
  color: var(--win-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.winla-search-empty {
  margin: 0;
  color: var(--win-muted);
  line-height: 1.6;
}

/* ─── Inner pages ─── */

.winla-page-main {
  overflow-x: clip;
  background: var(--win-cream);
}

.winla-page-main > .winla-section:first-of-type {
  padding-top: clamp(56px, 8vw, 80px);
}

.winla-page-main .winla-section__intro .winla-rule {
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 22px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--win-teal), var(--win-green));
}

.winla-page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 8vw, 88px) clamp(16px, 3vw, 32px) clamp(48px, 6vw, 64px);
  background:
    radial-gradient(circle at 20% 30%, rgba(0, 166, 156, 0.08), transparent 40vw),
    radial-gradient(circle at 80% 70%, rgba(183, 207, 90, 0.05), transparent 35vw),
    linear-gradient(155deg, rgba(4, 31, 30, 0.92) 0%, rgba(6, 53, 50, 0.88) 40%, rgba(10, 74, 66, 0.82) 70%, rgba(6, 32, 24, 0.9) 100%);
  color: var(--win-white);
  border-bottom: none;
}

.winla-page-hero--teal {
  background:
    radial-gradient(circle at 30% 20%, rgba(0, 166, 156, 0.1), transparent 35vw),
    linear-gradient(145deg, rgba(13, 119, 116, 0.9) 0%, rgba(10, 74, 66, 0.85) 55%, rgba(13, 51, 48, 0.92) 100%);
}

.winla-page-hero--green {
  background:
    radial-gradient(circle at 70% 30%, rgba(183, 207, 90, 0.08), transparent 40vw),
    linear-gradient(145deg, rgba(6, 32, 24, 0.92) 0%, rgba(90, 122, 40, 0.5) 35%, rgba(0, 166, 156, 0.65) 55%, rgba(13, 119, 116, 0.85) 100%);
}

.winla-page-hero--has-media {
  min-height: clamp(320px, 48vh, 480px);
  display: flex;
  align-items: flex-end;
  padding-bottom: clamp(40px, 6vw, 64px);
}

.winla-page-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.winla-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.winla-page-hero--has-media::before,
.winla-page-hero--has-media::after {
  z-index: 1;
}

.winla-page-hero--has-media .winla-container {
  position: relative;
  z-index: 2;
  width: 100%;
}

.winla-page-hero--has-media .winla-page-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(4, 31, 30, 0.88) 0%, rgba(6, 53, 50, 0.72) 45%, rgba(10, 74, 66, 0.35) 100%),
    linear-gradient(180deg, transparent 50%, rgba(4, 31, 30, 0.5) 100%);
  pointer-events: none;
}

.winla-page-hero__glass {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.winla-page-hero .winla-glass-eyebrow {
  color: rgba(255, 255, 255, 0.92);
}

.winla-page-hero .winla-glass-heading {
  color: var(--win-white);
}

.winla-page-hero__title {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(1.9rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.winla-page-hero__lede {
  max-width: 52ch;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.05rem;
  line-height: 1.7;
}

.winla-rich-text {
  max-width: 68ch;
  color: var(--win-muted);
  font-size: 1.02rem;
  line-height: 1.75;
}

.winla-check-list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  max-width: 68ch;
}

.winla-check-list li {
  position: relative;
  margin: 0 0 14px;
  padding-left: 28px;
  color: var(--win-muted);
  line-height: 1.65;
}

.winla-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--win-teal), var(--win-green));
}

.winla-link-list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  max-width: 52ch;
}

.winla-link-list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--win-teal-deep);
  font-weight: 600;
  text-decoration: none;
}

.winla-link-list a:hover {
  color: var(--win-teal);
}

.winla-link-list a::after {
  content: "→";
  font-size: 0.9em;
}

.winla-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 24px);
}

.winla-contact-card {
  padding: 24px 0;
}

.winla-contact-card__label {
  display: block;
  margin-bottom: 8px;
  color: var(--win-teal-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.winla-contact-card__value {
  color: var(--win-ink);
  font-size: 1rem;
  line-height: 1.6;
}

.winla-contact-card__value a {
  color: var(--win-ink);
  text-decoration: none;
}

.winla-contact-card__value a:hover {
  color: var(--win-teal-deep);
}

.winla-section--cta-band {
  background: var(--win-soft);
}

.winla-section--glow-cta {
  position: relative;
  overflow: hidden;
}

.winla-section--glow-cta::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.18) 0%, transparent 55%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.winla-cta-band.winla-glass-panel {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  box-shadow: 0 8px 40px rgba(0, 166, 156, 0.12), 0 2px 16px rgba(0, 0, 0, 0.04), var(--win-glow-teal);
}


.winla-section--glow-cta > .winla-container {
  position: relative;
  z-index: 1;
}

.winla-cta-band {
  text-align: center;
  max-width: 56ch;
  margin: 0 auto;
  padding: clamp(36px, 5vw, 52px);
}

.winla-section--glow-cta .winla-cta-band h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.winla-cta-band h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.winla-section--glow-cta .winla-cta-band p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.65;
}

.winla-cta-band p {
  margin: 12px 0 0;
  color: var(--win-muted);
  line-height: 1.65;
}

.winla-section--glow-cta .winla-button--primary a,
.winla-section--glow-cta .winla-button--outline a {
  border-radius: var(--win-radius-pill);
}

.winla-section--glow-cta .winla-button--primary a {
  background: linear-gradient(135deg, rgba(0, 166, 156, 0.95) 0%, rgba(13, 119, 116, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow:
    0 8px 28px rgba(0, 166, 156, 0.45),
    0 0 32px rgba(0, 166, 156, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.winla-section--glow-cta .winla-button--outline a {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: var(--win-white);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.winla-section--glow-cta .winla-button--outline a:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(183, 207, 90, 0.45);
  color: var(--win-white);
}

.winla-actions--center {
  justify-content: center;
  margin-top: 24px;
}

.wp-block-search__input {
  border: 1px solid var(--win-line);
  border-radius: 8px;
  padding: 12px 14px;
  font-family: var(--win-font);
  font-size: 0.95rem;
}

.winla-footer__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 24px;
}

.winla-footer__inner > div:last-child {
  min-width: 0;
}

.winla-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.winla-footer__social .winla-social__icon {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.85);
}

.winla-footer__social .winla-social__icon:hover {
  background: var(--win-teal);
  color: var(--win-white);
}

.winla-footer__bottom {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255,255,255,0.07);
  margin-top: 44px;
  padding-top: 22px;
  color: rgba(255,255,255,0.35);
  font-size: 0.8rem;
}

/* ─── Scroll animations ─── */

[data-animate] {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 800ms cubic-bezier(0.22,1,0.36,1) calc(var(--stagger,0) * 110ms),
    transform 800ms cubic-bezier(0.22,1,0.36,1) calc(var(--stagger,0) * 110ms);
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

[data-animate="fade-left"] { transform: translateX(40px); opacity: 0; }
[data-animate="fade-right"] { transform: translateX(-40px); opacity: 0; }

.is-visible[data-animate="fade-left"],
.is-visible[data-animate="fade-right"] { transform: translateX(0); opacity: 1; }

/* Stat icon entrance */
.winla-stat__icon-wrap {
  transform: scale(0.7);
  transition: transform 500ms cubic-bezier(0.34,1.56,0.64,1) calc(var(--stagger,0) * 110ms + 200ms),
              background 300ms;
}
.winla-stat.is-visible .winla-stat__icon-wrap {
  transform: scale(1);
}

/* Card icon entrance */
.winla-card__icon {
  transform: scale(0.8);
  opacity: 0;
  transition: transform 500ms cubic-bezier(0.34,1.56,0.64,1) calc(var(--stagger,0) * 110ms + 150ms),
              opacity 400ms ease calc(var(--stagger,0) * 110ms + 150ms),
              background 300ms ease;
}
.winla-card.is-visible .winla-card__icon {
  transform: scale(1);
  opacity: 1;
}
/* Override hover when visible */
.winla-card.is-visible:hover .winla-card__icon {
  transform: translateY(-4px) scale(1.08);
  opacity: 1;
}

/* --- Cohesive glass refresh --- */

.winla-page,
.wp-site-blocks {
  background:
    radial-gradient(circle at 8% 18%, rgba(183, 207, 90, 0.13), transparent 28vw),
    radial-gradient(circle at 92% 8%, rgba(0, 166, 156, 0.12), transparent 32vw),
    linear-gradient(180deg, #fbf8f0 0%, var(--win-cream) 46%, #edf0e8 100%);
}

.winla-section {
  isolation: isolate;
}

.winla-section > .winla-container {
  position: relative;
  z-index: 2;
}

.winla-section--soft {
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.35), transparent 36vw),
    radial-gradient(circle at 92% 62%, rgba(183, 207, 90, 0.07), transparent 32vw),
    linear-gradient(135deg, rgba(237, 233, 226, 0.5), rgba(255, 255, 255, 0.2));
}

.winla-section--glow-ambient::before,
.winla-section--glow-ambient::after,
.winla-section--green::after,
.winla-section--teal::after,
.winla-section--glow-cta::before {
  filter: blur(4px);
  opacity: 0.9;
  animation: winla-orb-drift 14s ease-in-out infinite alternate;
}

.winla-section--glow-ambient::before {
  top: -150px;
  right: max(-10vw, -120px);
  width: clamp(320px, 38vw, 560px);
  height: clamp(320px, 38vw, 560px);
  background: radial-gradient(circle, rgba(0, 166, 156, 0.14), rgba(123, 184, 255, 0.06) 38%, transparent 68%);
}

.winla-section--glow-ambient::after {
  bottom: -160px;
  left: max(-12vw, -140px);
  width: clamp(300px, 34vw, 520px);
  height: clamp(300px, 34vw, 520px);
  background: radial-gradient(circle, rgba(183, 207, 90, 0.14), rgba(0, 166, 156, 0.05) 42%, transparent 70%);
  animation-delay: -5s;
}

.winla-section--drift-b::before {
  right: auto;
  left: 54%;
  top: -120px;
}

.winla-section--drift-b::after {
  left: -80px;
  bottom: 8%;
}

.winla-section--drift-c::before {
  top: 18%;
  right: -180px;
}

.winla-section--drift-c::after {
  bottom: -110px;
  left: 26%;
}

.winla-section--home-help {
  padding-top: clamp(86px, 11vw, 132px);
}

.winla-help-intro {
  max-width: 680px;
  margin: 0 auto clamp(48px, 6vw, 72px);
}

.winla-help-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2.2vw, 28px);
  align-items: stretch;
}

.winla-help-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--win-radius-xl);
  padding: clamp(32px, 3.5vw, 48px) clamp(24px, 2.8vw, 36px);
  display: flex;
  flex-direction: column;
  gap: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.42) 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.52);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  box-shadow:
    0 20px 60px rgba(16, 37, 34, 0.07),
    0 4px 14px rgba(0, 166, 156, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transform-origin: 50% 80%;
  transition:
    transform 400ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 400ms ease,
    border-color 400ms ease;
}

.winla-help-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  border-radius: var(--win-radius-xl) var(--win-radius-xl) 0 0;
}

.winla-help-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.55), transparent 38%);
  pointer-events: none;
}

.winla-help-card:hover {
  transform: translateY(-8px);
  border-color: rgba(255, 255, 255, 0.72);
  box-shadow:
    0 32px 80px rgba(16, 37, 34, 0.12),
    0 6px 20px rgba(0, 166, 156, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.winla-help-card--tone-1::before { background: linear-gradient(90deg, var(--win-teal), var(--win-teal-mid)); }
.winla-help-card--tone-2::before { background: linear-gradient(90deg, var(--win-teal-mid), var(--win-green)); }
.winla-help-card--tone-3::before { background: linear-gradient(90deg, var(--win-green), var(--win-lime)); }

.winla-help-card__icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  border-radius: var(--win-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, var(--win-teal) 0%, var(--win-teal-deep) 100%);
  color: var(--win-white);
  box-shadow:
    0 6px 18px rgba(0, 166, 156, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.12);
}

.winla-help-card__icon svg {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}

.winla-help-card__icon svg * {
  stroke: #ffffff;
  stroke-width: 2;
}

.winla-help-card--tone-2 .winla-help-card__icon {
  background: linear-gradient(135deg, var(--win-teal-mid) 0%, var(--win-green) 100%);
  color: var(--win-white);
  box-shadow:
    0 6px 18px rgba(0, 191, 154, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.12);
}

.winla-help-card--tone-3 .winla-help-card__icon {
  background: linear-gradient(135deg, var(--win-green) 0%, var(--win-lime) 100%);
  color: var(--win-white);
  box-shadow:
    0 6px 18px rgba(120, 200, 80, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.12);
}

.winla-help-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.winla-help-card__body h3 {
  margin: 0;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--win-ink);
}

.winla-help-card__body p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--win-ink);
  opacity: 0.72;
  flex: 1;
}

.winla-help-card__body .winla-link {
  margin-top: 6px;
  font-weight: 600;
  font-size: 0.88rem;
}

.winla-link--arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.winla-link__arrow {
  transform: rotate(-45deg);
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
  flex-shrink: 0;
}

.winla-link--arrow:hover .winla-link__arrow,
.winla-help-card:hover .winla-link--arrow .winla-link__arrow,
.winla-button:hover .winla-link--arrow .winla-link__arrow {
  transform: rotate(0deg);
}

@media (max-width: 768px) {
  .winla-help-cards {
    grid-template-columns: 1fr;
  }
}

.winla-section--story-ribbon {
  overflow: hidden;
}

.winla-section--story-ribbon .winla-split {
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
}

.winla-section--story-ribbon .winla-feature-image img {
  border-radius: 46% 54% 42% 58% / 54% 40% 60% 46%;
}

.winla-glass-panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--win-radius-lg);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.43)),
    linear-gradient(160deg, rgba(0, 166, 156, 0.05), rgba(183, 207, 90, 0.04));
  border: 1px solid rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  box-shadow:
    0 24px 70px rgba(16, 37, 34, 0.08),
    0 2px 18px rgba(0, 166, 156, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

.winla-glass-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.52), transparent 26%, transparent 72%, rgba(183, 207, 90, 0.08)),
    radial-gradient(circle at 16% 0%, rgba(255, 255, 255, 0.65), transparent 34%);
  opacity: 0.72;
  pointer-events: none;
}

.winla-glass-panel--light {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.48)),
    radial-gradient(circle at 80% 18%, rgba(0, 166, 156, 0.08), transparent 36%);
  border-color: rgba(255, 255, 255, 0.52);
}

.winla-glass-panel--dark {
  color: var(--win-white);
  background:
    linear-gradient(135deg, rgba(8, 37, 34, 0.55), rgba(8, 54, 50, 0.35)),
    radial-gradient(circle at 88% 18%, rgba(0, 166, 156, 0.18), transparent 42%),
    radial-gradient(circle at 10% 90%, rgba(183, 207, 90, 0.12), transparent 38%);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow:
    0 20px 60px rgba(2, 23, 21, 0.2),
    0 0 36px rgba(0, 166, 156, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.winla-glass-panel--halo::after,
.winla-service::after,
.winla-contact-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.16), transparent 68%);
  pointer-events: none;
  filter: blur(1px);
  opacity: 0.8;
}

.winla-glass-panel--halo::after {
  top: -80px;
  right: -70px;
  animation: winla-soft-pulse 7s ease-in-out infinite;
}

.winla-services {
  align-items: stretch;
  gap: clamp(18px, 2.7vw, 30px);
}

.winla-services--flow {
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  grid-auto-rows: minmax(184px, auto);
  margin-top: 0;
}

.winla-services--flow .winla-service:first-child {
  grid-row: span 2;
  min-height: clamp(380px, 38vw, 500px);
  padding: clamp(38px, 5vw, 58px);
  border-radius: var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-lg);
}

.winla-services--flow .winla-service:first-child h3 {
  max-width: 12ch;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  letter-spacing: -0.035em;
}

.winla-services--flow .winla-service:not(:first-child) {
  min-height: 0;
}

.winla-services--mosaic {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.winla-services--mosaic .winla-service {
  grid-column: span 2;
}

.winla-services--mosaic .winla-service:nth-child(4n + 1),
.winla-services--mosaic .winla-service:nth-child(4n + 2) {
  grid-column: span 3;
}

.winla-service {
  isolation: isolate;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--win-radius-lg);
  transform-origin: 50% 80%;
}

.winla-service > * {
  position: relative;
  z-index: 1;
}

.winla-service::after {
  right: -76px;
  bottom: -86px;
  transform: scale(0.9);
  transition: transform 480ms cubic-bezier(0.22, 1, 0.36, 1), opacity 320ms ease;
}

.winla-service:hover::after {
  opacity: 1;
  transform: scale(1.28);
}

.winla-service--tone-1 {
  border-radius: var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-lg) var(--win-radius-xl);
}

.winla-service--tone-1::after {
  background: radial-gradient(circle, rgba(0, 166, 156, 0.18), transparent 68%);
}

.winla-service--tone-2 {
  border-radius: var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-xl) var(--win-radius-lg);
}

.winla-service--tone-2::after {
  right: auto;
  left: -72px;
  background: radial-gradient(circle, rgba(183, 207, 90, 0.2), transparent 68%);
}

.winla-service--tone-3 {
  border-radius: var(--win-radius-lg) var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-xl);
}

.winla-service--tone-3::after {
  top: -82px;
  bottom: auto;
  background: radial-gradient(circle, rgba(123, 184, 255, 0.16), transparent 68%);
}

.winla-service.winla-glass-panel--light:hover {
  transform: translateY(-7px) rotateX(1deg);
  box-shadow:
    0 30px 80px rgba(16, 37, 34, 0.12),
    0 0 48px rgba(0, 166, 156, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.winla-split--organic {
  gap: clamp(44px, 8vw, 104px);
}

.winla-split--organic .winla-split__copy {
  position: relative;
}

.winla-split--organic .winla-split__copy::before {
  content: "";
  position: absolute;
  top: -22px;
  left: -24px;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.13), transparent 68%);
  pointer-events: none;
}

.winla-split--variant-2 {
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
}

.winla-split--variant-3 {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
}

.winla-panel-glass {
  border-radius: var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-lg);
}

.winla-feature-image,
.wp-block-image.winla-feature-image {
  isolation: isolate;
}

.winla-feature-image::before,
.wp-block-image.winla-feature-image::before {
  content: "";
  position: absolute;
  inset: 8% -4% -8% 10%;
  z-index: -1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(0, 166, 156, 0.18), transparent 58%),
    radial-gradient(circle at 70% 70%, rgba(183, 207, 90, 0.16), transparent 54%);
  filter: blur(10px);
}

.winla-feature-image img,
.wp-block-image.winla-feature-image img {
  border-radius: var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-lg);
  box-shadow:
    0 26px 80px rgba(16, 37, 34, 0.12),
    0 0 42px rgba(0, 166, 156, 0.08);
}

.winla-split--reverse .winla-feature-image img {
  border-radius: var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-xl);
}

.winla-video__intro {
  padding: clamp(40px, 6vw, 64px) clamp(24px, 4vw, 48px);
  border-radius: var(--win-radius-xl);
  background:
    radial-gradient(circle at 25% 30%, rgba(0, 166, 156, 0.04), transparent 55%),
    radial-gradient(circle at 75% 70%, rgba(183, 207, 90, 0.03), transparent 55%);
  border: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}

.winla-video__frame {
  border-radius: var(--win-radius-xl);
  box-shadow:
    0 34px 100px rgba(16, 37, 34, 0.18),
    0 0 50px rgba(0, 166, 156, 0.12);
}

.winla-stats--constellation {
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.4vw, 26px);
}

.winla-stats--constellation .winla-stat {
  position: relative;
  overflow: hidden;
  min-height: 180px;
  padding: 28px 20px;
  border-radius: var(--win-radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
    radial-gradient(circle at 80% 15%, rgba(183, 207, 90, 0.16), transparent 38%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.winla-stats--constellation .winla-stat::after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -60px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.22), transparent 70%);
  pointer-events: none;
}

.winla-stats--constellation .winla-stat__value {
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.winla-outcomes-link {
  display: flex;
  justify-content: flex-end;
  margin-top: clamp(28px, 4vw, 44px);
}

.winla-contact-grid {
  align-items: stretch;
}

.winla-contact-card {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 3.5vw, 36px);
  min-height: 180px;
  border-radius: var(--win-radius-lg);
}

.winla-contact-card::after {
  right: -90px;
  bottom: -92px;
  background: radial-gradient(circle, rgba(183, 207, 90, 0.16), transparent 70%);
}

.winla-check-list--glass,
.winla-link-list--glass {
  gap: 12px;
}

.winla-check-list--glass li,
.winla-link-list--glass li a {
  position: relative;
  display: block;
  margin: 0;
  padding: 16px 18px 16px 46px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.46);
  box-shadow: 0 12px 34px rgba(16, 37, 34, 0.05);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  backdrop-filter: blur(12px) saturate(130%);
}

.winla-check-list--glass li::before {
  left: 18px;
  top: 1.28em;
  box-shadow: 0 0 0 6px rgba(0, 166, 156, 0.08);
}

.winla-link-list--glass li a {
  padding-left: 18px;
  transition: transform 220ms ease, background 220ms ease, color 200ms ease;
}

.winla-link-list--glass li a:hover {
  transform: translateX(6px);
  background: rgba(255, 255, 255, 0.62);
}

.winla-section--glow-cta {
  color: var(--win-white);
  background:
    radial-gradient(circle at 12% 18%, rgba(183, 207, 90, 0.22), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(0, 166, 156, 0.28), transparent 34vw),
    linear-gradient(155deg, #041f1e 0%, #063532 34%, #0a4a42 66%, #062018 100%);
}

.winla-cta-band {
  max-width: 880px;
  border-radius: var(--win-radius-xl);
}

.winla-cta-band.winla-glass-panel {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06)),
    radial-gradient(circle at 80% 12%, rgba(183, 207, 90, 0.18), transparent 38%);
  border-color: rgba(255, 255, 255, 0.2);
}

.winla-section--glow-cta .winla-cta-band p,
.winla-section--green .winla-newsletter p,
.winla-glass-panel--dark p {
  color: rgba(255, 255, 255, 0.76);
}

.winla-newsletter.winla-glass-panel {
  border-radius: var(--win-radius-xl);
}

.winla-page-hero__glass {
  border-radius: var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-lg);
}

[data-animate] {
  transform: translate3d(0, 36px, 0) scale(0.985);
  filter: blur(8px);
  transition:
    opacity 900ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--stagger, 0) * 95ms),
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--stagger, 0) * 95ms),
    filter 900ms cubic-bezier(0.22, 1, 0.36, 1) calc(var(--stagger, 0) * 95ms);
}

[data-animate].is-visible {
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

[data-animate="fade-left"] {
  transform: translate3d(52px, 18px, 0) scale(0.985);
}

[data-animate="fade-right"] {
  transform: translate3d(-52px, 18px, 0) scale(0.985);
}

.is-visible[data-animate="fade-left"],
.is-visible[data-animate="fade-right"] {
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

@keyframes winla-orb-drift {
  from {
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    transform: translate3d(28px, -18px, 0) scale(1.08);
  }
}

@keyframes winla-soft-pulse {
  0%, 100% {
    transform: scale(0.86);
    opacity: 0.55;
  }
  50% {
    transform: scale(1.18);
    opacity: 0.95;
  }
}

@keyframes winla-float {
  0%, 100% {
    transform: translateY(0) rotate(0.2deg);
  }
  33% {
    transform: translateY(-6px) rotate(-0.3deg);
  }
  66% {
    transform: translateY(-3px) rotate(0.1deg);
  }
}

.winla-section--teal::after,
.winla-section--glow-cta::before {
  animation: winla-center-orb-drift 14s ease-in-out infinite alternate;
}

@keyframes winla-center-orb-drift {
  from {
    transform: translate(-50%, -50%) scale(1);
  }
  to {
    transform: translate(calc(-50% + 28px), calc(-50% - 18px)) scale(1.07);
  }
}

/* ─── Responsive ─── */

@media (max-width: 980px) {
  .winla-topbar__inner { flex-direction: column; }

  /* Header stays in one row but nav wraps below brand on narrow */
  .winla-header__inner {
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .winla-header__actions { flex-grow: 1; justify-content: flex-end; }
  .winla-nav, .winla-nav .wp-block-navigation__container { justify-content: flex-start; }
  .winla-search-form { flex-direction: column; }
  .winla-search-form__submit { width: 100%; }

  .winla-hero-stage {
    min-height: clamp(420px, 56vw, 520px);
    max-height: none;
    aspect-ratio: auto;
  }

  .winla-hero-stage .winla-hero__content {
    padding-bottom: 88px;
  }

  .winla-hero__row {
    flex-direction: column;
    align-items: stretch;
    gap: clamp(16px, 3vw, 24px);
  }

  .winla-actions--hero {
    align-self: stretch;
    flex-wrap: wrap;
    margin-top: 0;
  }

  .winla-hero-stage h1,
  .winla-hero h1,
  .winla-hero-title { max-width: none; }

  .winla-hero { padding: 48px 0; }

  .winla-hero__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .winla-hero__media {
    order: -1;
    max-height: 320px;
    aspect-ratio: 16 / 10;
  }

  .winla-impact-bar--overlap {
    margin-top: -32px;
  }

  .winla-impact-bar__grid {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: left;
  }

  .winla-services,
  .winla-services--flow,
  .winla-services--mosaic {
    grid-template-columns: 1fr;
  }

  .winla-services--flow .winla-service:first-child {
    grid-row: auto;
    min-height: 280px;
  }

  .winla-services--mosaic .winla-service,
  .winla-services--mosaic .winla-service:nth-child(4n + 1),
  .winla-services--mosaic .winla-service:nth-child(4n + 2) {
    grid-column: auto;
  }

  .winla-service {
    border-right: none;
    border-bottom: none;
  }

  .winla-stats { grid-template-columns: repeat(2, 1fr); }

  .winla-stats--constellation {
    grid-template-columns: repeat(2, 1fr);
  }

  .winla-split { grid-template-columns: 1fr; }
  .winla-feature-image img, .wp-block-image.winla-feature-image img { min-height: 280px; }

  .winla-video__actions { flex-direction: column; align-items: stretch; }
  .winla-video__actions .winla-button a { width: 100%; justify-content: center; }

  .winla-newsletter {
    grid-template-columns: 1fr;
    padding: 28px 24px;
  }

  .winla-newsletter__actions,
  .winla-newsletter__social { align-items: flex-start; }

  .winla-section--green .winla-newsletter .winla-button--primary a,
  .winla-section--green .winla-newsletter .winla-button--primary .wp-block-button__link {
    width: 100%;
    justify-content: center;
  }

  .winla-footer__inner { grid-template-columns: 1fr 1fr; }

  .winla-footer__inner > div:last-child {
    grid-column: 1 / -1;
  }

  .winla-footer__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .winla-contact-grid {
    grid-template-columns: 1fr;
  }

  .winla-page-hero__title {
    max-width: none;
  }
}

/* Show hamburger at tablet portrait too */
@media (max-width: 768px) {
  .winla-hamburger { display: flex; }
  .winla-mobile-nav { display: flex; }
  .winla-mobile-nav__backdrop { display: block; }
  .winla-nav,
  .winla-header__actions .winla-button--green,
  .winla-header__actions .winla-lang-toggle { display: none; }
  .winla-header__inner { flex-direction: row; align-items: center; flex-wrap: nowrap; min-height: 64px; }
  .winla-header__actions { gap: 8px; }
}

/* ─── Hamburger & Mobile Nav ─── */

.winla-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1.5px solid rgba(0, 166, 156, 0.25);
  border-radius: var(--win-radius);
  background: rgba(255,255,255,0.6);
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 200ms, background 200ms;
}
.winla-hamburger span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--win-ink);
  border-radius: 2px;
  transition: transform 260ms cubic-bezier(0.22,1,0.36,1), opacity 200ms;
  transform-origin: center;
}
.winla-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.winla-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.winla-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.winla-mobile-nav {
  display: none;
  position: fixed;
  inset: 0 0 0 auto;
  width: min(320px, 85vw);
  z-index: 100;
  background: #fff;
  box-shadow: -8px 0 48px rgba(16,37,34,0.14);
  padding: 80px 0 32px;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 320ms cubic-bezier(0.22,1,0.36,1);
  overflow-y: auto;
}
.winla-mobile-nav.is-open { transform: translateX(0); }

.winla-mobile-nav nav {
  display: flex;
  flex-direction: column;
  padding: 0 24px;
  gap: 2px;
}
.winla-mobile-nav nav a {
  display: block;
  padding: 14px 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--win-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--win-line);
  transition: color 180ms;
}
.winla-mobile-nav nav a:last-child { border-bottom: none; }
.winla-mobile-nav nav a:hover { color: var(--win-teal); }

.winla-mobile-nav__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 24px 0;
  margin-top: auto;
  border-top: 1px solid var(--win-line);
}
.winla-mobile-nav__donate {
  display: inline-flex;
  align-items: center;
  padding: 9px 20px;
  border-radius: var(--win-radius-pill);
  background: var(--win-green);
  color: var(--win-ink) !important;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 200ms;
}
.winla-mobile-nav__donate:hover { background: var(--win-green-deep); color: #fff !important; }

.winla-mobile-nav__backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99;
  background: rgba(16,37,34,0.4);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

@media (max-width: 640px) {
  body .is-layout-constrained > *,
  .winla-container { width: min(100% - 28px, var(--win-max)); }

  /* Header */
  .winla-brand { width: 140px; }
  .winla-header__inner { min-height: 64px; gap: 12px; flex-direction: row; align-items: center; flex-wrap: nowrap; }
  .winla-header__actions { gap: 6px; }
  .winla-hamburger { display: flex; }
  .winla-mobile-nav { display: flex; }
  .winla-mobile-nav__backdrop { display: block; }
  /* Hide desktop nav on mobile */
  .winla-nav,
  .winla-header__actions .winla-button--green,
  .winla-search-toggle,
  .winla-header__actions .winla-lang-toggle { display: none; }

  /* Hero */
  .winla-hero-stage { min-height: clamp(380px, 75vw, 480px); }
  .winla-hero-stage h1,
  .winla-hero h1,
  .winla-hero-title,
  .winla-heading-xl { font-size: clamp(1.7rem, 7vw, 2.2rem); }
  .winla-hero__lede { font-size: 0.95rem; }
  .winla-actions--hero { flex-direction: column; align-items: stretch; gap: 10px; }
  .winla-actions--hero .winla-button a { width: 100%; justify-content: center; text-align: center; }

  /* Impact bar */
  .winla-impact-bar--overlap { margin-top: -24px; }
  .winla-impact-bar--overlap .winla-impact-bar__item { padding: 20px 16px 16px; }
  .winla-impact-bar__item strong { font-size: clamp(1.3rem, 5vw, 1.7rem); }

  /* How We Help cards */
  .winla-help-card { padding: clamp(20px, 4vw, 28px); }
  .winla-help-card__icon { width: 44px; height: 44px; }
  .winla-help-card__icon svg { width: 20px; height: 20px; }

  /* Stats */
  .winla-stats { grid-template-columns: 1fr; }
  .winla-stats--constellation { grid-template-columns: repeat(2, 1fr); }

  /* Supporters cloud */
  .winla-supporters-cloud { height: clamp(320px, 60vw, 440px); }
  .winla-supporters-cloud__hero { padding: 18px 20px; max-width: min(90%, 340px); }
  .winla-supporters-cloud__hero h2 { font-size: 1.05rem; }
  .winla-supporters-cloud__hero p { font-size: 0.78rem; }
  .winla-supporters-cloud__actions { flex-direction: column; gap: 6px; }
  .winla-supporters-cloud__actions .winla-button--small a { font-size: 0.72rem; padding: 6px 12px; width: 100%; justify-content: center; }

  /* Newsletter */
  .winla-newsletter { padding: 20px 16px; gap: 20px; }
  .winla-newsletter h2 { font-size: clamp(1.2rem, 5vw, 1.6rem); }
  .winla-newsletter__actions .winla-button a { width: 100%; justify-content: center; }

  /* Video */
  .winla-video__actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .winla-video__actions .winla-button a { width: 100%; justify-content: center; }

  /* General CTAs */
  .winla-actions { flex-direction: column; align-items: stretch; }
  .winla-button a, .winla-button .wp-block-button__link { width: 100%; justify-content: center; }

  /* Footer */
  .winla-footer { padding: 40px 0 20px; }
  .winla-footer__inner { grid-template-columns: 1fr; gap: 28px; }
  .winla-footer__brand { width: 130px; }
  .winla-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Form page */
  .winla-form-page-hero { padding: clamp(48px, 10vw, 72px) 0 clamp(32px, 6vw, 48px); }
  .winla-form-page-hero__title { font-size: clamp(1.5rem, 6vw, 2.2rem); }
  .winla-form-page-aside { gap: 14px; }
  .winla-form-page-card { padding: clamp(20px, 4vw, 32px); }

  /* Lang toggle — larger touch target in mobile nav footer */
  .winla-mobile-nav__footer .winla-lang-toggle span { padding: 8px 14px; }
  .winla-mobile-nav__footer .winla-lang-toggle { font-size: 0.82rem; }

  /* About — team fan */
  .about-team-fan { min-height: 220px; padding: 0 10px; }
  .about-team-card { width: 130px; height: 170px; margin: 0 -22px; }

  /* About — board nav */
  .about-board-nav-btn { width: 40px; height: 40px; }

  /* About — board slide */
  .about-board-slide { grid-template-columns: 1fr; }
  .about-board-slide__image { aspect-ratio: 3/2; max-height: 220px; }
}

@media (scripting: none) {
  [data-animate] { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
  [data-animate] { opacity: 1; transform: none; }
  .winla-card__icon { transform: scale(1); opacity: 1; }
  .winla-stat__icon-wrap { transform: scale(1); }
  .winla-newsletter,
  .winla-glass-panel,
  .winla-impact-bar--overlap .winla-impact-bar__item,
  .winla-service.winla-glass-panel--light { animation: none; }
  .winla-hero-title__phrase,
  .winla-hero-lang__group { opacity: 1; transform: none; }
  .winla-hero-title__phrase:not(.is-active),
  .winla-hero-lang__group:not(.is-active) { display: none; }
  .winla-hero__slide img { animation: none; transform: none; }
}

/* ═══════════════════════════════════════════════════════════
   PER-PAGE DESIGN IDENTITIES
   ═══════════════════════════════════════════════════════════ */

/* ── Shared page-theme tokens ── */
:root {
  --page-mission-dark:   #0f2b12;
  --page-mission-mid:    #1d5c25;
  --page-mission-light:  #2e8b3a;
  --page-mission-accent: #7ec850;

  --page-therapy-dark:   #3a1800;
  --page-therapy-mid:    #7c3400;
  --page-therapy-light:  #c26020;
  --page-therapy-accent: #f0a044;

  --page-impact-dark:    #07102a;
  --page-impact-mid:     #0f2260;
  --page-impact-light:   #1a3a9e;
  --page-impact-accent:  #f0c040;

  --page-events-dark:    #1e0733;
  --page-events-mid:     #4a0e72;
  --page-events-light:   #8230b8;
  --page-events-accent:  #e040d8;

  --page-involve-dark:   #2d0b00;
  --page-involve-mid:    #7a2200;
  --page-involve-light:  #c94520;
  --page-involve-accent: #f47240;

  --page-contact-dark:   #081828;
  --page-contact-mid:    #0e3458;
  --page-contact-light:  #1c5a96;
  --page-contact-accent: #62b4e8;
}

/* ══════════════════════════════════════════
   MISSION — Forest green, grounded, earthy
   ══════════════════════════════════════════ */

.page--mission .winla-page {
  background:
    radial-gradient(circle at 10% 8%, rgba(46, 139, 58, 0.12), transparent 28vw),
    radial-gradient(circle at 88% 15%, rgba(126, 200, 80, 0.09), transparent 32vw),
    linear-gradient(180deg, #f2f7ee 0%, #eef5e8 48%, #e8f0e2 100%);
}

.page--mission .winla-page-hero {
  background:
    radial-gradient(circle at 18% 28%, rgba(126, 200, 80, 0.14), transparent 38vw),
    radial-gradient(circle at 78% 65%, rgba(46, 139, 58, 0.10), transparent 32vw),
    linear-gradient(148deg,
      rgba(15, 43, 18, 0.96) 0%,
      rgba(29, 92, 37, 0.92) 38%,
      rgba(46, 139, 58, 0.80) 68%,
      rgba(15, 43, 18, 0.94) 100%
    );
}

.page--mission .winla-page-hero--has-media .winla-page-hero__media::after {
  background:
    linear-gradient(108deg, rgba(15, 43, 18, 0.90) 0%, rgba(29, 92, 37, 0.72) 44%, rgba(46, 139, 58, 0.28) 100%),
    linear-gradient(180deg, transparent 48%, rgba(15, 43, 18, 0.52) 100%);
}

.page--mission .winla-page-hero__glass {
  background:
    linear-gradient(135deg, rgba(15, 43, 18, 0.62), rgba(29, 92, 37, 0.38)),
    radial-gradient(circle at 85% 15%, rgba(126, 200, 80, 0.22), transparent 44%);
  border-color: rgba(126, 200, 80, 0.18);
  box-shadow:
    0 20px 60px rgba(15, 43, 18, 0.28),
    0 0 40px rgba(126, 200, 80, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.page--mission .winla-eyebrow {
  color: var(--page-mission-accent);
}

.page--mission .winla-glass-eyebrow {
  color: rgba(180, 230, 140, 0.95);
}

.page--mission .winla-section--teal {
  background:
    radial-gradient(circle at 15% 20%, rgba(126, 200, 80, 0.24), transparent 38vw),
    radial-gradient(circle at 85% 75%, rgba(46, 139, 58, 0.20), transparent 30vw),
    linear-gradient(155deg, #0f2b12 0%, #1d5c25 36%, #2e8b3a 72%, #0f2b12 100%);
}

.page--mission .winla-section--glow-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(126, 200, 80, 0.20), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(46, 139, 58, 0.26), transparent 34vw),
    linear-gradient(155deg, #0f2b12 0%, #1d5c25 34%, #2e8b3a 66%, #0f2b12 100%);
}

.page--mission .winla-section--glow-ambient::before {
  background: radial-gradient(circle, rgba(46, 139, 58, 0.12), rgba(126, 200, 80, 0.05) 38%, transparent 68%);
}

.page--mission .winla-section--glow-ambient::after {
  background: radial-gradient(circle, rgba(126, 200, 80, 0.11), rgba(46, 139, 58, 0.04) 42%, transparent 70%);
}

.page--mission .winla-rule {
  background: linear-gradient(90deg, var(--page-mission-light), var(--page-mission-accent)) !important;
}

.page--mission .win-progress {
  background: var(--page-mission-accent);
}

/* ══════════════════════════════════════════
   THERAPY — Warm amber, healing sunrise
   ══════════════════════════════════════════ */

.page--therapy .winla-page {
  background:
    radial-gradient(circle at 12% 6%, rgba(240, 160, 68, 0.13), transparent 26vw),
    radial-gradient(circle at 86% 14%, rgba(194, 96, 32, 0.09), transparent 30vw),
    linear-gradient(180deg, #fdf8f0 0%, #faf2e4 48%, #f5ead6 100%);
}

.page--therapy .winla-page-hero {
  background:
    radial-gradient(circle at 22% 32%, rgba(240, 160, 68, 0.16), transparent 40vw),
    radial-gradient(circle at 72% 62%, rgba(194, 96, 32, 0.12), transparent 34vw),
    linear-gradient(148deg,
      rgba(58, 24, 0, 0.97) 0%,
      rgba(124, 52, 0, 0.91) 36%,
      rgba(194, 96, 32, 0.80) 66%,
      rgba(58, 24, 0, 0.95) 100%
    );
}

.page--therapy .winla-page-hero--has-media .winla-page-hero__media::after {
  background:
    linear-gradient(108deg, rgba(58, 24, 0, 0.91) 0%, rgba(124, 52, 0, 0.70) 44%, rgba(194, 96, 32, 0.28) 100%),
    linear-gradient(180deg, transparent 48%, rgba(58, 24, 0, 0.54) 100%);
}

.page--therapy .winla-page-hero__glass {
  background:
    linear-gradient(135deg, rgba(58, 24, 0, 0.60), rgba(124, 52, 0, 0.38)),
    radial-gradient(circle at 82% 14%, rgba(240, 160, 68, 0.24), transparent 42%);
  border-color: rgba(240, 160, 68, 0.20);
  box-shadow:
    0 20px 60px rgba(58, 24, 0, 0.30),
    0 0 40px rgba(240, 160, 68, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.page--therapy .winla-eyebrow {
  color: var(--page-therapy-light);
}

.page--therapy .winla-glass-eyebrow {
  color: rgba(255, 195, 120, 0.95);
}

.page--therapy .winla-section--teal {
  background:
    radial-gradient(circle at 18% 22%, rgba(240, 160, 68, 0.22), transparent 36vw),
    radial-gradient(circle at 82% 72%, rgba(194, 96, 32, 0.18), transparent 30vw),
    linear-gradient(155deg, #3a1800 0%, #7c3400 36%, #c26020 70%, #3a1800 100%);
}

.page--therapy .winla-section--glow-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(240, 160, 68, 0.22), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(194, 96, 32, 0.28), transparent 34vw),
    linear-gradient(155deg, #3a1800 0%, #7c3400 34%, #c26020 66%, #3a1800 100%);
}

.page--therapy .winla-section--glow-ambient::before {
  background: radial-gradient(circle, rgba(194, 96, 32, 0.11), rgba(240, 160, 68, 0.05) 38%, transparent 68%);
}

.page--therapy .winla-section--glow-ambient::after {
  background: radial-gradient(circle, rgba(240, 160, 68, 0.10), rgba(194, 96, 32, 0.04) 42%, transparent 70%);
}

.page--therapy .winla-rule {
  background: linear-gradient(90deg, var(--page-therapy-light), var(--page-therapy-accent)) !important;
}

.page--therapy .win-progress {
  background: var(--page-therapy-accent);
}

/* ══════════════════════════════════════════
   IMPACT — Navy/gold, bold data energy
   ══════════════════════════════════════════ */

.page--impact .winla-page {
  background:
    radial-gradient(circle at 8% 10%, rgba(26, 58, 158, 0.11), transparent 28vw),
    radial-gradient(circle at 90% 12%, rgba(240, 192, 64, 0.10), transparent 32vw),
    linear-gradient(180deg, #f0f3fb 0%, #eaeff8 48%, #e3e9f4 100%);
}

.page--impact .winla-page-hero {
  background:
    radial-gradient(circle at 16% 25%, rgba(240, 192, 64, 0.14), transparent 38vw),
    radial-gradient(circle at 80% 68%, rgba(26, 58, 158, 0.16), transparent 34vw),
    linear-gradient(148deg,
      rgba(7, 16, 42, 0.97) 0%,
      rgba(15, 34, 96, 0.93) 38%,
      rgba(26, 58, 158, 0.80) 68%,
      rgba(7, 16, 42, 0.95) 100%
    );
}

.page--impact .winla-page-hero--has-media .winla-page-hero__media::after {
  background:
    linear-gradient(108deg, rgba(7, 16, 42, 0.92) 0%, rgba(15, 34, 96, 0.72) 44%, rgba(26, 58, 158, 0.30) 100%),
    linear-gradient(180deg, transparent 48%, rgba(7, 16, 42, 0.54) 100%);
}

.page--impact .winla-page-hero__glass {
  background:
    linear-gradient(135deg, rgba(7, 16, 42, 0.62), rgba(15, 34, 96, 0.40)),
    radial-gradient(circle at 84% 16%, rgba(240, 192, 64, 0.28), transparent 44%);
  border-color: rgba(240, 192, 64, 0.22);
  box-shadow:
    0 20px 60px rgba(7, 16, 42, 0.32),
    0 0 44px rgba(240, 192, 64, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.page--impact .winla-eyebrow {
  color: var(--page-impact-light);
}

.page--impact .winla-glass-eyebrow {
  color: rgba(255, 215, 100, 0.95);
}

.page--impact .winla-section--teal {
  background:
    radial-gradient(circle at 16% 20%, rgba(240, 192, 64, 0.24), transparent 36vw),
    radial-gradient(circle at 84% 74%, rgba(26, 58, 158, 0.22), transparent 30vw),
    linear-gradient(155deg, #07102a 0%, #0f2260 36%, #1a3a9e 70%, #07102a 100%);
}

.page--impact .winla-section--glow-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(240, 192, 64, 0.22), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(26, 58, 158, 0.28), transparent 34vw),
    linear-gradient(155deg, #07102a 0%, #0f2260 34%, #1a3a9e 66%, #07102a 100%);
}

.page--impact .winla-section--glow-ambient::before {
  background: radial-gradient(circle, rgba(26, 58, 158, 0.11), rgba(240, 192, 64, 0.05) 38%, transparent 68%);
}

.page--impact .winla-section--glow-ambient::after {
  background: radial-gradient(circle, rgba(240, 192, 64, 0.11), rgba(26, 58, 158, 0.04) 42%, transparent 70%);
}

/* Impact stat number gold accent */
.page--impact .winla-stat__value {
  color: var(--page-impact-accent);
  text-shadow: 0 0 24px rgba(240, 192, 64, 0.3);
}

.page--impact .winla-rule {
  background: linear-gradient(90deg, var(--page-impact-light), var(--page-impact-accent)) !important;
}

.page--impact .win-progress {
  background: var(--page-impact-accent);
}

/* ══════════════════════════════════════════
   EVENTS — Plum/magenta, celebration energy
   ══════════════════════════════════════════ */

.page--events .winla-page {
  background:
    radial-gradient(circle at 8% 8%, rgba(130, 48, 184, 0.11), transparent 28vw),
    radial-gradient(circle at 90% 12%, rgba(224, 64, 216, 0.08), transparent 30vw),
    linear-gradient(180deg, #faf0fd 0%, #f5e8fb 48%, #eedad8 100%);
}

.page--events .winla-page-hero {
  background:
    radial-gradient(circle at 20% 30%, rgba(224, 64, 216, 0.16), transparent 40vw),
    radial-gradient(circle at 76% 60%, rgba(130, 48, 184, 0.14), transparent 34vw),
    linear-gradient(148deg,
      rgba(30, 7, 51, 0.97) 0%,
      rgba(74, 14, 114, 0.92) 36%,
      rgba(130, 48, 184, 0.80) 66%,
      rgba(30, 7, 51, 0.95) 100%
    );
}

.page--events .winla-page-hero--has-media .winla-page-hero__media::after {
  background:
    linear-gradient(108deg, rgba(30, 7, 51, 0.91) 0%, rgba(74, 14, 114, 0.70) 44%, rgba(130, 48, 184, 0.28) 100%),
    linear-gradient(180deg, transparent 48%, rgba(30, 7, 51, 0.54) 100%);
}

.page--events .winla-page-hero__glass {
  background:
    linear-gradient(135deg, rgba(30, 7, 51, 0.60), rgba(74, 14, 114, 0.38)),
    radial-gradient(circle at 84% 14%, rgba(224, 64, 216, 0.26), transparent 44%);
  border-color: rgba(224, 64, 216, 0.18);
  box-shadow:
    0 20px 60px rgba(30, 7, 51, 0.30),
    0 0 44px rgba(224, 64, 216, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.page--events .winla-eyebrow {
  color: var(--page-events-light);
}

.page--events .winla-glass-eyebrow {
  color: rgba(240, 180, 255, 0.95);
}

.page--events .winla-section--teal {
  background:
    radial-gradient(circle at 16% 20%, rgba(224, 64, 216, 0.22), transparent 36vw),
    radial-gradient(circle at 84% 74%, rgba(130, 48, 184, 0.20), transparent 30vw),
    linear-gradient(155deg, #1e0733 0%, #4a0e72 36%, #8230b8 70%, #1e0733 100%);
}

.page--events .winla-section--glow-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(224, 64, 216, 0.22), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(130, 48, 184, 0.28), transparent 34vw),
    linear-gradient(155deg, #1e0733 0%, #4a0e72 34%, #8230b8 66%, #1e0733 100%);
}

.page--events .winla-section--glow-ambient::before {
  background: radial-gradient(circle, rgba(130, 48, 184, 0.11), rgba(224, 64, 216, 0.05) 38%, transparent 68%);
}

.page--events .winla-section--glow-ambient::after {
  background: radial-gradient(circle, rgba(224, 64, 216, 0.10), rgba(130, 48, 184, 0.04) 42%, transparent 70%);
}

.page--events .winla-rule {
  background: linear-gradient(90deg, var(--page-events-light), var(--page-events-accent)) !important;
}

.page--events .win-progress {
  background: var(--page-events-accent);
}

/* Card glow for events */
.page--events .winla-service--tone-1::after {
  background: radial-gradient(circle, rgba(130, 48, 184, 0.20), transparent 68%);
}
.page--events .winla-service--tone-2::after {
  background: radial-gradient(circle, rgba(224, 64, 216, 0.22), transparent 68%);
}
.page--events .winla-service--tone-3::after {
  background: radial-gradient(circle, rgba(224, 64, 216, 0.16), transparent 68%);
}

/* ══════════════════════════════════════════
   GET INVOLVED — Coral/orange, action passion
   ══════════════════════════════════════════ */

.page--involve .winla-page {
  background:
    radial-gradient(circle at 10% 8%, rgba(201, 69, 32, 0.12), transparent 26vw),
    radial-gradient(circle at 88% 14%, rgba(244, 114, 64, 0.09), transparent 30vw),
    linear-gradient(180deg, #fdf5f0 0%, #faeee6 48%, #f5e4d8 100%);
}

.page--involve .winla-page-hero {
  background:
    radial-gradient(circle at 22% 32%, rgba(244, 114, 64, 0.16), transparent 40vw),
    radial-gradient(circle at 74% 64%, rgba(201, 69, 32, 0.13), transparent 34vw),
    linear-gradient(148deg,
      rgba(45, 11, 0, 0.97) 0%,
      rgba(122, 34, 0, 0.92) 36%,
      rgba(201, 69, 32, 0.80) 66%,
      rgba(45, 11, 0, 0.95) 100%
    );
}

.page--involve .winla-page-hero--has-media .winla-page-hero__media::after {
  background:
    linear-gradient(108deg, rgba(45, 11, 0, 0.91) 0%, rgba(122, 34, 0, 0.70) 44%, rgba(201, 69, 32, 0.28) 100%),
    linear-gradient(180deg, transparent 48%, rgba(45, 11, 0, 0.54) 100%);
}

.page--involve .winla-page-hero__glass {
  background:
    linear-gradient(135deg, rgba(45, 11, 0, 0.60), rgba(122, 34, 0, 0.38)),
    radial-gradient(circle at 82% 16%, rgba(244, 114, 64, 0.26), transparent 44%);
  border-color: rgba(244, 114, 64, 0.20);
  box-shadow:
    0 20px 60px rgba(45, 11, 0, 0.30),
    0 0 44px rgba(244, 114, 64, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.page--involve .winla-eyebrow {
  color: var(--page-involve-light);
}

.page--involve .winla-glass-eyebrow {
  color: rgba(255, 185, 145, 0.95);
}

.page--involve .winla-section--teal {
  background:
    radial-gradient(circle at 16% 22%, rgba(244, 114, 64, 0.22), transparent 36vw),
    radial-gradient(circle at 84% 72%, rgba(201, 69, 32, 0.20), transparent 30vw),
    linear-gradient(155deg, #2d0b00 0%, #7a2200 36%, #c94520 70%, #2d0b00 100%);
}

.page--involve .winla-section--glow-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(244, 114, 64, 0.22), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(201, 69, 32, 0.28), transparent 34vw),
    linear-gradient(155deg, #2d0b00 0%, #7a2200 34%, #c94520 66%, #2d0b00 100%);
}

.page--involve .winla-section--glow-ambient::before {
  background: radial-gradient(circle, rgba(201, 69, 32, 0.11), rgba(244, 114, 64, 0.05) 38%, transparent 68%);
}

.page--involve .winla-section--glow-ambient::after {
  background: radial-gradient(circle, rgba(244, 114, 64, 0.10), rgba(201, 69, 32, 0.04) 42%, transparent 70%);
}

.page--involve .winla-rule {
  background: linear-gradient(90deg, var(--page-involve-light), var(--page-involve-accent)) !important;
}

.page--involve .win-progress {
  background: var(--page-involve-accent);
}

/* ══════════════════════════════════════════
   CONTACT — Slate blue, calm & approachable
   ══════════════════════════════════════════ */

.page--contact .winla-page {
  background:
    radial-gradient(circle at 10% 8%, rgba(28, 90, 150, 0.11), transparent 28vw),
    radial-gradient(circle at 88% 12%, rgba(98, 180, 232, 0.09), transparent 30vw),
    linear-gradient(180deg, #f0f6fc 0%, #e8f2f9 48%, #deedf6 100%);
}

.page--contact .winla-page-hero {
  background:
    radial-gradient(circle at 18% 28%, rgba(98, 180, 232, 0.16), transparent 40vw),
    radial-gradient(circle at 78% 64%, rgba(28, 90, 150, 0.14), transparent 34vw),
    linear-gradient(148deg,
      rgba(8, 24, 40, 0.97) 0%,
      rgba(14, 52, 88, 0.92) 36%,
      rgba(28, 90, 150, 0.82) 66%,
      rgba(8, 24, 40, 0.95) 100%
    );
}

.page--contact .winla-page-hero--has-media .winla-page-hero__media::after {
  background:
    linear-gradient(108deg, rgba(8, 24, 40, 0.91) 0%, rgba(14, 52, 88, 0.70) 44%, rgba(28, 90, 150, 0.28) 100%),
    linear-gradient(180deg, transparent 48%, rgba(8, 24, 40, 0.54) 100%);
}

.page--contact .winla-page-hero__glass {
  background:
    linear-gradient(135deg, rgba(8, 24, 40, 0.60), rgba(14, 52, 88, 0.38)),
    radial-gradient(circle at 84% 14%, rgba(98, 180, 232, 0.28), transparent 44%);
  border-color: rgba(98, 180, 232, 0.20);
  box-shadow:
    0 20px 60px rgba(8, 24, 40, 0.28),
    0 0 44px rgba(98, 180, 232, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.page--contact .winla-eyebrow {
  color: var(--page-contact-light);
}

.page--contact .winla-glass-eyebrow {
  color: rgba(160, 215, 255, 0.95);
}

.page--contact .winla-section--teal {
  background:
    radial-gradient(circle at 16% 22%, rgba(98, 180, 232, 0.22), transparent 36vw),
    radial-gradient(circle at 84% 72%, rgba(28, 90, 150, 0.20), transparent 30vw),
    linear-gradient(155deg, #081828 0%, #0e3458 36%, #1c5a96 70%, #081828 100%);
}

.page--contact .winla-section--glow-cta {
  background:
    radial-gradient(circle at 12% 18%, rgba(98, 180, 232, 0.22), transparent 30vw),
    radial-gradient(circle at 84% 26%, rgba(28, 90, 150, 0.28), transparent 34vw),
    linear-gradient(155deg, #081828 0%, #0e3458 34%, #1c5a96 66%, #081828 100%);
}

.page--contact .winla-section--glow-ambient::before {
  background: radial-gradient(circle, rgba(28, 90, 150, 0.11), rgba(98, 180, 232, 0.05) 38%, transparent 68%);
}

.page--contact .winla-section--glow-ambient::after {
  background: radial-gradient(circle, rgba(98, 180, 232, 0.10), rgba(28, 90, 150, 0.04) 42%, transparent 70%);
}

.page--contact .winla-rule {
  background: linear-gradient(90deg, var(--page-contact-light), var(--page-contact-accent)) !important;
}

.page--contact .win-progress {
  background: var(--page-contact-accent);
}

/* Contact card accent for contact page */
.page--contact .winla-contact-card::after {
  background: radial-gradient(circle, rgba(98, 180, 232, 0.18), transparent 70%);
}

/* ── Per-theme primary buttons ── */

.page--mission .winla-button--primary a,
.page--mission .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--page-mission-light) 0%, var(--page-mission-dark) 100%);
  box-shadow: 0 4px 16px rgba(46, 139, 58, 0.28), 0 0 24px rgba(126, 200, 80, 0.10);
}
.page--mission .winla-button--primary a:hover,
.page--mission .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--page-mission-accent) 0%, var(--page-mission-mid) 100%);
  box-shadow: 0 8px 28px rgba(46, 139, 58, 0.42), 0 0 36px rgba(126, 200, 80, 0.16);
}

.page--therapy .winla-button--primary a,
.page--therapy .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--page-therapy-light) 0%, var(--page-therapy-dark) 100%);
  box-shadow: 0 4px 16px rgba(194, 96, 32, 0.28), 0 0 24px rgba(240, 160, 68, 0.10);
}
.page--therapy .winla-button--primary a:hover,
.page--therapy .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--page-therapy-accent) 0%, var(--page-therapy-mid) 100%);
  box-shadow: 0 8px 28px rgba(194, 96, 32, 0.42), 0 0 36px rgba(240, 160, 68, 0.16);
}

.page--impact .winla-button--primary a,
.page--impact .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--page-impact-light) 0%, var(--page-impact-dark) 100%);
  box-shadow: 0 4px 16px rgba(26, 58, 158, 0.28), 0 0 24px rgba(240, 192, 64, 0.10);
}
.page--impact .winla-button--primary a:hover,
.page--impact .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--page-impact-accent) 0%, var(--page-impact-mid) 100%);
  box-shadow: 0 8px 28px rgba(26, 58, 158, 0.42), 0 0 36px rgba(240, 192, 64, 0.16);
}

.page--events .winla-button--primary a,
.page--events .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--page-events-light) 0%, var(--page-events-dark) 100%);
  box-shadow: 0 4px 16px rgba(130, 48, 184, 0.28), 0 0 24px rgba(224, 64, 216, 0.10);
}
.page--events .winla-button--primary a:hover,
.page--events .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--page-events-accent) 0%, var(--page-events-mid) 100%);
  box-shadow: 0 8px 28px rgba(130, 48, 184, 0.42), 0 0 36px rgba(224, 64, 216, 0.16);
}

.page--involve .winla-button--primary a,
.page--involve .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--page-involve-light) 0%, var(--page-involve-dark) 100%);
  box-shadow: 0 4px 16px rgba(201, 69, 32, 0.28), 0 0 24px rgba(244, 114, 64, 0.10);
}
.page--involve .winla-button--primary a:hover,
.page--involve .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--page-involve-accent) 0%, var(--page-involve-mid) 100%);
  box-shadow: 0 8px 28px rgba(201, 69, 32, 0.42), 0 0 36px rgba(244, 114, 64, 0.16);
}

.page--contact .winla-button--primary a,
.page--contact .winla-button--primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--page-contact-light) 0%, var(--page-contact-dark) 100%);
  box-shadow: 0 4px 16px rgba(28, 90, 150, 0.28), 0 0 24px rgba(98, 180, 232, 0.10);
}
.page--contact .winla-button--primary a:hover,
.page--contact .winla-button--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--page-contact-accent) 0%, var(--page-contact-mid) 100%);
  box-shadow: 0 8px 28px rgba(28, 90, 150, 0.42), 0 0 36px rgba(98, 180, 232, 0.16);
}

/* ── Per-theme link + eyebrow colors in light sections ── */

.page--mission .winla-link-list a,
.page--mission a.winla-link { color: var(--page-mission-mid); }
.page--mission .winla-link-list a:hover,
.page--mission a.winla-link:hover { color: var(--page-mission-light); }
.page--mission .winla-check-list li::before {
  background: linear-gradient(135deg, var(--page-mission-light), var(--page-mission-accent));
}

.page--therapy .winla-link-list a,
.page--therapy a.winla-link { color: var(--page-therapy-mid); }
.page--therapy .winla-link-list a:hover,
.page--therapy a.winla-link:hover { color: var(--page-therapy-light); }
.page--therapy .winla-check-list li::before {
  background: linear-gradient(135deg, var(--page-therapy-light), var(--page-therapy-accent));
}

.page--impact .winla-link-list a,
.page--impact a.winla-link { color: var(--page-impact-mid); }
.page--impact .winla-link-list a:hover,
.page--impact a.winla-link:hover { color: var(--page-impact-light); }
.page--impact .winla-check-list li::before {
  background: linear-gradient(135deg, var(--page-impact-light), var(--page-impact-accent));
}

.page--events .winla-link-list a,
.page--events a.winla-link { color: var(--page-events-mid); }
.page--events .winla-link-list a:hover,
.page--events a.winla-link:hover { color: var(--page-events-light); }
.page--events .winla-check-list li::before {
  background: linear-gradient(135deg, var(--page-events-light), var(--page-events-accent));
}

.page--involve .winla-link-list a,
.page--involve a.winla-link { color: var(--page-involve-mid); }
.page--involve .winla-link-list a:hover,
.page--involve a.winla-link:hover { color: var(--page-involve-light); }
.page--involve .winla-check-list li::before {
  background: linear-gradient(135deg, var(--page-involve-light), var(--page-involve-accent));
}

.page--contact .winla-link-list a,
.page--contact a.winla-link { color: var(--page-contact-mid); }
.page--contact .winla-link-list a:hover,
.page--contact a.winla-link:hover { color: var(--page-contact-light); }
.page--contact .winla-check-list li::before {
  background: linear-gradient(135deg, var(--page-contact-light), var(--page-contact-accent));
}

/* ── Per-theme section intro rule (override site-wide teal/green) ── */

.page--mission .winla-section__intro .winla-rule,
.page--mission .winla-page-main .winla-section__intro .winla-rule {
  background: linear-gradient(90deg, var(--page-mission-light), var(--page-mission-accent));
}

.page--therapy .winla-section__intro .winla-rule,
.page--therapy .winla-page-main .winla-section__intro .winla-rule {
  background: linear-gradient(90deg, var(--page-therapy-light), var(--page-therapy-accent));
}

.page--impact .winla-section__intro .winla-rule,
.page--impact .winla-page-main .winla-section__intro .winla-rule {
  background: linear-gradient(90deg, var(--page-impact-light), var(--page-impact-accent));
}

.page--events .winla-section__intro .winla-rule,
.page--events .winla-page-main .winla-section__intro .winla-rule {
  background: linear-gradient(90deg, var(--page-events-light), var(--page-events-accent));
}

.page--involve .winla-section__intro .winla-rule,
.page--involve .winla-page-main .winla-section__intro .winla-rule {
  background: linear-gradient(90deg, var(--page-involve-light), var(--page-involve-accent));
}

.page--contact .winla-section__intro .winla-rule,
.page--contact .winla-page-main .winla-section__intro .winla-rule {
  background: linear-gradient(90deg, var(--page-contact-light), var(--page-contact-accent));
}

/* ══════════════════════════════════════════
   PER-PAGE SECTION LAYOUT OVERRIDES
   Uses .section--page-{slug} + .section--idx-{n}
   ══════════════════════════════════════════ */

/* ── MISSION: vision intro (idx 2) → centered manifesto, no split ── */

.section--page-mission-vision-values.section--idx-2 .winla-split {
  display: block;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}

.section--page-mission-vision-values.section--idx-2 .winla-split .winla-feature-image {
  display: none;
}

.section--page-mission-vision-values.section--idx-2 .winla-split__copy h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
}

.section--page-mission-vision-values.section--idx-2 .winla-split__copy::before {
  display: none;
}

.section--page-mission-vision-values.section--idx-2 .winla-rich-text {
  font-size: 1.15rem;
  line-height: 1.75;
  max-width: 52ch;
  margin: 0 auto;
}

/* Mission cards → horizontal pillars */
.section--page-mission-vision-values .winla-services--mosaic {
  grid-template-columns: 1fr;
  gap: clamp(14px, 2vw, 20px);
}

.section--page-mission-vision-values .winla-services--mosaic .winla-service,
.section--page-mission-vision-values .winla-services--mosaic .winla-service:nth-child(4n+1),
.section--page-mission-vision-values .winla-services--mosaic .winla-service:nth-child(4n+2) {
  grid-column: auto;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 0 clamp(20px, 3vw, 32px);
  min-height: 0;
  padding: clamp(24px, 3vw, 32px) clamp(24px, 3.5vw, 40px);
}

.section--page-mission-vision-values .winla-services--mosaic .winla-service h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.section--page-mission-vision-values .winla-services--mosaic .winla-service p {
  grid-column: 2;
  grid-row: 2;
  margin: 6px 0 0;
}

.section--page-mission-vision-values .winla-services--mosaic .winla-service::before {
  content: counter(mission-card);
  counter-increment: mission-card;
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--page-mission-light), var(--page-mission-accent));
  color: white;
  font-size: 1.1rem;
  font-weight: 800;
  flex-shrink: 0;
  align-self: center;
}

.section--page-mission-vision-values .winla-services--mosaic {
  counter-reset: mission-card;
}

/* ── THERAPY: page-specific cadence ── */

.section--page-therapy.section--idx-0 .winla-split {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  gap: clamp(36px, 6vw, 72px);
  align-items: stretch;
}

.section--page-therapy.section--idx-0 .winla-split__copy {
  padding: clamp(34px, 4.5vw, 56px);
  border-radius: var(--win-radius-lg);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.72), rgba(255, 248, 240, 0.58)),
    radial-gradient(circle at 88% 14%, rgba(240, 160, 68, 0.16), transparent 40%);
  border: 1px solid rgba(194, 96, 32, 0.10);
  box-shadow: 0 18px 56px rgba(58, 24, 0, 0.08);
}

.section--page-therapy.section--idx-0 .winla-split__copy::before {
  background: linear-gradient(180deg, var(--page-therapy-light), var(--page-therapy-accent));
  height: 72px;
}

.section--page-therapy.section--idx-0 .winla-rich-text {
  font-size: 1rem;
  line-height: 1.8;
}

.section--page-therapy.section--idx-0 .winla-feature-image img {
  min-height: 520px;
  border-radius: 10px;
}

.section--page-therapy.section--idx-1 {
  padding-top: clamp(56px, 8vw, 88px);
}

.section--page-therapy.section--idx-1 .winla-section__intro {
  max-width: 720px;
  margin: 0 auto 28px;
  text-align: center;
}

.section--page-therapy.section--idx-1 .winla-section__intro h2 {
  font-size: clamp(2rem, 4.4vw, 3.2rem);
}

.section--page-therapy.section--idx-1 .winla-services--mosaic {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 28px);
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service,
.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(4n+1),
.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(4n+2) {
  grid-column: span 1;
  min-height: 420px;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 54px rgba(58, 24, 0, 0.16);
  position: relative;
  display: flex;
  align-items: flex-end;
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(1)::before {
  background-image:
    linear-gradient(180deg, rgba(15, 12, 10, 0.05) 0%, rgba(15, 12, 10, 0.76) 100%),
    url("/assets/images/Annotation-2020-08-25-101603-e1598466719451.jpg");
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(2)::before {
  background-image:
    linear-gradient(180deg, rgba(15, 12, 10, 0.10) 0%, rgba(15, 12, 10, 0.8) 100%),
    url("/assets/images/hero-slide-1.png");
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(3)::before {
  background-image:
    linear-gradient(180deg, rgba(15, 12, 10, 0.08) 0%, rgba(15, 12, 10, 0.8) 100%),
    url("/assets/images/Annotation-2020-08-25-101636-e1598466802567.jpg");
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service > * {
  position: relative;
  z-index: 1;
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service.winla-glass-panel--light {
  background: transparent;
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service h3,
.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service p {
  color: #fff;
  width: 100%;
  padding-left: clamp(22px, 3vw, 28px);
  padding-right: clamp(22px, 3vw, 28px);
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service h3 {
  margin: 0 0 10px;
  padding-top: clamp(180px, 18vw, 240px);
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service p {
  margin: 0;
  padding-bottom: clamp(24px, 3vw, 30px);
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.84);
}

.section--page-therapy.section--idx-2 .winla-split,
.section--page-therapy.section--idx-5 .winla-split {
  display: block;
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.section--page-therapy.section--idx-2 .winla-split .winla-feature-image,
.section--page-therapy.section--idx-5 .winla-split .winla-feature-image {
  display: none;
}

.section--page-therapy.section--idx-2 .winla-split__copy,
.section--page-therapy.section--idx-5 .winla-split__copy {
  padding: clamp(36px, 5vw, 60px) clamp(32px, 6vw, 64px);
  border-radius: var(--win-radius-lg);
  border: 1px solid rgba(194, 96, 32, 0.10);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 248, 240, 0.54));
  box-shadow: 0 18px 52px rgba(58, 24, 0, 0.08);
}

.section--page-therapy.section--idx-2 .winla-split__copy::before,
.section--page-therapy.section--idx-5 .winla-split__copy::before {
  display: none;
}

.section--page-therapy.section--idx-2 .winla-split__copy h2,
.section--page-therapy.section--idx-5 .winla-split__copy h2 {
  font-size: clamp(1.9rem, 3.6vw, 2.8rem);
}

.section--page-therapy.section--idx-2 .winla-rich-text,
.section--page-therapy.section--idx-5 .winla-rich-text {
  max-width: 56ch;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.8;
}

.section--page-therapy.section--idx-3 .winla-split {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: stretch;
}

.section--page-therapy.section--idx-3 .winla-panel-glass {
  padding: clamp(28px, 4vw, 42px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 248, 240, 0.58)),
    radial-gradient(circle at 100% 0%, rgba(240, 160, 68, 0.14), transparent 36%);
  border: 1px solid rgba(194, 96, 32, 0.10);
}

.section--page-therapy.section--idx-3 .winla-panel-glass h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.4rem);
}

.section--page-therapy.section--idx-3 .winla-check-list--glass {
  margin-top: 20px;
  gap: 14px;
}

.section--page-therapy.section--idx-3 .winla-check-list--glass li {
  padding: 0 0 0 34px;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--win-ink);
}

.section--page-therapy.section--idx-3 .winla-feature-image img {
  min-height: 100%;
  height: 100%;
  border-radius: 10px;
}

.section--page-therapy.section--idx-4 .winla-split {
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 62px);
}

.section--page-therapy.section--idx-4 .winla-split__copy {
  padding-left: clamp(14px, 2vw, 22px);
  border-left: 3px solid rgba(194, 96, 32, 0.22);
}

.section--page-therapy.section--idx-4 .winla-split__copy::before {
  display: none;
}

.section--page-therapy.section--idx-4 .winla-feature-image img {
  min-height: 460px;
  border-radius: 10px;
}

/* ── IMPACT: intro (idx 1) → centered, no image ── */

.section--page-outcomes.section--idx-1 .winla-split {
  display: block;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}

.section--page-outcomes.section--idx-1 .winla-split .winla-feature-image {
  display: none;
}

.section--page-outcomes.section--idx-1 .winla-split__copy::before {
  display: none;
}

.section--page-outcomes.section--idx-1 .winla-split__copy h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
}

.section--page-outcomes.section--idx-1 .winla-rich-text {
  font-size: 1.05rem;
  line-height: 1.8;
  max-width: 58ch;
  margin: 0 auto;
}

/* Impact: links section (idx 2) → centered list, no split image ── */

.section--page-outcomes.section--idx-2 .winla-split {
  display: block;
  max-width: 640px;
  margin: 0 auto;
}

.section--page-outcomes.section--idx-2 .winla-split .winla-feature-image {
  display: none;
}

.section--page-outcomes.section--idx-2 .winla-split > div {
  width: 100%;
}

.section--page-outcomes.section--idx-2 .winla-panel-glass {
  border-radius: var(--win-radius-lg);
}

.section--page-outcomes.section--idx-2 .winla-link-list {
  margin-top: 16px;
}

/* Impact stats → 2×2 grid for breathing room */
.section--page-outcomes.section--idx-0 .winla-stats--constellation {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.section--page-outcomes.section--idx-0 .winla-stats--constellation .winla-stat:nth-child(even) {
  margin-top: 0;
}

/* ── EVENTS: cards → large full-bleed featured tiles ── */

.section--page-events .winla-services--mosaic {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
}

.section--page-events .winla-services--mosaic .winla-service,
.section--page-events .winla-services--mosaic .winla-service:nth-child(4n+1),
.section--page-events .winla-services--mosaic .winla-service:nth-child(4n+2) {
  grid-column: span 1;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(28px, 4vw, 44px) clamp(24px, 3.5vw, 36px);
}

.section--page-events .winla-services--mosaic .winla-service h3 {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  letter-spacing: -0.02em;
}

.section--page-events .winla-services--mosaic .winla-service p {
  flex: 1;
  margin: 10px 0 20px;
}

.section--page-events .winla-services--mosaic .winla-link {
  margin-top: auto;
  font-size: 0.9rem;
}

/* ── GET INVOLVED: donation cards → prominent featured layout ── */

.section--page-ways-you-can-help .winla-services--mosaic {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
}

.section--page-ways-you-can-help .winla-services--mosaic .winla-service,
.section--page-ways-you-can-help .winla-services--mosaic .winla-service:nth-child(4n+1),
.section--page-ways-you-can-help .winla-services--mosaic .winla-service:nth-child(4n+2) {
  grid-column: span 1;
  display: flex;
  flex-direction: column;
  min-height: 240px;
  padding: clamp(28px, 4vw, 44px) clamp(24px, 3.5vw, 36px);
}

/* First card (Donate) gets featured width */
.section--page-ways-you-can-help .winla-services--mosaic .winla-service:first-child {
  grid-column: span 3;
  flex-direction: row;
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  min-height: 0;
  padding: clamp(32px, 5vw, 56px) clamp(32px, 5vw, 56px);
}

.section--page-ways-you-can-help .winla-services--mosaic .winla-service:first-child h3 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin: 0;
  min-width: 0;
  flex: 0 0 auto;
}

.section--page-ways-you-can-help .winla-services--mosaic .winla-service:first-child p {
  flex: 1;
  margin: 0;
  font-size: 1.0rem;
  line-height: 1.65;
}

.section--page-ways-you-can-help .winla-services--mosaic .winla-service:first-child .winla-link {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 700;
}

.section--page-ways-you-can-help .winla-services--mosaic .winla-service p {
  flex: 1;
  margin: 10px 0 20px;
}

.section--page-ways-you-can-help .winla-services--mosaic .winla-service .winla-link {
  margin-top: auto;
}

/* ── CONTACT: hide the redundant "We're here to help" split, show only contact cards ── */

.section--page-contact.section--idx-0 .winla-split--contact-scene {
  display: none;
}

.section--page-contact.section--idx-0 .winla-page-main .winla-contact-grid {
  margin-top: 0;
}

/* Contact cards → larger, more breathable */
.section--page-contact .winla-contact-grid {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  gap: clamp(20px, 3.5vw, 32px);
}

.section--page-contact .winla-contact-card {
  text-align: center;
  padding: clamp(32px, 5vw, 52px) clamp(24px, 4vw, 40px);
}

.section--page-contact .winla-contact-card__label {
  font-size: 0.78rem;
}

.section--page-contact .winla-contact-card__value {
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 4px;
}

/* Add a centered intro heading above contact cards */
.section--page-contact.section--idx-0::before {
  content: "Get in touch";
  display: block;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--page-contact-mid);
  margin-bottom: 8px;
}

.section--page-contact.section--idx-0 .winla-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section--page-contact.section--idx-0 .winla-container::before {
  content: "We're here to help";
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--win-ink);
  margin-bottom: clamp(8px, 1.5vw, 16px);
  text-align: center;
}

.section--page-contact.section--idx-0 .winla-container::after {
  content: "Reach our team by phone, email, or visit our Culver City office.";
  font-size: 1rem;
  line-height: 1.7;
  color: var(--win-ink);
  opacity: 0.65;
  margin-bottom: clamp(32px, 5vw, 52px);
  text-align: center;
  max-width: 44ch;
}

.section--page-contact .winla-contact-grid {
  width: 100%;
}

/* Responsive overrides for per-page layouts */
@media (max-width: 700px) {
  .section--page-mission-vision-values .winla-services--mosaic {
    grid-template-columns: 1fr;
  }
  .section--page-mission-vision-values .winla-services--mosaic .winla-service {
    grid-template-columns: auto 1fr;
  }
  .section--page-therapy.section--idx-1 .winla-services--mosaic,
  .section--page-events .winla-services--mosaic,
  .section--page-ways-you-can-help .winla-services--mosaic {
    grid-template-columns: 1fr;
  }
  .section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service,
  .section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(4n+1),
  .section--page-therapy.section--idx-1 .winla-services--mosaic .winla-service:nth-child(4n+2) {
    min-height: 320px;
  }
  .section--page-therapy.section--idx-3 .winla-split {
    grid-template-columns: 1fr;
  }
  .section--page-ways-you-can-help .winla-services--mosaic .winla-service:first-child {
    grid-column: span 1;
    flex-direction: column;
    align-items: flex-start;
  }
  .section--page-ways-you-can-help .winla-services--mosaic .winla-service:first-child h3 {
    font-size: clamp(1.3rem, 5vw, 1.7rem);
  }
  .section--page-outcomes.section--idx-0 .winla-stats--constellation {
    grid-template-columns: 1fr;
  }
  .section--page-contact .winla-contact-grid {
    grid-template-columns: 1fr;
  }
}

/* ══════════════════════════════════════════
   TESTIMONIALS — home page
   ══════════════════════════════════════════ */

.winla-section--testimonials {
  position: relative;
  overflow: hidden;
}

.winla-testimonials-grid {
  display: block;
  column-count: 2;
  column-gap: clamp(16px, 2.5vw, 24px);
  margin-top: clamp(32px, 5vw, 52px);
}

.winla-testimonial {
  position: relative;
  padding: clamp(24px, 3.5vw, 36px);
  display: flex;
  break-inside: avoid;
  margin-bottom: clamp(16px, 2.5vw, 24px);
  flex-direction: column;
  gap: 16px;
  border-radius: var(--win-radius-lg);
}

.winla-testimonial::before {
  content: "\201C";
  position: absolute;
  top: 12px;
  left: 20px;
  font-size: 5rem;
  line-height: 1;
  color: var(--win-teal);
  opacity: 0.15;
  font-family: Georgia, serif;
  pointer-events: none;
}

.winla-testimonial__quote {
  margin: 0;
  font-size: clamp(0.88rem, 1.4vw, 1rem);
  line-height: 1.75;
  color: var(--win-ink);
  flex: 1;
  padding-top: 8px;
}

.winla-testimonial__footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 166, 156, 0.12);
}

.winla-testimonial__avatar {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 800;
  color: white;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.winla-testimonial__avatar--generic {
  background: linear-gradient(135deg, #c8ddd9, #a3c9c3);
  color: var(--win-teal-deep);
}

.winla-testimonial__avatar--generic svg {
  width: 14px;
  height: 14px;
}

.winla-testimonial__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.winla-testimonial__name {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--win-ink);
  letter-spacing: 0.01em;
}

.winla-testimonial__role {
  font-size: 0.75rem;
  color: var(--win-teal-deep);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .winla-testimonials-grid {
    column-count: 1;
  }
}

/* ══════════════════════════════════════════
   SUPPORTERS — home page
   ══════════════════════════════════════════ */

.winla-section--supporters {
  overflow: hidden;
}

.winla-section--supporters .winla-section__intro p {
  max-width: 52ch;
  margin: 12px auto 0;
  color: var(--win-ink);
  opacity: 0.7;
  font-size: 0.95rem;
  line-height: 1.65;
}

/* ══════════════════════════════════════════
   SUPPORTERS WORD CLOUD — interactive
   ══════════════════════════════════════════ */

.winla-supporters-cloud {
  position: relative;
  width: 100%;
  height: clamp(360px, 42vw, 560px);
  margin-top: clamp(36px, 5vw, 56px);
  overflow: hidden;
  border-radius: var(--win-radius-lg);
  background:
    radial-gradient(ellipse 55% 50% at 15% 20%, rgba(0, 166, 156, 0.13), transparent 55%),
    radial-gradient(ellipse 45% 55% at 85% 80%, rgba(183, 207, 90, 0.11), transparent 55%),
    radial-gradient(ellipse 35% 40% at 75% 15%, rgba(74, 158, 255, 0.07), transparent 50%),
    linear-gradient(155deg, #f0f9f7 0%, #eef5ee 50%, #f4f8ec 100%);
  border: 1px solid rgba(0, 166, 156, 0.14);
  box-shadow: 0 12px 48px rgba(0, 166, 156, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  cursor: crosshair;
}

.winla-supporters-cloud__name {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 4px 12px;
  border-radius: var(--win-radius-pill);
  transition: opacity 200ms ease;
  z-index: 1;
}

.winla-supporters-cloud__name--lg {
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  background: rgba(0, 166, 156, 0.08);
  color: var(--win-teal-deep);
  border: 1px solid rgba(0, 166, 156, 0.18);
  opacity: 0.9;
}

.winla-supporters-cloud__name--md {
  font-size: clamp(0.85rem, 1.3vw, 1.05rem);
  background: rgba(16, 37, 34, 0.05);
  color: var(--win-ink);
  border: 1px solid rgba(16, 37, 34, 0.08);
  opacity: 0.78;
}

.winla-supporters-cloud__name--sm {
  font-size: clamp(0.72rem, 1vw, 0.88rem);
  background: rgba(183, 207, 90, 0.10);
  color: var(--win-green-deep);
  border: 1px solid rgba(183, 207, 90, 0.22);
  opacity: 0.72;
}

.winla-supporters-cloud__name--leadership {
  font-weight: 700;
  background: rgba(0, 166, 156, 0.13);
  color: var(--win-teal-deep);
  border-color: rgba(0, 166, 156, 0.28);
  box-shadow: 0 2px 10px rgba(0, 166, 156, 0.12);
}

.winla-supporters-cloud:hover .winla-supporters-cloud__name {
  opacity: 1;
}

/* Centered hero text floating in the cloud */
.winla-supporters-cloud__hero {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
  text-align: center;
  max-width: 46ch;
  padding: 28px 36px;
  border-radius: var(--win-radius-lg);
  background: #ffffff;
  border: 1.5px solid rgba(0, 166, 156, 0.18);
  box-shadow:
    0 8px 40px rgba(0, 166, 156, 0.12),
    0 2px 8px rgba(16, 37, 34, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 1);
}

.winla-supporters-cloud__actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  justify-content: center;
  margin-top: 14px;
}

.winla-supporters-cloud__actions .winla-button--small a {
  font-size: 0.75rem;
  padding: 7px 14px;
  min-height: 32px;
}

@media (max-width: 640px) {
  .winla-supporters-cloud__actions {
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .winla-supporters-cloud__actions .winla-button a {
    width: auto;
    padding: 7px 12px;
    font-size: 0.7rem;
  }
}

.winla-supporters-cloud__hero h2 {
  font-size: clamp(1.15rem, 2.2vw, 1.6rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 6px 0 8px;
  color: var(--win-ink);
}

.winla-supporters-cloud__hero p {
  font-size: clamp(0.8rem, 1.1vw, 0.92rem);
  line-height: 1.6;
  color: var(--win-ink);
  opacity: 0.75;
  margin: 0;
}

.winla-supporters-cloud__hero .winla-rule {
  display: block;
  width: 40px;
  height: 3px;
  border-radius: 2px;
  background: var(--win-teal);
  margin: 12px auto 0;
}

.winla-supporters-cloud__hero h2 + p {
  margin-top: 6px;
}

/* ══════════════════════════════════════════
   SPONSOR CAROUSEL — home page
   ══════════════════════════════════════════ */

.winla-section--sponsors {
  padding: clamp(48px, 7vw, 80px) 0;
  background: var(--win-white);
  overflow: hidden;
}

.winla-sponsors-carousel {
  position: relative;
  overflow: hidden;
  margin-top: clamp(28px, 4vw, 44px);
  mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
}

.winla-sponsors-carousel__track {
  display: flex;
  align-items: center;
  gap: clamp(48px, 8vw, 120px);
  will-change: transform;
}

.winla-sponsor-item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(140px, 16vw, 200px);
  height: 64px;
  padding: 10px 16px;
  border-radius: var(--win-radius);
  background: var(--win-cream);
  border: 1px solid var(--win-line);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  filter: grayscale(1) opacity(0.65);
}

.winla-sponsor-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(16, 37, 34, 0.08);
  border-color: rgba(0, 166, 156, 0.3);
  filter: grayscale(0) opacity(1);
}

.winla-sponsor-item img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

@media (max-width: 640px) {
  .winla-sponsor-item {
    width: 120px;
    height: 52px;
    padding: 8px 12px;
  }
}

/* ══════════════════════════════════════════
   OUTCOMES PREVIEW — home page
   ══════════════════════════════════════════ */

.winla-outcomes-preview {
  margin-top: clamp(48px, 6vw, 64px);
}

.winla-outcomes-preview__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(16px, 2.5vw, 24px);
  max-width: 720px;
  margin: 0 auto;
}

.winla-outcome-preview-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(24px, 3vw, 32px);
  text-decoration: none;
  color: inherit;
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms ease;
}

.winla-outcome-preview-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0, 166, 156, 0.12), 0 4px 16px rgba(0, 0, 0, 0.06);
}

.winla-outcome-preview-card__year {
  display: inline-flex;
  align-self: flex-start;
  padding: 4px 12px;
  border-radius: var(--win-radius-pill);
  background: rgba(0, 166, 156, 0.12);
  color: var(--win-teal-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.winla-section--teal .winla-outcome-preview-card__year {
  background: rgba(183, 207, 90, 0.2);
  color: var(--win-green);
}

.winla-outcome-preview-card__title {
  margin: 4px 0 0;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 700;
  color: var(--win-ink);
  line-height: 1.3;
}

.winla-section--teal .winla-outcome-preview-card__title {
  color: var(--win-white);
}

.winla-outcome-preview-card__type {
  font-size: 0.82rem;
  color: var(--win-muted);
  font-weight: 500;
}

.winla-section--teal .winla-outcome-preview-card__type {
  color: rgba(255, 255, 255, 0.65);
}

/* Eyebrow visibility on dark sections */
.winla-section--teal .winla-eyebrow:not(.winla-eyebrow--light) {
  color: rgba(255, 255, 255, 0.65);
}

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

/* ── Hero ── */

.page--about .winla-page {
  background:
    radial-gradient(circle at 10% 8%, rgba(0, 166, 156, 0.10), transparent 28vw),
    radial-gradient(circle at 88% 14%, rgba(183, 207, 90, 0.08), transparent 32vw),
    linear-gradient(180deg, #f0f7f6 0%, #e8f4f2 48%, #deeee9 100%);
}

.winla-page-hero--about {
  position: relative;
  min-height: clamp(320px, 52vh, 520px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.winla-page-hero--about .winla-page-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.winla-page-hero--about .winla-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.winla-page-hero--about .winla-page-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(108deg, rgba(16, 37, 34, 0.88) 0%, rgba(0, 100, 90, 0.65) 48%, rgba(0, 166, 156, 0.25) 100%),
    linear-gradient(180deg, transparent 40%, rgba(16, 37, 34, 0.6) 100%);
}

.winla-page-hero--about .winla-page-hero__inner {
  position: relative;
  z-index: 2;
  padding-bottom: clamp(40px, 7vw, 72px);
  padding-top: clamp(80px, 12vw, 120px);
}

.winla-page-hero--about .winla-page-hero__glass {
  max-width: 640px;
  padding: clamp(28px, 4vw, 44px) clamp(28px, 4.5vw, 52px);
  border-radius: var(--win-radius-xl) var(--win-radius-lg) var(--win-radius-xl) var(--win-radius-lg);
  background:
    linear-gradient(135deg, rgba(16, 37, 34, 0.60), rgba(0, 100, 90, 0.36)),
    radial-gradient(circle at 84% 14%, rgba(183, 207, 90, 0.22), transparent 44%);
  border: 1px solid rgba(183, 207, 90, 0.18);
  box-shadow:
    0 20px 60px rgba(16, 37, 34, 0.28),
    0 0 44px rgba(0, 166, 156, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
}

.winla-page-hero--about .winla-page-hero__glass h1 {
  margin: 8px 0 12px;
  color: var(--win-white);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.winla-page-hero--about .winla-page-hero__lede {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.95rem, 1.6vw, 1.1rem);
  line-height: 1.65;
}

/* ── Shared section lede ── */

.about-section__lede {
  margin: 12px 0 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--win-ink);
  opacity: 0.75;
  max-width: 56ch;
}

.about-section__lede--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* ══════════════════════════════════════════
   TEAM FAN CARDS
   ══════════════════════════════════════════ */

.winla-section--about-team {
  position: relative;
  overflow: hidden;
}

.about-team-fan {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 320px;
  margin-top: clamp(32px, 5vw, 56px);
  padding-bottom: 20px;
  position: relative;
}

.about-team-card {
  position: relative;
  width: 180px;
  height: 240px;
  margin: 0 -32px;
  border-radius: var(--win-radius-lg);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.72), rgba(255,255,255,0.44)),
    linear-gradient(145deg, var(--card-color-1, #00a69c), var(--card-color-2, #0d7774));
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow:
    0 8px 32px rgba(16, 37, 34, 0.13),
    0 2px 8px rgba(0, 0, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transform: rotate(var(--base-rotate, 0deg)) translateY(var(--base-ty, 0px));
  transform-origin: bottom center;
  z-index: var(--z, 1);
  transition:
    transform 340ms cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 300ms ease,
    z-index 0ms;
  cursor: default;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 20px 16px;
  gap: 10px;
  overflow: hidden;
}

.about-team-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.35), transparent 55%),
    linear-gradient(145deg, var(--card-color-1, #00a69c) 0%, var(--card-color-2, #0d7774) 100%);
  z-index: 0;
}

.about-team-card.is-active {
  transform: rotate(0deg) translateY(-28px) scale(1.06);
  box-shadow:
    0 28px 72px rgba(16, 37, 34, 0.22),
    0 0 40px rgba(0, 166, 156, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  z-index: 20 !important;
}

.about-team-card__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
}

.about-team-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.about-team-card.is-active .about-team-card__photo img {
  transform: scale(1.04);
}

.about-team-card__info {
  position: relative;
  z-index: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 260ms ease, transform 260ms ease;
}

.about-team-card.is-active .about-team-card__info {
  opacity: 1;
  transform: translateY(0);
}

.about-team-card__name {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: white;
  line-height: 1.2;
  text-shadow: 0 1px 4px rgba(0,0,0,0.25);
}

.about-team-card__title {
  display: block;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.3;
  text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.about-team-actions {
  margin-top: clamp(32px, 5vw, 48px);
}

@media (max-width: 600px) {
  .about-team-fan {
    min-height: 260px;
  }
  .about-team-card {
    width: 140px;
    height: 190px;
    margin: 0 -26px;
  }
}

/* ══════════════════════════════════════════
   BOARD SLIDESHOW
   ══════════════════════════════════════════ */

.winla-section--about-board {
  overflow: hidden;
}

.about-board-slideshow {
  position: relative;
  margin-top: clamp(32px, 5vw, 52px);
}

.about-board-slide {
  display: grid;
  grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  animation: board-slide-in 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes board-slide-in {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}

.about-board-slide__image {
  position: relative;
  border-radius: var(--win-radius-xl);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  box-shadow: 0 24px 72px rgba(16, 37, 34, 0.18);
}

.about-board-slide__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.about-board-slide__image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 55%, rgba(16, 37, 34, 0.22) 100%);
  pointer-events: none;
}

.about-board-slide__content {
  padding: clamp(24px, 3.5vw, 40px);
  border-radius: var(--win-radius-xl);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.about-board-slide__name {
  margin: 4px 0 0;
  font-size: clamp(1.2rem, 2.2vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--win-ink);
}

.about-board-slide__bio {
  margin: 0;
  font-size: clamp(0.85rem, 1.2vw, 0.95rem);
  line-height: 1.75;
  color: var(--win-ink);
  opacity: 0.78;
  flex: 1;
}

.about-board-slide__nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.about-board-nav-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 166, 156, 0.35);
  background: rgba(0, 166, 156, 0.06);
  color: var(--win-teal-deep);
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease, border-color 180ms ease;
  line-height: 1;
}

.about-board-nav-btn:hover {
  background: rgba(0, 166, 156, 0.14);
  border-color: var(--win-teal);
}

.about-board-slide__counter {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--win-teal-deep);
  opacity: 0.65;
  letter-spacing: 0.04em;
}

/* Dots nav */
.about-board-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: clamp(24px, 3.5vw, 36px);
  flex-wrap: wrap;
}

.about-board-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0, 166, 156, 0.22);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background 220ms ease, transform 220ms ease, width 300ms ease;
}

.about-board-dot.is-active {
  background: var(--win-teal);
  width: 24px;
  border-radius: 4px;
  transform: none;
}

/* Progress bar */
.about-board-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(0, 166, 156, 0.12);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 12px;
  position: relative;
}

.about-board-progress__bar {
  height: 100%;
  background: linear-gradient(90deg, var(--win-teal), var(--win-green));
  border-radius: 2px;
  animation: board-progress 10s linear forwards;
}

@keyframes board-progress {
  from { width: 0%; }
  to   { width: 100%; }
}

@media (max-width: 720px) {
  .about-board-slide {
    grid-template-columns: 1fr;
  }
  .about-board-slide__image {
    aspect-ratio: 3 / 2;
    max-height: 260px;
  }
}

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

.winla-section--about-timeline {
  overflow: hidden;
}

.about-timeline {
  list-style: none;
  padding: 0;
  margin: clamp(40px, 6vw, 72px) 0 0;
  position: relative;
}

/* Center spine */
.about-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, var(--win-teal) 0%, var(--win-green) 50%, var(--win-teal) 100%);
  opacity: 0.25;
  border-radius: 2px;
}

.about-timeline__item {
  display: flex;
  justify-content: flex-end;
  width: calc(50% - 28px);
  margin-bottom: clamp(28px, 4vw, 44px);
  position: relative;
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 500ms ease, transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-timeline__item--right {
  justify-content: flex-start;
  margin-left: calc(50% + 28px);
  transform: translateX(20px);
}

.about-timeline__item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Dot on spine */
.about-timeline__marker {
  position: absolute;
  top: 22px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--win-teal);
  border: 3px solid white;
  box-shadow: 0 0 0 2px var(--win-teal), 0 4px 12px rgba(0, 166, 156, 0.3);
}

.about-timeline__item--left .about-timeline__marker {
  right: -42px;
}

.about-timeline__item--right .about-timeline__marker {
  left: -42px;
}

.about-timeline__card {
  padding: clamp(20px, 3vw, 28px);
  border-radius: var(--win-radius-lg);
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.about-timeline__card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 2px;
}

.about-timeline__year {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--win-teal-deep);
  margin: 0;
}

.about-timeline__logo {
  height: 28px;
  width: auto;
  max-width: 100px;
  object-fit: contain;
  opacity: 0.85;
  filter: grayscale(0.2);
}

.about-timeline__event {
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  font-weight: 700;
  color: var(--win-ink);
  line-height: 1.3;
}

.about-timeline__detail {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.68;
  color: var(--win-ink);
  opacity: 0.72;
}

@media (max-width: 700px) {
  .about-timeline::before {
    left: 18px;
  }

  .about-timeline__item,
  .about-timeline__item--right {
    width: calc(100% - 44px);
    margin-left: 44px;
    justify-content: flex-start;
    transform: translateX(12px);
  }

  .about-timeline__item--left .about-timeline__marker,
  .about-timeline__item--right .about-timeline__marker {
    left: -40px;
    right: auto;
  }
}

/* ══════════════════════════════════════════
   TINA FORMS
   ══════════════════════════════════════════ */

.winla-form-container {
  max-width: 720px;
  margin: 0 auto;
}

.winla-form-float {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px) clamp(24px, 4vw, 48px);
}

.winla-form-float .winla-form--typeform {
  padding: 0;
  min-height: 360px;
}

.winla-form-float .winla-form__question {
  padding-right: 60px;
}

.winla-form-float .winla-form__input-wrap {
  padding-right: 60px;
}

.winla-form-float .winla-form__nav {
  padding-right: 60px;
}

/* ─── Typeform-style Multi-step Form ─── */

.winla-form--typeform {
  position: relative;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 3vw, 40px) 0;
}

/* Progress bar */
.winla-form__progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(0, 166, 156, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

.winla-form__progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--win-teal), var(--win-green));
  border-radius: 2px;
  transition: width 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Step counter */
.winla-form__step-count {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--win-teal);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.winla-form__step-count span {
  color: var(--win-slate);
  font-weight: 500;
}

/* Steps container */
.winla-form__steps {
  position: relative;
  flex: 1;
  min-height: 220px;
}

/* Individual step */
.winla-form__step {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.5vw, 28px);
  transition: opacity 350ms ease, transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.winla-form__step.is-future {
  opacity: 0;
  transform: translateX(60px);
  pointer-events: none;
}

.winla-form__step.is-past {
  opacity: 0;
  transform: translateX(-60px);
  pointer-events: none;
}

.winla-form__step.is-entering {
  opacity: 1;
  transform: translateX(0);
  animation: tf-slideInRight 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.winla-form__step.is-entering-prev {
  opacity: 1;
  transform: translateX(0);
  animation: tf-slideInLeft 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes tf-slideInRight {
  from { opacity: 0; transform: translateX(50px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes tf-slideInLeft {
  from { opacity: 0; transform: translateX(-50px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Question label */
.winla-form__question {
  font-size: clamp(1.6rem, 3.8vw, 2.4rem);
  font-weight: 700;
  line-height: 1.35;
  color: var(--win-ink);
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.winla-form__question-num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--win-teal);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

.winla-form__required {
  color: #e14d4d;
  margin-left: 2px;
}

/* Input wrapper */
.winla-form__input-wrap {
  position: relative;
}

.winla-form--typeform input[type="text"],
.winla-form--typeform input[type="email"],
.winla-form--typeform input[type="tel"],
.winla-form--typeform select,
.winla-form--typeform textarea {
  width: 100%;
  padding: 24px 16px;
  border: 2px solid var(--win-line);
  border-radius: var(--win-radius);
  background: rgba(255, 255, 255, 0.8);
  color: var(--win-ink);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-family: inherit;
  font-weight: 500;
  transition: border-color 300ms ease, background 300ms ease;
  outline: none;
}

.winla-form--typeform input:focus,
.winla-form--typeform select:focus,
.winla-form--typeform textarea:focus {
  border-color: var(--win-teal);
  background: rgba(255, 255, 255, 0.95);
}

.winla-form--typeform input::placeholder,
.winla-form--typeform textarea::placeholder {
  color: var(--win-slate);
  opacity: 0.45;
  font-weight: 400;
}

.winla-form--typeform select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23647377' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  padding-right: 32px;
  color: var(--win-ink);
}

.winla-form--typeform select:invalid,
.winla-form--typeform select option:first-child {
  color: var(--win-slate);
  opacity: 0.55;
}

/* Animated underline - removed since using full border */

/* Error states */
.winla-form__field-error {
  font-size: 0.85rem;
  color: #e14d4d;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  animation: tf-shake 400ms ease;
}

.winla-form__field-error::before {
  content: "!";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e14d4d;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

@keyframes tf-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

.winla-form__error {
  padding: 12px 16px;
  border-radius: var(--win-radius);
  background: rgba(225, 77, 77, 0.08);
  border: 1px solid rgba(225, 77, 77, 0.2);
  color: #c03737;
  font-size: 0.88rem;
  font-weight: 500;
}

/* Navigation */
.winla-form__nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: clamp(32px, 4vw, 48px);
}

.winla-form__nav-prev,
.winla-form__nav-next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1.5px solid var(--win-line);
  background: var(--win-white);
  color: var(--win-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 200ms, background 200ms, transform 200ms ease;
}

.winla-form__nav-prev:hover:not(:disabled),
.winla-form__nav-next:hover:not(:disabled) {
  border-color: var(--win-teal);
  background: rgba(0, 166, 156, 0.06);
  transform: scale(1.05);
}

.winla-form__nav-prev:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.winla-form__nav-submit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  border-radius: var(--win-radius-pill);
  border: none;
  background: var(--win-teal);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 200ms, transform 200ms ease, box-shadow 200ms ease;
  box-shadow: 0 4px 16px rgba(0, 166, 156, 0.25);
}

.winla-form__nav-submit:hover:not(:disabled) {
  background: var(--win-teal-deep);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 166, 156, 0.35);
}

.winla-form__nav-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.winla-form__spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: tf-spin 700ms linear infinite;
}

@keyframes tf-spin {
  to { transform: rotate(360deg); }
}

/* Hint text */
.winla-form__hint {
  font-size: 0.72rem;
  color: var(--win-slate);
  margin-top: 14px;
  opacity: 0.65;
}

.winla-form__hint kbd {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--win-cream);
  border: 1px solid var(--win-line);
  font-size: 0.65rem;
  font-weight: 600;
  font-family: inherit;
  line-height: 1;
}

/* Success state */
.winla-form-success--typeform {
  text-align: center;
  padding: clamp(48px, 6vw, 72px) clamp(24px, 4vw, 40px);
  animation: tf-fadeUp 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

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

.winla-form-success__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--win-teal), var(--win-green));
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  margin: 0 auto 24px;
  box-shadow: 0 8px 24px rgba(0, 166, 156, 0.25);
}

.winla-form-success h3 {
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 800;
  margin: 0 0 10px;
  color: var(--win-ink);
}

.winla-form-success p {
  font-size: 1rem;
  color: var(--win-muted);
  margin: 0 0 28px;
  line-height: 1.65;
  max-width: 420px;
  margin-inline: auto;
}

/* Loading / error fallback */
.winla-form__loading,
.winla-form__error {
  padding: 40px 24px;
  text-align: center;
  font-size: 0.95rem;
  color: var(--win-muted);
}

.winla-form__error {
  color: #c03737;
  background: rgba(225, 77, 77, 0.06);
  border-radius: var(--win-radius);
}

/* ─── Language Toggle ─── */

.winla-lang-toggle {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  border: 1.5px solid rgba(0, 166, 156, 0.28);
  border-radius: var(--win-radius-pill);
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  cursor: pointer;
  font-family: var(--win-font);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--win-muted);
  overflow: hidden;
  transition: border-color 200ms, box-shadow 200ms;
  flex-shrink: 0;
}

.winla-lang-toggle:hover {
  border-color: var(--win-teal);
  box-shadow: 0 0 0 3px rgba(0, 166, 156, 0.1);
}

.winla-lang-toggle span {
  padding: 5px 10px;
  border-radius: var(--win-radius-pill);
  transition: background 180ms, color 180ms;
  line-height: 1;
}

.winla-lang-toggle span.is-active {
  background: var(--win-teal);
  color: #fff;
}

.winla-lang-toggle__sep {
  width: 1px;
  height: 14px;
  background: rgba(0, 166, 156, 0.25);
  padding: 0 !important;
  border-radius: 0 !important;
  flex-shrink: 0;
}

/* ─── Form Page Layout ─── */

.winla-form-page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 12vw, 140px) 0 clamp(60px, 9vw, 100px);
  background:
    radial-gradient(ellipse 80% 60% at 60% 50%, rgba(0, 166, 156, 0.18), transparent 70%),
    radial-gradient(ellipse 55% 70% at 10% 80%, rgba(183, 207, 90, 0.12), transparent 60%),
    linear-gradient(160deg, #0d2620 0%, #0f3530 45%, #102e2a 100%);
}

.winla-form-page-hero__glow {
  position: absolute;
  top: -80px;
  right: -120px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 166, 156, 0.22) 0%, transparent 70%);
  pointer-events: none;
}

.winla-form-page-hero__inner {
  position: relative;
  z-index: 1;
}

.winla-form-page-hero .winla-eyebrow--light {
  color: var(--win-green);
  opacity: 0.9;
}

.winla-form-page-hero__title {
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--win-white);
  margin: 0 0 20px;
  max-width: 680px;
}

.winla-form-page-hero__lede {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: rgba(255, 255, 255, 0.78);
  max-width: 560px;
  margin: 0;
  line-height: 1.65;
}

/* Form body section */

.winla-form-page-body {
  padding: clamp(48px, 7vw, 96px) 0;
}

.winla-form-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.7fr);
  gap: clamp(28px, 3.4vw, 56px);
  align-items: start;
  width: min(100%, 1180px);
  margin: 0 auto;
}

@media (max-width: 920px) {
  .winla-form-page-layout {
    grid-template-columns: 1fr;
  }
}

/* Main form card */

.winla-form-page-card {
  padding: clamp(24px, 3vw, 44px) clamp(28px, 4vw, 56px);
  background: var(--win-white);
  border: 1px solid var(--win-line);
  border-radius: var(--win-radius-lg);
  box-shadow: 0 4px 32px rgba(16, 37, 34, 0.06);
}

/* Aside */

.winla-form-page-aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.winla-form-page-aside__card {
  padding: clamp(24px, 3vw, 36px);
}

.winla-form-page-aside__card h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 8px 0 14px;
  color: var(--win-ink);
}

.winla-form-page-aside__card p {
  font-size: 0.93rem;
  color: var(--win-muted);
  margin: 0;
  line-height: 1.65;
}

.winla-form-page-aside__list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.winla-form-page-aside__list li {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--win-teal-deep);
  display: flex;
  align-items: center;
  gap: 8px;
}

.winla-form-page-aside__contact {
  padding: clamp(20px, 2.5vw, 30px) clamp(24px, 3vw, 36px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.winla-form-page-aside__contact .winla-eyebrow {
  margin-bottom: 4px;
}

.winla-form-page-aside__contact a {
  font-size: 1rem;
  font-weight: 700;
  color: var(--win-teal-deep);
  transition: color 200ms;
}

.winla-form-page-aside__contact a:hover {
  color: var(--win-teal);
}

.winla-form-page-aside__contact p {
  font-size: 0.85rem;
  color: var(--win-muted);
  margin: 0;
  line-height: 1.6;
}

/* ─── Page Section: Team Grid ─── */

.ps-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: clamp(16px, 2.5vw, 28px);
  margin-top: clamp(32px, 5vw, 52px);
}

.ps-team-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--win-radius-lg);
  transition: transform 220ms, box-shadow 220ms;
}
.ps-team-card:hover { transform: translateY(-4px); box-shadow: var(--win-shadow-md); }

.ps-team-card__photo {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--win-soft);
}
.ps-team-card__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 400ms ease;
}
.ps-team-card:hover .ps-team-card__photo img { transform: scale(1.04); }

.ps-team-card__body {
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ps-team-card__name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--win-ink);
  margin: 0;
}
.ps-team-card__title {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--win-teal-deep);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ps-team-card__bio {
  font-size: 0.83rem;
  color: var(--win-muted);
  margin: 8px 0 0;
  line-height: 1.6;
}

/* ─── Page Section: Board Grid ─── */

.ps-board-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: clamp(14px, 2vw, 24px);
  margin-top: clamp(32px, 5vw, 52px);
}

.ps-board-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--win-radius-lg);
  transition: transform 220ms, box-shadow 220ms;
}
.ps-board-card:hover { transform: translateY(-4px); box-shadow: var(--win-shadow-md); }

.ps-board-card__photo {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--win-soft);
}
.ps-board-card__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 400ms ease;
}
.ps-board-card:hover .ps-board-card__photo img { transform: scale(1.04); }

.ps-board-card__body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ps-board-card__name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--win-ink);
  margin: 0;
  line-height: 1.3;
}
.ps-board-card__role {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--win-teal-deep);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ps-board-card__bio {
  font-size: 0.78rem;
  color: var(--win-muted);
  margin: 6px 0 0;
  line-height: 1.55;
}

/* ─── Page Section: Awards Gallery ─── */

.ps-awards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(16px, 2.5vw, 28px);
  margin-top: clamp(32px, 5vw, 52px);
}

.ps-award-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: var(--win-radius-lg);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ps-award-card__org {
  font-size: 0.75rem !important;
  color: var(--win-green) !important;
  opacity: 1 !important;
}
.ps-award-card__award {
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.3;
}
.ps-award-card__body {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.75);
  margin: 0;
  line-height: 1.6;
}

/* ─── Reports Shelf ─── */

.winla-report-shelf {
  position: relative;
  margin-top: clamp(28px, 4vw, 44px);
}

.winla-report-shelf__controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 16px;
}

.winla-report-shelf__button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(10, 73, 66, 0.12);
  background: rgba(255, 255, 255, 0.82);
  color: var(--win-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.winla-report-shelf__button:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 166, 156, 0.32);
  background: rgba(255, 255, 255, 0.96);
}

.winla-report-shelf__mask {
  position: relative;
}

.winla-report-shelf__rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 280px);
  gap: clamp(16px, 2vw, 24px);
  overflow-x: auto;
  padding: 8px clamp(18px, 3vw, 28px) 20px;
  margin: 0 calc(clamp(18px, 3vw, 28px) * -1);
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(10, 73, 66, 0.25) transparent;
}

.winla-report-shelf__rail::-webkit-scrollbar {
  height: 12px;
}

.winla-report-shelf__rail::-webkit-scrollbar-track {
  background: transparent;
}

.winla-report-shelf__rail::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(10, 73, 66, 0.18);
  border: 3px solid transparent;
  background-clip: padding-box;
}

.winla-report-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border-radius: 8px;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(10, 73, 66, 0.08);
  box-shadow: 0 16px 40px rgba(16, 37, 34, 0.08);
  scroll-snap-align: start;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.winla-report-card:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 24px 52px rgba(16, 37, 34, 0.14);
  border-color: rgba(0, 166, 156, 0.18);
}

.winla-report-card__cover {
  position: relative;
  aspect-ratio: 0.7725;
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 255, 255, 0.9), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, #f6f8fb 0%, #dfe7ef 100%);
  overflow: hidden;
}

.winla-report-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.winla-report-card__cover--placeholder {
  color: var(--win-ink);
}

.winla-report-card__cover-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.9), rgba(255,255,255,0) 28%),
    linear-gradient(180deg, rgba(17, 48, 78, 0.14), rgba(17, 48, 78, 0.03));
}

.winla-report-card__cover-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px 18px 20px;
}

.winla-report-card__cover-year {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(10, 73, 66, 0.68);
}

.winla-report-card__cover-title {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.15;
  color: rgba(12, 24, 38, 0.94);
}

.winla-report-card__cover-type {
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(10, 73, 66, 0.84);
  font-size: 0.72rem;
  font-weight: 700;
}

.winla-report-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 18px 18px 20px;
}

.winla-report-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.winla-report-card__year,
.winla-report-card__type {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.winla-report-card__year {
  color: var(--win-teal-deep);
}

.winla-report-card__type {
  color: rgba(100, 115, 119, 0.9);
}

.winla-report-card__title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--win-ink);
}

.winla-report-card__description {
  margin: 0;
  color: var(--win-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.winla-report-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 6px;
}

.winla-report-card__cta {
  color: var(--win-teal-deep);
  font-size: 0.84rem;
  font-weight: 700;
}

.winla-report-card__filesize {
  color: rgba(100, 115, 119, 0.9);
  font-size: 0.8rem;
  font-weight: 600;
}

.winla-report-shelf--outcomes .winla-report-shelf__rail {
  grid-auto-columns: minmax(260px, 320px);
}

.winla-report-card--outcomes .winla-report-card__description {
  min-height: 4.6em;
}

@media (max-width: 640px) {
  .ps-team-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ps-board-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ps-awards-grid { grid-template-columns: 1fr; }
  .winla-report-shelf__controls { display: none; }
  .winla-report-shelf__rail {
    grid-auto-columns: minmax(220px, 76vw);
    padding-bottom: 16px;
  }
  .ps-board-card__bio { display: none; }
}

/* ─── Team Fan (arch of cards) ─── */

.ps-fan-stage {
  position: relative;
  height: clamp(320px, 36vw, 440px);
  margin: clamp(32px, 5vw, 60px) auto 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.ps-fan-card {
  position: absolute;
  bottom: 0;
  width: 180px;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  transform-origin: bottom center;
  transition:
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 1s ease,
    z-index 0ms;
  transition-delay: 0s;
  text-align: center;
}

.ps-fan-card.is-active {
  transition-delay: 0.12s;
}

.ps-fan-card__photo {
  width: 180px;
  height: 230px;
  border-radius: var(--win-radius-lg);
  overflow: hidden;
  border: 3px solid rgba(255,255,255,0.8);
  box-shadow: 0 8px 32px rgba(16,37,34,0.18), 0 2px 8px rgba(0,0,0,0.1);
  background: var(--win-soft);
  transition: box-shadow 1s ease, border-color 1s ease;
  transition-delay: 0s;
}
.ps-fan-card.is-active .ps-fan-card__photo {
  box-shadow: 0 20px 60px rgba(0,166,156,0.25), 0 4px 16px rgba(0,0,0,0.15);
  border-color: var(--win-teal);
  transition-delay: 0.12s;
}

.ps-fan-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}
.ps-fan-card.is-active .ps-fan-card__photo img {
  transform: scale(1.04);
  transition-delay: 0.12s;
}

.ps-fan-card__info {
  margin-top: 10px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 1s ease, transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
  pointer-events: none;
}
.ps-fan-card.is-active .ps-fan-card__info {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.12s;
}

.ps-fan-card__name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--win-ink);
  margin: 0;
  line-height: 1.3;
}
.ps-fan-card__title {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--win-teal-deep);
  margin: 3px 0 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 768px) {
  .ps-fan-stage {
    height: clamp(260px, 50vw, 360px);
  }
  .ps-fan-card { width: 130px; }
  .ps-fan-card__photo { width: 130px; height: 168px; }
}

/* ─── Board Slideshow ─── */

.ps-board-show {
  margin-top: clamp(32px, 5vw, 52px);
}

.ps-board-show__slide {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  border-radius: var(--win-radius-xl);
  overflow: hidden;
  padding: 0;
  min-height: 320px;
}

.ps-board-show__photo {
  height: 100%;
  min-height: 320px;
  overflow: hidden;
  background: var(--win-soft);
  flex-shrink: 0;
}
.ps-board-show__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  animation: ps-slide-in 380ms cubic-bezier(0.22,1,0.36,1);
}

@keyframes ps-slide-in {
  from { opacity: 0; transform: scale(1.04); }
  to   { opacity: 1; transform: scale(1); }
}

.ps-board-show__body {
  padding: clamp(24px, 3.5vw, 44px) clamp(24px, 3.5vw, 44px) clamp(24px, 3.5vw, 44px) 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ps-board-show__name {
  font-size: clamp(1.15rem, 2.2vw, 1.6rem);
  font-weight: 700;
  color: var(--win-ink);
  margin: 0;
  line-height: 1.2;
}

.ps-board-show__bio {
  font-size: 0.92rem;
  color: var(--win-muted);
  line-height: 1.7;
  margin: 0;
}

.ps-board-show__nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.ps-board-show__btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(0,166,156,0.3);
  background: rgba(255,255,255,0.7);
  color: var(--win-teal-deep);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms, border-color 180ms, color 180ms;
  flex-shrink: 0;
}
.ps-board-show__btn:hover {
  background: var(--win-teal);
  border-color: var(--win-teal);
  color: #fff;
}

.ps-board-show__counter {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--win-muted);
  min-width: 40px;
  text-align: center;
}

.ps-board-show__dots {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 20px;
}

.ps-board-show__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(0,166,156,0.2);
  cursor: pointer;
  transition: background 200ms, transform 200ms;
  padding: 0;
}
.ps-board-show__dot.is-active {
  background: var(--win-teal);
  transform: scale(1.3);
}

@media (max-width: 700px) {
  .ps-board-show__slide {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .ps-board-show__photo {
    min-height: 220px;
    aspect-ratio: 4/3;
    height: auto;
  }
  .ps-board-show__body {
    padding: clamp(20px, 4vw, 32px);
  }
}

/* ─── Giving Cards Grid ─── */

.ps-giving-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(280px, auto);
  grid-auto-flow: dense;
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(36px, 5vw, 56px);
}

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

.ps-giving-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--win-radius-lg);
  overflow: hidden;
  text-decoration: none;
  background: var(--win-white);
  box-shadow: var(--win-shadow-sm);
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 400ms ease;
  position: relative;
  min-width: 0;
}
.ps-giving-card:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow:
    0 24px 64px rgba(16, 37, 34, 0.12),
    0 8px 24px rgba(0, 166, 156, 0.08);
}

.ps-giving-card--featured {
  grid-column: span 2;
}

.ps-giving-card--wide {
  grid-column: span 2;
}

@media (max-width: 900px) {
  .ps-giving-card--featured,
  .ps-giving-card--wide {
    grid-column: span 2;
  }
}

@media (max-width: 540px) {
  .ps-giving-card--featured,
  .ps-giving-card--wide {
    grid-column: span 1;
    grid-row: span 1;
  }
}

.ps-giving-card__visual {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--win-soft);
}

.ps-giving-card--featured .ps-giving-card__visual {
  aspect-ratio: 16 / 11;
}

.ps-giving-card--wide .ps-giving-card__visual {
  aspect-ratio: 6 / 5;
}

.ps-giving-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.ps-giving-card:hover .ps-giving-card__visual img {
  transform: scale(1.06);
}

.ps-giving-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,37,34,0) 40%, rgba(16,37,34,0.45) 100%);
  opacity: 0.6;
  transition: opacity 400ms ease;
}
.ps-giving-card:hover .ps-giving-card__overlay {
  opacity: 0.8;
}

.ps-giving-card__content {
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.ps-giving-card__eyebrow {
  display: none;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--win-teal);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ps-giving-card__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--win-ink);
  margin: 0;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.ps-giving-card--featured .ps-giving-card__title {
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
}

.ps-giving-card__text {
  font-size: 0.88rem;
  color: var(--win-muted);
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

.ps-giving-card--featured .ps-giving-card__text {
  font-size: clamp(0.9rem, 1.2vw, 1rem);
  max-width: 44ch;
}

.ps-giving-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--win-teal-deep);
  margin-top: 6px;
  transition: gap 240ms ease, color 240ms ease;
}
.ps-giving-card__cta svg {
  transition: transform 240ms ease;
}
.ps-giving-card:hover .ps-giving-card__cta {
  gap: 10px;
  color: var(--win-teal);
}
.ps-giving-card:hover .ps-giving-card__cta svg {
  transform: translateX(3px);
}

/* ── EVENTS HUB: custom route layout with mini calendar ── */

.page--events-hub .winla-page-main {
  padding-bottom: clamp(72px, 10vw, 120px);
}

.winla-events-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 28px);
}

.winla-events-card {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(24px, 3vw, 32px);
}

.winla-events-card--supporter,
.winla-events-card--past {
  grid-column: span 6;
}

.winla-events-card h3 {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.15;
}

.winla-events-card__date,
.winla-events-card__meta {
  margin: 0 0 12px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.winla-events-card__date {
  color: var(--page-events-mid);
}

.winla-events-card__meta {
  color: rgba(16, 37, 34, 0.58);
}

.winla-events-card__body {
  margin: 14px 0 0;
  color: rgba(16, 37, 34, 0.78);
}

.winla-events-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-top: auto;
  padding-top: 22px;
}

.winla-events-card__calendar-link {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--page-events-dark);
}

.winla-events-supporters__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.9fr);
  gap: clamp(24px, 4vw, 44px);
  align-items: start;
}

.winla-events-calendar {
  position: sticky;
  top: 108px;
  padding: clamp(24px, 3vw, 32px);
}

.winla-events-calendar h2 {
  margin: 6px 0 10px;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.winla-events-calendar p {
  margin-top: 0;
}

.winla-events-calendar__months {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.winla-events-calendar__month {
  border-radius: 24px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.42);
}

.winla-events-calendar__month-label {
  margin-bottom: 10px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(16, 37, 34, 0.66);
}

.winla-events-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.winla-events-calendar__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: rgba(16, 37, 34, 0.72);
  font-size: 0.84rem;
  font-weight: 700;
}

.winla-events-calendar__day.is-active.is-supporter {
  background: rgba(74, 158, 255, 0.18);
  color: var(--page-events-dark);
  box-shadow: inset 0 0 0 1px rgba(74, 158, 255, 0.2);
}

.winla-events-calendar__day.is-active.is-participant {
  background: rgba(183, 207, 90, 0.3);
  color: var(--page-events-dark);
  box-shadow: inset 0 0 0 1px rgba(143, 173, 47, 0.22);
}

.winla-events-calendar__actions {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.winla-events-calendar__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(16, 37, 34, 0.08);
  color: var(--page-events-dark);
  font-size: 0.92rem;
  font-weight: 700;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.winla-events-calendar__actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 166, 156, 0.16);
  box-shadow: 0 14px 28px rgba(16, 37, 34, 0.08);
}

@media (max-width: 1080px) {
  .winla-events-card {
    grid-column: span 6;
  }

  .winla-events-supporters__layout {
    grid-template-columns: 1fr;
  }

  .winla-events-calendar {
    position: static;
  }
}

@media (max-width: 720px) {
  .winla-events-grid {
    grid-template-columns: 1fr;
  }

  .winla-events-card,
  .winla-events-card--supporter,
  .winla-events-card--past {
    grid-column: auto;
  }

  .winla-events-card__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .winla-events-calendar__days {
    gap: 6px;
  }

  .winla-events-calendar__day {
    font-size: 0.78rem;
  }
}

/* ── GLOBAL MOBILE BREAKPOINT ── */

@media (max-width: 700px) {
  body .is-layout-constrained > *,
  .winla-container {
    width: min(100% - 24px, var(--win-max));
  }

  .winla-page-main {
    padding-bottom: 48px;
  }

  .winla-section {
    padding: clamp(40px, 10vw, 64px) 0;
  }

  .winla-page-hero,
  .winla-page-hero--about {
    min-height: 0;
    padding: clamp(44px, 12vw, 72px) 0 clamp(36px, 10vw, 56px);
  }

  .winla-page-hero__glass,
  .winla-page-hero--about .winla-page-hero__glass {
    width: 100%;
    max-width: 100%;
    padding: clamp(24px, 6vw, 32px);
  }

  .winla-page-hero__title,
  .winla-page-hero--about .winla-page-hero__glass h1 {
    font-size: clamp(1.9rem, 9vw, 2.8rem);
    line-height: 1.05;
  }

  .winla-page-hero__lede,
  .winla-page-hero--about .winla-page-hero__lede,
  .winla-section__intro p,
  .winla-rich-text,
  .winla-card p,
  .winla-service p {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .winla-section__intro,
  .winla-section__intro.center {
    max-width: 100%;
  }

  .winla-split,
  .winla-story-ribbon,
  .winla-form-layout,
  .winla-contact-layout,
  .about-board-slide {
    grid-template-columns: 1fr;
  }

  .winla-split__copy,
  .winla-story-ribbon__copy,
  .winla-form-page-card,
  .winla-contact-card,
  .about-board-slide__content {
    padding: clamp(22px, 6vw, 30px);
  }

  .winla-feature-image,
  .winla-story-ribbon__media,
  .about-board-slide__image {
    min-height: 240px;
    aspect-ratio: 4 / 3;
  }

  .winla-services--mosaic,
  .winla-help-cards,
  .winla-contact-grid,
  .winla-form-grid,
  .winla-stats,
  .winla-stats--constellation,
  .winla-link-list,
  .ps-giving-grid {
    grid-template-columns: 1fr;
  }

  .winla-services--mosaic .winla-service,
  .winla-services--mosaic .winla-service:nth-child(4n + 1),
  .winla-services--mosaic .winla-service:nth-child(4n + 2),
  .winla-events-card,
  .winla-events-card--supporter,
  .winla-events-card--past,
  .ps-giving-card {
    grid-column: auto;
    min-height: 0;
  }

  .winla-actions,
  .winla-video__actions,
  .winla-newsletter__actions,
  .winla-events-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .winla-actions .winla-button,
  .winla-video__actions .winla-button,
  .winla-newsletter__actions .winla-button {
    width: 100%;
  }

  .winla-button a,
  .winla-button .wp-block-button__link,
  .winla-events-calendar__actions a {
    width: 100%;
    justify-content: center;
  }

  .winla-report-shelf__controls {
    display: none;
  }

  .winla-report-shelf__rail {
    gap: 16px;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .winla-report-card {
    width: min(82vw, 320px);
    scroll-snap-align: start;
  }

  .winla-report-card__body {
    padding: 18px 18px 20px;
  }

  .winla-footer__inner,
  .winla-footer__links,
  .winla-events-supporters__layout {
    grid-template-columns: 1fr;
  }

  .about-team-fan {
    min-height: 240px;
    padding-inline: 6px;
  }

  .about-team-card {
    width: 124px;
    height: 166px;
    margin: 0 -20px;
  }
}
