/* AUTO-GENERATED — do not edit directly.
 * Edit files in src/blocks-css/ then run: pnpm --filter @wilderness/blocks generate-css
 */

/*
 * Wilderness CMS — Shared Master Blocks Stylesheet
 *
 * Inject once per page (public web) or per preview iframe (admin).
 * Each block is scoped to .block-{id} — no style leakage between blocks.
 * Uses CSS custom properties from the WI design system (defined in :root by the page).
 */

@font-face {
  font-family: 'Sora';
  src: url('/fonts/sora-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Sora';
  src: url('/fonts/sora-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lato';
  src: url('/fonts/lato-400-latin-ext.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Lato';
  src: url('/fonts/lato-400-latin.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lato';
  src: url('/fonts/lato-700-latin-ext.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Lato';
  src: url('/fonts/lato-700-latin.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-heading: 'Sora', sans-serif;
  --font-body: 'Lato', sans-serif;
}

/* ── Accessibility helpers ────────────────────────────────────── */
.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;
}

/* ── Responsive visibility ────────────────────────────────────── */
@media (max-width: 767px) {
  .block-hidden-mobile { display: none !important; }
}
@media (min-width: 1024px) {
  .block-hidden-desktop { display: none !important; }
}

/* ── Global rich text element defaults ───────────────────────── */
strong, b {
  font-weight: 700;
  color: var(--color-forest-green, #004432);
}

a:not([class]),
a.lexkit-link {
  font-weight: 700;
  text-decoration: underline;
  color: var(--color-moss-green, #13735F);
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
  color: var(--color-moss-green, #13735F);
}

[id] {
  scroll-margin-top: var(--nav-height, 0px);
}

sub, sup {
  font-size: 0.7em !important;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub { bottom: -0.25em; }
sup { top: -0.4em; }
/* ── 8-Step Process (block-8-step-v1) ────────────────────────────── */

.block-8-step-v1 {
  background-color: var(--color-light-grey);
  hyphens: manual;
  -webkit-hyphens: manual;
}

.dark .block-8-step-v1 {
  background-color: var(--color-bg-dark);
}

.block-8-step-v1 .step-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

/* ── Header — left aligned ── */

.block-8-step-v1 .step-header {
  margin-bottom: 20px;
}

.block-8-step-v1 .step-headline {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.15;
  color: var(--color-forest-green);
  margin: 0 0 12px;
}

.dark .block-8-step-v1 .step-headline {
  color: var(--color-accent-dark);
}

.block-8-step-v1 .step-subheadline {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(16px, calc(1vw + 12px), var(--text-h5));
  line-height: var(--text-h5--line-height);
  color: var(--color-black);
  margin: 0;
}

.dark .block-8-step-v1 .step-subheadline {
  color: var(--color-text-secondary-dark);
}

/* ── Carousel ── */

.block-8-step-v1 .step-carousel {
  width: 100vw;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.block-8-step-v1 .step-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  list-style: none;
  /* padding-left aligns first card with headline on any viewport width */
  padding: 24px max(24px, calc(50vw - 696px)) 24px;
  scroll-padding-left: max(24px, calc(50vw - 696px));
  margin: 0;
}

.block-8-step-v1 .step-track::-webkit-scrollbar {
  display: none;
}

/* ── Card ── */

.block-8-step-v1 .step-card {
  position: relative;
  flex: 0 0 260px;
  min-height: 380px;
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background-color: var(--color-white);
  scroll-snap-align: start;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.block-8-step-v1 .step-card:hover {
  transform: scale(1.03);
  z-index: 1;
}

.dark .block-8-step-v1 .step-card {
  background-color: var(--color-surface-dark);
}

/* Backdrop overlay — only visible in image mode */
.block-8-step-v1 .step-backdrop {
  display: none;
  position: absolute;
  inset: 0;
  background: linear-gradient(170deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.78) 100%);
  z-index: 1;
}

/* Card content */
.block-8-step-v1 .step-content {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 24px;
}

/* Step number */
.block-8-step-v1 .step-number {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.3;
  color: var(--color-moss-green);
  margin: 0;
  padding-bottom: 16px;
  letter-spacing: -0.02em;
}

.dark .block-8-step-v1 .step-card:not([data-bg="color"]):not([data-bg="image"]) .step-number {
  color: var(--color-accent-dark);
}

/* Step name */
.block-8-step-v1 .step-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.3;
  color: var(--color-black);
  margin: 0 0 10px;
}

.dark .block-8-step-v1 .step-card:not([data-bg="color"]):not([data-bg="image"]) .step-name {
  color: var(--color-text-dark);
}

/* Step description */
.block-8-step-v1 .step-desc {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-60);
  margin: 0;
}

.dark .block-8-step-v1 .step-card:not([data-bg="color"]):not([data-bg="image"]) .step-desc {
  color: var(--color-text-secondary-dark);
}

.block-8-step-v1 .step-desc p { margin: 0 0 8px; }
.block-8-step-v1 .step-desc p:last-child { margin-bottom: 0; }

/* ── Nav buttons ── */

.block-8-step-v1 .step-nav {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
}

.block-8-step-v1 .step-progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
  padding: 0 14px;
  overflow: hidden;
}

.block-8-step-v1 .step-progress-fill {
  flex: 1;
  height: 4px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.15);
  min-width: 0;
}

.dark .block-8-step-v1 .step-progress {
  background: rgba(255, 255, 255, 0.1);
}

.dark .block-8-step-v1 .step-progress-fill {
  background: rgba(255, 255, 255, 0.2);
}

.block-8-step-v1 .step-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
  flex-shrink: 0;
}

.block-8-step-v1 .step-btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
}

.block-8-step-v1 .step-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.dark .block-8-step-v1 .step-btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}

.dark .block-8-step-v1 .step-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
}

.block-8-step-v1 .step-btn:focus-visible {
  outline: 2px solid var(--color-moss-green);
  outline-offset: 2px;
}
.dark .block-8-step-v1 .step-btn:focus-visible {
  outline-color: var(--color-accent-dark);
}

/* ── Card entrance animations ── */

.block-8-step-v1 .step-card.step-hidden {
  opacity: 0;
}

@keyframes step-in-fwd {
  from { opacity: 0; transform: translateX(72px); }
  to   { opacity: 1; transform: none; }
}
@keyframes step-in-bwd {
  from { opacity: 0; transform: translateX(-72px); }
  to   { opacity: 1; transform: none; }
}

.block-8-step-v1 .step-card.step-in-fwd {
  animation: step-in-fwd 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: none;
}
.block-8-step-v1 .step-card.step-in-bwd {
  animation: step-in-bwd 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .block-8-step-v1 .step-card { transition: none; }
  .block-8-step-v1 .step-card.step-hidden { opacity: 1; }
  .block-8-step-v1 .step-card.step-in-fwd,
  .block-8-step-v1 .step-card.step-in-bwd { animation: none; }
}

/* ── Image mode ── */

.block-8-step-v1 .step-card[data-bg="image"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--card-img);
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.block-8-step-v1 .step-card[data-bg="image"] .step-backdrop {
  display: block;
}

.block-8-step-v1 .step-card[data-bg="image"] .step-number,
.block-8-step-v1 .step-card[data-bg="image"] .step-name,
.block-8-step-v1 .step-card[data-bg="image"] .step-desc {
  color: var(--color-white);
}

/* ── Color mode ── */

/* Dark bg → white text */
.block-8-step-v1 .step-card[data-bg="color"][data-color="forest-green"] { background-color: var(--color-forest-green); }
.block-8-step-v1 .step-card[data-bg="color"][data-color="moss-green"]   { background-color: var(--color-moss-green); }
.block-8-step-v1 .step-card[data-bg="color"][data-color="dark-red"]     { background-color: var(--color-dark-red); }

.block-8-step-v1 .step-card[data-bg="color"][data-color="forest-green"] .step-number,
.block-8-step-v1 .step-card[data-bg="color"][data-color="forest-green"] .step-name,
.block-8-step-v1 .step-card[data-bg="color"][data-color="forest-green"] .step-desc,
.block-8-step-v1 .step-card[data-bg="color"][data-color="moss-green"] .step-number,
.block-8-step-v1 .step-card[data-bg="color"][data-color="moss-green"] .step-name,
.block-8-step-v1 .step-card[data-bg="color"][data-color="moss-green"] .step-desc,
.block-8-step-v1 .step-card[data-bg="color"][data-color="dark-red"] .step-number,
.block-8-step-v1 .step-card[data-bg="color"][data-color="dark-red"] .step-name,
.block-8-step-v1 .step-card[data-bg="color"][data-color="dark-red"] .step-desc {
  color: var(--color-white);
}

/* ── Responsive ── */

@media (min-width: 768px) {
  .block-8-step-v1 .step-inner { padding: 64px 48px; }
  .block-8-step-v1 .step-header { margin-bottom: 40px; }
  .block-8-step-v1 .step-headline { font-size: 40px; }
  .block-8-step-v1 .step-progress { flex: none; width: 176px; }
  .block-8-step-v1 .step-card  { flex: 0 0 300px; min-height: 400px; }
  /* 696 becomes 720-48=672 for tablet inner padding */
  .block-8-step-v1 .step-track {
    padding: 24px max(48px, calc(50vw - 672px)) 24px;
    scroll-padding-left: max(48px, calc(50vw - 672px));
  }
}

@media (min-width: 1024px) {
  .block-8-step-v1 .step-inner { padding: 64px 80px; }
  .block-8-step-v1 .step-headline { font-size: 46px; }
  .block-8-step-v1 .step-number,
  .block-8-step-v1 .step-name { font-size: 20px; }
  .block-8-step-v1 .step-card  { flex: 0 0 360px; min-height: 420px; }
  /* 696 becomes 720-80=640 for desktop inner padding */
  .block-8-step-v1 .step-track {
    padding: 24px max(80px, calc(50vw - 640px)) 24px;
    scroll-padding-left: max(80px, calc(50vw - 640px));
  }
}
/* ── All Stories (block-all-stories-v1) ──────────────────── */

.block-all-stories-v1 { background: var(--color-light-grey, #F7F7F7); }
.dark .block-all-stories-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-all-stories-v1 .as-search-bar {
  background: var(--color-moss-green, #13735F);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.block-all-stories-v1 .as-search-inner {
  max-width: 1440px; margin: 0 auto; padding: 0 24px;
  height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
}

.block-all-stories-v1 .as-search-title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 15px; font-weight: 700; line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.block-all-stories-v1 .as-search-toggle {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; padding: 0 4px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px; cursor: pointer; transition: color 0.15s;
}
.block-all-stories-v1 .as-search-toggle:hover { color: var(--color-white, #FFFFFF); }

.block-all-stories-v1 .as-mega-panel {
  overflow: hidden; height: 0; opacity: 0; pointer-events: none;
  transition: height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease;
  background: var(--color-moss-green, #13735F);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.block-all-stories-v1 .as-mega-panel.is-open { opacity: 1; pointer-events: auto; }

.block-all-stories-v1 .as-mega-content {
  max-width: 860px; margin: 0 auto; padding: 16px 24px 20px;
  display: flex; flex-direction: column; gap: 14px;
}

.block-all-stories-v1 .as-mega-row {
  display: flex; align-items: center; gap: 10px; width: 100%;
  max-width: 640px; margin: 0 auto;
}

.block-all-stories-v1 .as-mega-icon { color: rgba(255, 255, 255, 0.7); flex-shrink: 0; }

.block-all-stories-v1 .as-mega-input {
  background: none; border: none; outline: none; flex: 1;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
}
.block-all-stories-v1 .as-mega-input::placeholder { color: rgba(255, 255, 255, 0.55); }

.block-all-stories-v1 .as-mega-close {
  background: none; border: none; color: rgba(255, 255, 255, 0.7);
  cursor: pointer; padding: 4px; flex-shrink: 0; transition: color 0.15s;
}
.block-all-stories-v1 .as-mega-close:hover { color: var(--color-white, #FFFFFF); }

.block-all-stories-v1 .as-mega-categories {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;
}

.block-all-stories-v1 .as-mega-cat {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 22px; padding: 5px 14px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  cursor: pointer; transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.block-all-stories-v1 .as-mega-cat:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white, #FFFFFF);
}
.block-all-stories-v1 .as-mega-cat.is-active {
  background: var(--color-forest-green, #004432);
  border-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}

.block-all-stories-v1 .as-mega-filters {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px;
}

.block-all-stories-v1 .as-filter-drop {
  position: relative;
}
.block-all-stories-v1 .as-filter-btn {
  display: flex; align-items: center; gap: 6px;
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 8px;
  padding: 6px 10px 6px 12px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.8125rem; font-weight: 600;
  cursor: pointer; outline: none; white-space: nowrap;
  transition: background-color 0.15s, border-color 0.15s;
}
.block-all-stories-v1 .as-filter-btn:hover,
.block-all-stories-v1 .as-filter-drop.is-open .as-filter-btn {
  background-color: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.4);
}
.block-all-stories-v1 .as-filter-drop.has-value .as-filter-btn {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.55);
}
.block-all-stories-v1 .as-filter-chev {
  flex-shrink: 0; transition: transform 0.15s ease;
}
.block-all-stories-v1 .as-filter-drop.is-open .as-filter-chev {
  transform: rotate(180deg);
}
.block-all-stories-v1 .as-filter-list {
  display: none; position: absolute; top: calc(100% + 6px); left: 0;
  min-width: 140px; max-height: 240px; overflow-y: auto;
  background: var(--color-forest-green, #004432);
  border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px;
  padding: 4px 0; margin: 0; list-style: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  z-index: 100;
}
.block-all-stories-v1 .as-filter-drop.is-open .as-filter-list {
  display: block;
}
.block-all-stories-v1 .as-filter-list li {
  padding: 7px 14px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.8125rem; font-weight: 500;
  cursor: pointer; white-space: nowrap;
  transition: background-color 0.1s;
}
.block-all-stories-v1 .as-filter-list li:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-white, #FFFFFF);
}
.block-all-stories-v1 .as-filter-list li.is-active {
  color: var(--color-white, #FFFFFF); font-weight: 700;
  background-color: rgba(255, 255, 255, 0.15);
}

.block-all-stories-v1 .as-inner { max-width: 860px; margin: 0 auto; padding: 64px 24px; }
.block-all-stories-v1 .as-header { margin-bottom: 24px; }

.block-all-stories-v1 .as-title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}
.block-all-stories-v1 .as-title p { margin: 0; }
.dark .block-all-stories-v1 .as-title { color: var(--color-accent-dark, #47b27a); }

.block-all-stories-v1 .as-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6; color: var(--color-grey-80, #4D4D4D); margin: 16px 0 0;
}
.block-all-stories-v1 .as-desc p { margin: 0; }
.dark .block-all-stories-v1 .as-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-all-stories-v1 .as-no-results {
  font-family: var(--font-body, 'Lato', sans-serif);
  color: var(--color-grey-60, #737373); font-size: 16px;
  padding: 40px 0; text-align: center; display: none;
}
.dark .block-all-stories-v1 .as-no-results { color: rgba(255,255,255,0.4); }
.block-all-stories-v1 .as-no-results.is-visible { display: block; }

.block-all-stories-v1 .as-list { list-style: none; padding: 0; margin: 0; }
.block-all-stories-v1 .as-list li + li { border-top: 1px solid var(--color-grey-20, #DCDCDC); }
.dark .block-all-stories-v1 .as-list li + li { border-color: rgba(255,255,255,0.1); }

.block-all-stories-v1 .as-card {
  display: flex; flex-direction: row; align-items: flex-start; gap: 24px;
  padding: 24px 0; text-decoration: none; color: inherit; cursor: pointer;
}

.block-all-stories-v1 .as-card-img-wrap {
  flex-shrink: 0; width: 280px; aspect-ratio: 16 / 9;
  border-radius: 16px; overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-all-stories-v1 .as-card-img-wrap { background: rgba(255,255,255,0.06); }
.block-all-stories-v1 .as-card-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.45s ease;
}
.block-all-stories-v1 .as-card:hover .as-card-img { transform: scale(1.05); }

.block-all-stories-v1 .as-card-body {
  flex: 1; align-self: stretch; display: flex; flex-direction: column; gap: 6px; min-width: 0;
}

.block-all-stories-v1 .as-card-category {
  display: none; align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px; padding: 4px 10px;
}
.block-all-stories-v1 .as-card-category:not(:empty) { display: inline-block; }
.dark .block-all-stories-v1 .as-card-category {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
}

.block-all-stories-v1 .as-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700; line-height: 1.3;
  color: var(--color-black, #333333); margin: 0;
  transition: color 0.2s ease;
}
.dark .block-all-stories-v1 .as-card-title { color: var(--color-text-dark, #f0f4f2); }
.block-all-stories-v1 .as-card:hover .as-card-title { color: var(--color-forest-green, #004432); }
.dark .block-all-stories-v1 .as-card:hover .as-card-title { color: var(--color-accent-dark, #47B27A); }

.block-all-stories-v1 .as-card-seo {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0;
}
.dark .block-all-stories-v1 .as-card-seo { color: var(--color-text-secondary-dark, rgba(255,255,255,0.62)); }

.block-all-stories-v1 .as-card-date {
  display: block; margin-top: auto;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px; line-height: 1.4; color: var(--color-grey-60, #737373);
}
.dark .block-all-stories-v1 .as-card-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-all-stories-v1 .as-footer { margin-top: 48px; text-align: center; }
.block-all-stories-v1 .as-footer.is-hidden { display: none; }

.block-all-stories-v1 .as-load-more {
  display: inline-flex; align-items: center; gap: 10px;
  padding: .85rem 1.5rem; border-radius: 4rem;
  background-color: var(--color-white, #FFFFFF);
  border: 1px solid var(--color-moss-green, #13735F);
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1.125rem; font-weight: 600; line-height: 1em;
  cursor: pointer; transition: .16s ease-in-out all;
}
.block-all-stories-v1 .as-load-more:hover,
.block-all-stories-v1 .as-load-more:focus-visible {
  background-color: var(--color-moss-green, #13735F);
  border-color: var(--color-moss-green, #13735F);
  color: var(--color-white, #FFFFFF);
}
.block-all-stories-v1 .as-load-more:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F); outline-offset: 4px;
}
.dark .block-all-stories-v1 .as-load-more {
  background-color: transparent;
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-accent-dark, #47B27A);
}
.dark .block-all-stories-v1 .as-load-more:hover,
.dark .block-all-stories-v1 .as-load-more:focus-visible {
  background-color: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}

.block-all-stories-v1.as-animate .as-header { opacity: 0; transition: opacity 0.7s ease; }
.block-all-stories-v1.as-animate .as-header.as-visible { opacity: 1; }
.block-all-stories-v1.as-animate .as-card { opacity: 0; transform: translateX(-8px); transition: opacity 0.5s ease, transform 0.5s ease; }
.block-all-stories-v1.as-animate .as-card.as-visible { opacity: 1; transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .block-all-stories-v1.as-animate .as-header,
  .block-all-stories-v1.as-animate .as-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (min-width: 768px) {
  .block-all-stories-v1 .as-search-inner { padding: 0 48px; }
  .block-all-stories-v1 .as-mega-content { padding: 16px 48px 20px; }
  .block-all-stories-v1 .as-title { font-size: 40px; }
}

@media (min-width: 1024px) {
  .block-all-stories-v1 .as-search-inner { padding: 0 80px; }
  .block-all-stories-v1 .as-mega-content { padding: 16px 80px 20px; }
  .block-all-stories-v1 .as-header { margin-bottom: 40px; }
  .block-all-stories-v1 .as-title { font-size: 46px; }
}

@media (max-width: 767px) {
  .block-all-stories-v1 .as-inner { padding: 48px 24px; }
  .block-all-stories-v1 .as-card { flex-direction: column; gap: 12px; }
  .block-all-stories-v1 .as-card-img-wrap { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 16px; }
  .block-all-stories-v1 .as-mega-categories,
  .block-all-stories-v1 .as-mega-filters { gap: 6px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-all-stories-v1 .as-card-img-wrap { width: 280px; }
}
/* Bullet Points (block-bullet-points-v1) */

.block-bullet-points-v1 {
  --bullet-points-v1-bg: var(--color-white, #ffffff);
  background: var(--bullet-points-v1-bg);
  color: var(--color-black, #333333);
}

.block-bullet-points-v1[data-background-color="#FFFFFF"] {
  --bullet-points-v1-bg: var(--color-white, #ffffff);
}

.block-bullet-points-v1[data-background-color="#F7F7F7"] {
  --bullet-points-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-bullet-points-v1 {
  --bullet-points-v1-bg: var(--color-bg-dark, #0f1a14);
  background: var(--bullet-points-v1-bg) !important;
  color: var(--color-text-dark, #f0f4f2);
}

.block-bullet-points-v1 .bullet-points-v1__inner {
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  box-sizing: border-box;
}

.block-bullet-points-v1 .bullet-points-v1__content {
  display: flex;
  min-width: 0;
  margin-bottom: 40px;
  align-items: flex-start;
}

.block-bullet-points-v1 .bullet-points-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.dark .block-bullet-points-v1 .bullet-points-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-bullet-points-v1 .bullet-points-v1__headline p {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-bullet-points-v1 .bullet-points-v1__list-column {
  display: flex;
  min-width: 0;
  align-items: flex-start;
}

.block-bullet-points-v1 .bullet-points-v1__list {
  display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  flex-direction: column;
  gap: 24px;
  list-style: none;
}

.block-bullet-points-v1 .bullet-points-v1__item {
  display: flex;
  min-width: 0;
  margin: 0;
  align-items: flex-start;
  gap: 16px;
}

.block-bullet-points-v1 .bullet-points-v1__marker {
  display: block;
  width: 16px;
  height: 16px;
  margin-top: 0.4em;
  flex: 0 0 16px;
  border-radius: 50%;
  background: var(--color-moss-green, #13735f);
}

.dark .block-bullet-points-v1 .bullet-points-v1__marker {
  background: var(--color-accent-dark, #47b27a);
}

.block-bullet-points-v1 .bullet-points-v1__body {
  min-width: 0;
  flex: 1 1 auto;
  color: var(--color-black, #333333);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.dark .block-bullet-points-v1 .bullet-points-v1__body {
  color: var(--color-text-dark, #f0f4f2);
}

.block-bullet-points-v1 .bullet-points-v1__body p,
.block-bullet-points-v1 .bullet-points-v1__body ul,
.block-bullet-points-v1 .bullet-points-v1__body ol,
.block-bullet-points-v1 .bullet-points-v1__body blockquote {
  margin: 0 0 16px;
}

.block-bullet-points-v1 .bullet-points-v1__body ul,
.block-bullet-points-v1 .bullet-points-v1__body ol {
  padding-left: 1.4em;
}

.block-bullet-points-v1 .bullet-points-v1__body li {
  margin-bottom: 8px;
}

.block-bullet-points-v1 .bullet-points-v1__body > :first-child {
  margin-top: 0;
}

.block-bullet-points-v1 .bullet-points-v1__body > :last-child,
.block-bullet-points-v1 .bullet-points-v1__body li:last-child {
  margin-bottom: 0;
}

.block-bullet-points-v1 .bullet-points-v1__body strong,
.block-bullet-points-v1 .bullet-points-v1__body b {
  color: inherit;
  font-weight: 700;
}

.block-bullet-points-v1 .bullet-points-v1__body a {
  color: var(--color-moss-green, #13735f);
  font-weight: 700;
  text-decoration: underline;
}

.block-bullet-points-v1 .bullet-points-v1__body a:hover {
  text-decoration: none;
}

.block-bullet-points-v1 .bullet-points-v1__body a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

.dark .block-bullet-points-v1 .bullet-points-v1__body a {
  color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-bullet-points-v1 .bullet-points-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-bullet-points-v1 .bullet-points-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0 80px;
    align-items: stretch;
    gap: 0 32px;
  }

  .block-bullet-points-v1 .bullet-points-v1__content {
    grid-column: 1 / 5;
    margin-bottom: 0;
    padding: 64px 0;
  }

  .block-bullet-points-v1 .bullet-points-v1__list-column {
    grid-column: 5 / -1;
    padding: 64px 0;
  }
}
/* Card Timeline CTA (block-card-timeline-cta-v1) */

.block-card-timeline-cta-v1 {
  --card-timeline-cta-v1-bg: var(--color-light-grey, #f7f7f7);
  --card-timeline-cta-v1-slide-width: calc(100vw - 96px);
  --card-timeline-cta-v1-track-gap: 24px;
  --card-timeline-cta-v1-track-gutter: 24px;
  overflow: hidden;
  background: var(--card-timeline-cta-v1-bg);
  color: var(--color-black, #333333);
}

.block-card-timeline-cta-v1[data-background-color='#FFFFFF'] {
  --card-timeline-cta-v1-bg: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1[data-background-color='#F7F7F7'] {
  --card-timeline-cta-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-card-timeline-cta-v1 {
  --card-timeline-cta-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  box-sizing: border-box;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__header {
  max-width: 760px;
  margin-bottom: 40px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__headline p,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta-label p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__description {
  margin-top: 24px;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__description p {
  margin: 0 0 12px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__description p:last-child {
  margin-bottom: 0;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__carousel {
  width: 100vw;
  min-width: 0;
  margin-left: calc(50% - 50vw);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__track {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: var(--card-timeline-cta-v1-track-gap);
  width: 100%;
  margin: 0;
  padding: 0 0 0 var(--card-timeline-cta-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-padding-inline-start: var(--card-timeline-cta-v1-track-gutter);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
  list-style: none;
  box-sizing: border-box;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__track::after {
  content: '';
  flex: 0 0 max(
    0px,
    calc(100% - var(--card-timeline-cta-v1-slide-width) - var(--card-timeline-cta-v1-track-gap))
  );
}

.block-card-timeline-cta-v1.ctl-single-card .card-timeline-cta-v1__track {
  overflow-x: hidden;
}

.block-card-timeline-cta-v1.ctl-single-card .card-timeline-cta-v1__track::after {
  display: none;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__track::-webkit-scrollbar {
  display: none;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item {
  --card-timeline-cta-v1-card-bg: var(--color-moss-green, #13735f);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
  display: flex;
  flex: 0 0 var(--card-timeline-cta-v1-slide-width);
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='forest-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-forest-green, #004432);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='mint-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-mint-green, #47b27a);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='red'] {
  --card-timeline-cta-v1-card-bg: var(--color-red, #e52322);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='light-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-light-green, #8acbc1);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='corn-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-corn-green, #94c24a);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='yellow-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-yellow-green, #e6ce00);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='moss-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-moss-green, #13735f);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='dark-red'] {
  --card-timeline-cta-v1-card-bg: var(--color-dark-red, #861135);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border-radius: 16px;
  background: var(--card-timeline-cta-v1-card-bg);
  color: var(--card-timeline-cta-v1-card-copy);
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__title {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__title p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body {
  margin-top: 16px;
  color: inherit;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body p {
  margin: 0 0 12px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body p:last-child {
  margin-bottom: 0;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body a,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__body strong,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__body b {
  color: inherit;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__nav {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 24px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__nav[hidden] {
  display: none;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__progress {
  display: flex;
  height: 40px;
  min-width: 0;
  flex: 1;
  align-items: center;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill {
  position: relative;
  height: 4px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--ctl-progress, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button {
  display: flex;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__button {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__button:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__footer {
  margin-top: 32px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover,
.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover .card-timeline-cta-v1__cta-icon,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible .card-timeline-cta-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-card-timeline-cta-v1 {
    --card-timeline-cta-v1-slide-width: calc((100vw - 128px) / 2);
    --card-timeline-cta-v1-track-gap: 32px;
    --card-timeline-cta-v1-track-gutter: 48px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__inner {
    padding: 64px 48px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
    font-size: 40px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__card {
    padding: 32px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__title {
    font-size: 24px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress {
    width: 220px;
    flex: none;
  }
}

@media (min-width: 1024px) {
  .block-card-timeline-cta-v1 {
    --card-timeline-cta-v1-slide-width: min(405.3333px, calc((100vw - 224px) / 3));
    --card-timeline-cta-v1-track-gutter: max(80px, calc(50vw - 640px));
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__inner {
    padding: 64px 80px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__card {
    padding: 48px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
    font-size: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill::after,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__button,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta-icon {
    transition: none !important;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover .card-timeline-cta-v1__cta-icon,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible .card-timeline-cta-v1__cta-icon {
    transform: none !important;
  }
}
/* Center CTA (block-center-cta-v1) */

.block-center-cta-v1 {
  --center-cta-v1-bg: var(--color-forest-green, #004432);
  --center-cta-v1-illu: var(--color-mint-green, #47b27a);
  --center-cta-v1-button-hover: var(--color-forest-green, #004432);
  position: relative;
  max-width: 100%;
  overflow: hidden;
  overflow: clip;
  isolation: isolate;
  background-color: var(--center-cta-v1-bg);
  color: var(--color-white, #ffffff);
}

.block-center-cta-v1,
.block-center-cta-v1[data-preset="forest-mint"] {
  --center-cta-v1-bg: var(--color-forest-green, #004432);
  --center-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-center-cta-v1[data-preset="forest-light"] {
  --center-cta-v1-bg: var(--color-forest-green, #004432);
  --center-cta-v1-illu: var(--color-light-green, #8acbc1);
}

.block-center-cta-v1[data-preset="forest-yellow"] {
  --center-cta-v1-bg: var(--color-forest-green, #004432);
  --center-cta-v1-illu: var(--color-yellow-green, #e6ce00);
}

.block-center-cta-v1[data-preset="forest-blue"] {
  --center-cta-v1-bg: var(--color-forest-green, #004432);
  --center-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-center-cta-v1[data-preset="moss-mint"] {
  --center-cta-v1-bg: var(--color-moss-green, #13735f);
  --center-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-center-cta-v1[data-preset="moss-blue"] {
  --center-cta-v1-bg: var(--color-moss-green, #13735f);
  --center-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-center-cta-v1[data-preset="moss-red"] {
  --center-cta-v1-bg: var(--color-moss-green, #13735f);
  --center-cta-v1-illu: var(--color-red, #e52322);
}

.block-center-cta-v1[data-preset="darkred-mint"] {
  --center-cta-v1-bg: var(--color-dark-red, #861135);
  --center-cta-v1-illu: var(--color-mint-green, #47b27a);
  --center-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-center-cta-v1[data-preset="darkred-corn"] {
  --center-cta-v1-bg: var(--color-dark-red, #861135);
  --center-cta-v1-illu: var(--color-corn-green, #94c24a);
  --center-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-center-cta-v1[data-preset="darkred-blue"] {
  --center-cta-v1-bg: var(--color-dark-red, #861135);
  --center-cta-v1-illu: var(--color-blue, #477ec0);
  --center-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-center-cta-v1 .center-cta-v1__illustration {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  overflow: clip;
  color: var(--center-cta-v1-illu);
  pointer-events: none;
}

.block-center-cta-v1 .center-cta-v1__illustration-svg {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  height: 280%;
  overflow: visible;
  opacity: 0.2;
  fill: currentColor;
  shape-rendering: geometricPrecision;
  transform-origin: center center;
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.block-center-cta-v1:hover .center-cta-v1__illustration-svg,
.block-center-cta-v1:focus-within .center-cta-v1__illustration-svg {
  transform: scale(1.25);
}

.block-center-cta-v1 .center-cta-v1__inner {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  max-width: 1440px;
  min-height: 400px;
  margin: 0 auto;
  padding: 64px 24px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  box-sizing: border-box;
  text-align: center;
}

.block-center-cta-v1 .center-cta-v1__heading {
  width: 100%;
  max-width: 900px;
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-center-cta-v1 .center-cta-v1__heading p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-center-cta-v1 .center-cta-v1__heading strong,
.block-center-cta-v1 .center-cta-v1__heading b,
.block-center-cta-v1 .center-cta-v1__heading a {
  color: var(--color-white, #ffffff);
}

.block-center-cta-v1 .center-cta-v1__heading a {
  font-weight: inherit;
  text-decoration: underline;
}

.block-center-cta-v1 .center-cta-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--color-white, #ffffff);
  border-radius: 4rem;
  box-sizing: border-box;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.16s ease-in-out, border-color 0.16s ease-in-out, color 0.16s ease-in-out;
}

.block-center-cta-v1 .center-cta-v1__button:hover,
.block-center-cta-v1 .center-cta-v1__button:focus-visible,
.block-center-cta-v1 .center-cta-v1__button:focus {
  border-color: var(--color-white, #ffffff);
  background-color: var(--color-white, #ffffff);
  color: var(--center-cta-v1-button-hover);
}

.block-center-cta-v1 .center-cta-v1__button:focus-visible,
.block-center-cta-v1 .center-cta-v1__button:focus {
  outline: 3px solid var(--color-white, #ffffff);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.32);
}

.block-center-cta-v1 .center-cta-v1__button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.block-center-cta-v1 .center-cta-v1__button-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-center-cta-v1 .center-cta-v1__button:hover .center-cta-v1__button-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-center-cta-v1 .center-cta-v1__illustration-svg {
    height: 640%;
  }

  .block-center-cta-v1 .center-cta-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-center-cta-v1 .center-cta-v1__inner {
    padding: 80px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-center-cta-v1 .center-cta-v1__illustration-svg {
    transform: none !important;
    transition: none;
  }

  .block-center-cta-v1 .center-cta-v1__button,
  .block-center-cta-v1 .center-cta-v1__button-icon {
    transition: none;
  }
}
/* ── Center Picture (block-center-picture-v1) ───────────────────── */

.block-center-picture-v1 {
  --center-picture-v1-bg: var(--color-white, #FFFFFF);
  --center-picture-v1-padding-top: 64px;
  --center-picture-v1-padding-bottom: 64px;
  background: var(--center-picture-v1-bg);
}

.block-center-picture-v1[data-background-color="#FFFFFF"] {
  --center-picture-v1-bg: var(--color-white, #FFFFFF);
}

.block-center-picture-v1[data-background-color="#F7F7F7"] {
  --center-picture-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-center-picture-v1 {
  --center-picture-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-center-picture-v1[data-padding-top="true"] {
  --center-picture-v1-padding-top: 64px;
}

.block-center-picture-v1[data-padding-top="false"] {
  --center-picture-v1-padding-top: 0px;
}

.block-center-picture-v1[data-padding-bottom="true"] {
  --center-picture-v1-padding-bottom: 64px;
}

.block-center-picture-v1[data-padding-bottom="false"] {
  --center-picture-v1-padding-bottom: 0px;
}

/* Outer: max 1440px centered with responsive padding */
.block-center-picture-v1 .cp-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--center-picture-v1-padding-top) 24px var(--center-picture-v1-padding-bottom);
}

/* Inner: full width, centered (picture spans full padded area) */
.block-center-picture-v1 .cp-inner {
  margin: 0 auto;
}

/* ── Picture wrap ── */

.block-center-picture-v1 .cp-img-wrap {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-center-picture-v1 .cp-img-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.block-center-picture-v1.cp-has-lightbox .cp-img-wrap { cursor: zoom-in; }

/* Blurred background shown only for portrait pictures */
.block-center-picture-v1 .cp-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-center-picture-v1 .cp-img-wrap.cp-portrait .cp-bg { display: block; }

.block-center-picture-v1 .cp-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-center-picture-v1 .cp-img-wrap.cp-portrait .cp-img { object-fit: contain; }

/* ── Placeholder ── */

.block-center-picture-v1 .cp-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-center-picture-v1 .cp-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

/* ── Zoom button — hidden unless lightbox is enabled ── */

.block-center-picture-v1 .cp-zoom-btn {
  display: none;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: zoom-in;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.block-center-picture-v1.cp-has-lightbox .cp-zoom-btn { display: flex; }
.block-center-picture-v1 .cp-img-wrap:hover .cp-zoom-btn,
.block-center-picture-v1 .cp-img-wrap:focus-within .cp-zoom-btn { opacity: 1; }
@media (max-width: 767px) {
  .block-center-picture-v1.cp-has-lightbox .cp-zoom-btn { opacity: 1; }
}
.block-center-picture-v1 .cp-zoom-btn:hover { background: rgba(0, 0, 0, 0.65); }
.block-center-picture-v1 .cp-zoom-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  opacity: 1;
}

/* ── Lightbox — hidden by default, shown via JS class ── */

.block-center-picture-v1 .cp-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.block-center-picture-v1 .cp-lightbox.cp-lb-open { display: flex; }

.block-center-picture-v1 .cp-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: cp-lb-in 0.2s ease;
}
@keyframes cp-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-center-picture-v1 .cp-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  animation: cp-lb-up 0.2s ease;
}
@keyframes cp-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-center-picture-v1 .cp-lb-img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 8px;
  object-fit: contain;
}

.block-center-picture-v1 .cp-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.block-center-picture-v1 .cp-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
.block-center-picture-v1 .cp-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

/* ── Caption ── */

.block-center-picture-v1 .cp-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-center-picture-v1 .cp-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-center-picture-v1 .cp-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-center-picture-v1 .cp-caption a { color: var(--color-accent-dark); }
.block-center-picture-v1 .cp-caption a:hover { text-decoration: none; }

@media (min-width: 768px) {
  .block-center-picture-v1 .cp-outer { padding-left: 48px; padding-right: 48px; }
}

@media (min-width: 1024px) {
  .block-center-picture-v1 .cp-outer {
    padding: var(--center-picture-v1-padding-top) 80px var(--center-picture-v1-padding-bottom);
  }
}
/* ── Center Video (block-center-video-v1) ───────────────────── */

.block-center-video-v1 {
  --center-video-v1-bg: var(--color-white, #FFFFFF);
  --center-video-v1-padding-top: 64px;
  --center-video-v1-padding-bottom: 64px;
  background: var(--center-video-v1-bg);
}

.block-center-video-v1[data-background-color="#FFFFFF"] {
  --center-video-v1-bg: var(--color-white, #FFFFFF);
}

.block-center-video-v1[data-background-color="#F7F7F7"] {
  --center-video-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-center-video-v1 {
  --center-video-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-center-video-v1[data-padding-top="true"] {
  --center-video-v1-padding-top: 64px;
}

.block-center-video-v1[data-padding-top="false"] {
  --center-video-v1-padding-top: 0px;
}

.block-center-video-v1[data-padding-bottom="true"] {
  --center-video-v1-padding-bottom: 64px;
}

.block-center-video-v1[data-padding-bottom="false"] {
  --center-video-v1-padding-bottom: 0px;
}

.block-center-video-v1 .cv-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--center-video-v1-padding-top) 24px var(--center-video-v1-padding-bottom);
}

.block-center-video-v1 .sv-inner {
  margin: 0 auto;
}

/* The figure has no inner padding, so keep the cinema button 8px inside the frame. */
.block-center-video-v1 .sv-lights-btn {
  top: 8px;
  right: 8px;
}

@media (min-width: 768px) {
  .block-center-video-v1 .cv-outer {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (min-width: 1024px) {
  .block-center-video-v1 .cv-outer {
    padding: var(--center-video-v1-padding-top) 80px var(--center-video-v1-padding-bottom);
  }
}
/* Contact Card (block-contact-card-v1) */

.block-contact-card-v1 {
  --contact-card-v1-bg: var(--color-light-grey, #f7f7f7);
  --contact-card-v1-text: var(--color-black, #333333);
  --contact-card-v1-green: var(--color-forest-green, #004432);
  --contact-card-v1-link: var(--color-moss-green, #13735f);
  --contact-card-v1-muted: var(--color-grey-80, #4d4d4d);
  --contact-card-v1-panel: #f2f2f2;
  --contact-card-v1-divider: rgba(0, 68, 50, 0.14);
  --contact-card-v1-icon-bg: rgba(0, 68, 50, 0.08);
  --contact-card-v1-avatar-ring: var(--color-white, #ffffff);
  --contact-card-v1-avatar-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  --contact-card-v1-panel-radius: 8px;
  --contact-card-v1-spine-width: 10px;
  --contact-card-v1-spine-highlight: rgba(255, 255, 255, 0.22);
  --contact-card-v1-spine-stripe: rgba(255, 255, 255, 0.12);
  --contact-card-v1-spine-shadow: rgba(0, 0, 0, 0.16);
  background: var(--contact-card-v1-bg);
  color: var(--contact-card-v1-text);
}

.block-contact-card-v1[data-background-color="#FFFFFF"] {
  --contact-card-v1-bg: var(--color-white, #ffffff);
}

.block-contact-card-v1[data-background-color="#F7F7F7"] {
  --contact-card-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-contact-card-v1 {
  --contact-card-v1-bg: var(--color-bg-dark, #0f1a14);
  --contact-card-v1-text: var(--color-text-dark, #f0f4f2);
  --contact-card-v1-green: var(--color-accent-dark, #47b27a);
  --contact-card-v1-link: var(--color-accent-dark, #47b27a);
  --contact-card-v1-muted: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.64));
  --contact-card-v1-panel: rgba(255, 255, 255, 0.06);
  --contact-card-v1-divider: rgba(255, 255, 255, 0.16);
  --contact-card-v1-icon-bg: rgba(71, 178, 122, 0.16);
  --contact-card-v1-avatar-ring: rgba(255, 255, 255, 0.16);
  --contact-card-v1-avatar-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
  --contact-card-v1-spine-highlight: rgba(255, 255, 255, 0.16);
  --contact-card-v1-spine-stripe: rgba(255, 255, 255, 0.1);
  --contact-card-v1-spine-shadow: rgba(0, 0, 0, 0.34);
}

.block-contact-card-v1 .contact-card-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-contact-card-v1 .contact-card-v1__header {
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  padding: 24px 24px 0 36px;
  border-radius: var(--contact-card-v1-panel-radius) var(--contact-card-v1-panel-radius) 0 0;
  background: var(--contact-card-v1-panel);
}

.block-contact-card-v1 .contact-card-v1__header::before,
.block-contact-card-v1 .contact-card-v1__card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--contact-card-v1-spine-width);
  background:
    linear-gradient(90deg, var(--contact-card-v1-spine-highlight), transparent 38%, var(--contact-card-v1-spine-shadow)),
    repeating-linear-gradient(135deg, transparent 0 9px, var(--contact-card-v1-spine-stripe) 9px 11px),
    linear-gradient(180deg, var(--contact-card-v1-green), var(--contact-card-v1-link));
  box-shadow: inset -1px 0 0 var(--contact-card-v1-spine-shadow);
  pointer-events: none;
}

.block-contact-card-v1 .contact-card-v1__header::before {
  border-top-left-radius: var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__headline {
  margin: 0;
  color: var(--contact-card-v1-green);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
}

.block-contact-card-v1 .contact-card-v1__card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  min-width: 0;
  overflow: hidden;
  padding: 28px 24px 24px 36px;
  border-radius: 0 0 var(--contact-card-v1-panel-radius) var(--contact-card-v1-panel-radius);
  background: var(--contact-card-v1-panel);
}

.block-contact-card-v1 .contact-card-v1__card::before {
  border-bottom-left-radius: var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__card:first-child {
  padding-block: 24px;
  border-radius: var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__card:first-child::before {
  border-radius: var(--contact-card-v1-panel-radius) 0 0 var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__media {
  width: 120px;
  height: 120px;
  box-sizing: border-box;
  overflow: hidden;
  border: 4px solid var(--contact-card-v1-avatar-ring);
  border-radius: 999px;
  background: var(--color-grey-20, #dcdcdc);
  box-shadow: var(--contact-card-v1-avatar-shadow);
}

.block-contact-card-v1 .contact-card-v1__image,
.block-contact-card-v1 .contact-card-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-contact-card-v1 .contact-card-v1__image {
  object-fit: cover;
  object-position: center;
}

.block-contact-card-v1 .contact-card-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.14)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-contact-card-v1 .contact-card-v1__media,
.dark .block-contact-card-v1 .contact-card-v1__placeholder {
  background: rgba(255, 255, 255, 0.08);
}

.block-contact-card-v1 .contact-card-v1__body {
  min-width: 0;
}

.block-contact-card-v1 .contact-card-v1__name {
  margin: 0;
  color: var(--contact-card-v1-green);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  font-weight: 700;
  line-height: 1.3;
}

.block-contact-card-v1 .contact-card-v1__position {
  margin-top: 14px;
  color: var(--contact-card-v1-text);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.block-contact-card-v1 .contact-card-v1__position p,
.block-contact-card-v1 .contact-card-v1__description p {
  margin: 0;
}

.block-contact-card-v1 .contact-card-v1__links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  max-width: 34em;
  margin-top: 24px;
}

.block-contact-card-v1 .contact-card-v1__contact-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: var(--contact-card-v1-link);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-contact-card-v1 .contact-card-v1__contact-link:hover,
.block-contact-card-v1 .contact-card-v1__contact-link:focus-visible,
.block-contact-card-v1 .contact-card-v1__cta:hover,
.block-contact-card-v1 .contact-card-v1__cta:focus-visible {
  color: var(--contact-card-v1-green);
}

.block-contact-card-v1 .contact-card-v1__contact-link:focus-visible,
.block-contact-card-v1 .contact-card-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.dark .block-contact-card-v1 .contact-card-v1__contact-link:hover,
.dark .block-contact-card-v1 .contact-card-v1__contact-link:focus-visible,
.dark .block-contact-card-v1 .contact-card-v1__cta:hover,
.dark .block-contact-card-v1 .contact-card-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-contact-card-v1 .contact-card-v1__contact-icon {
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  padding: 6px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--contact-card-v1-icon-bg);
}

.block-contact-card-v1 .contact-card-v1__contact-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.block-contact-card-v1 .contact-card-v1__description {
  max-width: 34em;
  margin-top: 40px;
  color: var(--contact-card-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.62;
}

.block-contact-card-v1 .contact-card-v1__cta-row {
  width: 100%;
  max-width: 34em;
  margin-top: 28px;
}

.block-contact-card-v1 .contact-card-v1__cta-row--after-description {
  padding-top: 20px;
  border-top: 1px solid var(--contact-card-v1-divider);
}

.block-contact-card-v1 .contact-card-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--contact-card-v1-link);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-contact-card-v1 .contact-card-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-contact-card-v1 .contact-card-v1__cta:hover .contact-card-v1__cta-icon,
.block-contact-card-v1 .contact-card-v1__cta:focus-visible .contact-card-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-contact-card-v1 .contact-card-v1__inner {
    padding: 64px 48px;
  }

  .block-contact-card-v1 .contact-card-v1__card {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    padding: 32px 32px 32px;
  }

  .block-contact-card-v1 .contact-card-v1__card:first-child {
    padding-block: 32px;
  }

  .block-contact-card-v1 .contact-card-v1__header {
    padding: 32px 32px 0;
  }

}

@media (min-width: 1024px) {
  .block-contact-card-v1 .contact-card-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 0;
    padding: 64px 80px;
  }

  .block-contact-card-v1 .contact-card-v1__header {
    grid-column: 5 / -1;
    margin-bottom: 0;
  }

  .block-contact-card-v1 .contact-card-v1__card {
    grid-column: 5 / -1;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 36px;
    padding: 36px 40px 40px;
  }

  .block-contact-card-v1 .contact-card-v1__card:first-child {
    padding-block: 40px;
  }

  .block-contact-card-v1 .contact-card-v1__header {
    padding: 40px 40px 0;
  }

  .block-contact-card-v1 .contact-card-v1__media {
    margin-top: 4px;
  }

  .block-contact-card-v1 .contact-card-v1__position {
    margin-top: 16px;
  }

  .block-contact-card-v1 .contact-card-v1__contact-icon {
    width: 30px;
    height: 30px;
  }

  .block-contact-card-v1 .contact-card-v1__description {
    margin-top: 48px;
    line-height: 1.55;
  }

  .block-contact-card-v1 .contact-card-v1__cta-row {
    margin-top: 36px;
  }

  .block-contact-card-v1 .contact-card-v1__cta-row--after-description {
    padding-top: 24px;
  }
}

@media (max-width: 767px) {
  .block-contact-card-v1 .contact-card-v1__body {
    text-align: left;
  }

  .block-contact-card-v1 .contact-card-v1__links {
    align-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-contact-card-v1 .contact-card-v1__contact-link,
  .block-contact-card-v1 .contact-card-v1__cta,
  .block-contact-card-v1 .contact-card-v1__cta-icon {
    transition: none !important;
  }

  .block-contact-card-v1 .contact-card-v1__cta:hover .contact-card-v1__cta-icon,
  .block-contact-card-v1 .contact-card-v1__cta:focus-visible .contact-card-v1__cta-icon {
    transform: none !important;
  }
}
/* ── Cost Breakdown (block-cost-breakdown-v1) ─────────────────────────────── */

.block-cost-breakdown-v1 {
  background: var(--color-light-grey, #F7F7F7);
  color: var(--color-forest-green, #004432);
}

.block-cost-breakdown-v1 .cb-inner {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px clamp(16px, 4vw, 64px);
}

/* ── Header ── */

.block-cost-breakdown-v1 .cb-header {
  margin-bottom: clamp(32px, 5vw, 56px);
  text-align: center;
}

.block-cost-breakdown-v1 .cb-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(22px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
  margin: 0 0 10px;
}

.block-cost-breakdown-v1 .cb-subtitle {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(13px, 1.3vw, 18px);
  font-weight: 600;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0 0 14px;
}

.block-cost-breakdown-v1 .cb-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.65;
  color: var(--color-grey-80, #4D4D4D);
  max-width: 72ch;
  margin-left: auto;
  margin-right: auto;
}

.block-cost-breakdown-v1 .cb-desc p { margin: 0; }

/* ── Chart section ── */

.block-cost-breakdown-v1 .cb-chart-section {
  display: flex;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

/* ── Illustration ── */

.block-cost-breakdown-v1 .cb-illus-wrap {
  flex-shrink: 0;
  width: clamp(220px, 36vw, 440px);
  position: relative;
}

.block-cost-breakdown-v1 .cb-illus { width: 100%; line-height: 0; position: relative; }

.block-cost-breakdown-v1 .cb-illus svg:not(.cb-pie),
.block-cost-breakdown-v1 .cb-illus img {
  width: 100%; height: auto; display: block;
  transition: opacity 0.9s ease, filter 0.9s ease;
}


@keyframes cb-slice-draw {
  to { stroke-dashoffset: 0; }
}

.block-cost-breakdown-v1 .cb-pie {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

.block-cost-breakdown-v1 .cb-slice {
  transform-box: view-box;
  transform-origin: 100px 100px;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.34, 1.2, 0.64, 1), filter 0.2s ease;
}

.block-cost-breakdown-v1 .cb-slice.is-drawn {
  opacity: 1;
}

.block-cost-breakdown-v1 .cb-slice.is-active {
  transform: scale(1.04);
  filter: drop-shadow(0 0 5px currentColor);
}

.block-cost-breakdown-v1 .cb-pie:has(.cb-slice.is-active) .cb-slice:not(.is-active) {
  opacity: 0.25;
}

.block-cost-breakdown-v1 .cb-rate {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  display: flex;
  pointer-events: none;
  text-align: center;
  align-items: center;
  justify-content: center;
  font-size: clamp(26px, 3.5vw, 48px);
}

.block-cost-breakdown-v1 .cb-rate-label {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1em;
  font-weight: 700;
  color: var(--color-moss-green, #13735F);
  white-space: nowrap;
  line-height: 1.3;
  position: relative;
  z-index: 2;
}

.block-cost-breakdown-v1 .cb-rate-leaf {
  position: absolute;
  width: 3em;
  height: auto;
  z-index: 0;
  opacity: 0.12;
  pointer-events: none;
  transform: rotate(-45deg) scale(1.5);
}

/* ── Cards ── */

.block-cost-breakdown-v1 .cb-cards {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.5vw, 18px);
}

.block-cost-breakdown-v1 .cb-group-card {
  background: var(--color-light-grey, #F7F7F7);
  border-radius: 16px;
  padding: clamp(16px, 2vw, 24px);
}

.block-cost-breakdown-v1 .cb-col-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(11px, 0.85vw, 12px);
  font-weight: 700;
  color: var(--color-forest-green, #004432);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 clamp(10px, 1.2vw, 14px);
}

.block-cost-breakdown-v1 .cb-item-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(8px, 1vw, 12px);
}

.block-cost-breakdown-v1 .cb-item {
  position: relative;
  background: color-mix(in srgb, var(--item-color) 12%, #FFFFFF);
  border-radius: 22px;
  padding: clamp(12px, 1.5vw, 16px);
  border-top: 3px solid var(--item-color);
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: transform 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.block-cost-breakdown-v1 .cb-item:hover {
  transform: scale(1.03);
}

.block-cost-breakdown-v1 .cb-item:focus-visible {
  outline: 2px solid var(--color-forest-green, #004432);
  outline-offset: 2px;
}

@keyframes cb-spin-360 {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.block-cost-breakdown-v1 .cb-item-icon {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-forest-green, #004432);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.block-cost-breakdown-v1 .cb-item-icon.cb-spinning {
  animation: cb-spin-360 0.7s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.block-cost-breakdown-v1 .cb-item:hover .cb-item-icon:not(.cb-spinning) {
  transform: rotate(180deg);
}

.block-cost-breakdown-v1 .cb-item-amount {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  color: var(--color-forest-green, #004432);
  line-height: 1;
}

.block-cost-breakdown-v1 .cb-item-name {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 600;
  color: var(--color-forest-green, #004432);
  margin-top: 4px;
}

.cb-tooltip {
  position: fixed;
  z-index: 9999;
  background: var(--color-white, #FFFFFF);
  color: var(--color-forest-green, #004432);
  border-radius: 22px;
  padding: 16px 20px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.5;
  max-width: 220px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1), 0 1px 4px rgba(0, 0, 0, 0.06);
  pointer-events: none;
  opacity: 0;
  transform: translateY(0);
  transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
}

/* ── Mobile ── */

@media (max-width: 640px) {
  .block-cost-breakdown-v1 .cb-chart-section { flex-direction: column; align-items: stretch; }
  .block-cost-breakdown-v1 .cb-illus-wrap { width: clamp(180px, 60vw, 300px); margin: 0 auto; }
  .block-cost-breakdown-v1 .cb-item-grid { grid-template-columns: 1fr; }
}

/* ── Mobile item panel ── */

.block-cost-breakdown-v1 .cb-backdrop {
  position: fixed; inset: 0; z-index: 999;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s ease;
}

.block-cost-breakdown-v1 .cb-backdrop.is-active {
  opacity: 1; pointer-events: auto;
}

.block-cost-breakdown-v1 .cb-panel {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000;
  display: flex; flex-direction: column; max-height: 88vh;
  background: var(--color-white, #FFFFFF);
  border-radius: 28px 28px 0 0; overflow: hidden;
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.12);
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1);
}

.block-cost-breakdown-v1 .cb-panel.is-active { transform: translateY(0); }

.block-cost-breakdown-v1 .cb-panel-handle {
  flex-shrink: 0; display: flex; justify-content: center; padding: 14px 0 4px;
}

.block-cost-breakdown-v1 .cb-panel-handle::before {
  content: ''; width: 36px; height: 4px;
  border-radius: 2px; background: var(--color-grey-20, #DCDCDC);
}

.block-cost-breakdown-v1 .cb-panel-scroll {
  flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; min-height: 0;
}

.block-cost-breakdown-v1 .cb-panel-inner { padding: 8px 24px 16px; }

.block-cost-breakdown-v1 .cb-panel-viz {
  display: flex; justify-content: center; margin-bottom: 24px;
}

.block-cost-breakdown-v1 .cb-panel-illus-wrap {
  position: relative; width: clamp(160px, 56vw, 220px);
}

.block-cost-breakdown-v1 .cb-panel-illus-wrap .cb-illus {
  width: 100%; line-height: 0; position: relative;
}

.block-cost-breakdown-v1 .cb-panel-illus-wrap .cb-illus svg:not(.cb-pie),
.block-cost-breakdown-v1 .cb-panel-illus-wrap .cb-illus img {
  width: 100%; height: auto; display: block;
}

.block-cost-breakdown-v1 .cb-panel-illus-wrap .cb-rate {
  font-size: clamp(14px, 5vw, 20px);
}

.block-cost-breakdown-v1 .cb-panel-detail { text-align: left; }

.block-cost-breakdown-v1 .cb-panel-color-pill {
  display: inline-block; width: 28px; height: 6px;
  border-radius: 3px; margin-bottom: 10px;
}

.block-cost-breakdown-v1 .cb-panel-amount {
  display: block;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(24px, 6.5vw, 32px);
  font-weight: 700; line-height: 1.2; margin-bottom: 6px;
  color: var(--color-forest-green, #004432);
}

.block-cost-breakdown-v1 .cb-panel-item-label {
  display: block;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(14px, 3.5vw, 16px);
  font-weight: 600; color: var(--color-grey-80, #4D4D4D); margin-bottom: 10px;
}

.block-cost-breakdown-v1 .cb-panel-item-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.65; color: var(--color-grey-60, #737373);
}

.block-cost-breakdown-v1 .cb-panel-footer {
  flex-shrink: 0;
  padding: 12px 24px max(28px, env(safe-area-inset-bottom, 28px));
  display: flex; justify-content: center;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.block-cost-breakdown-v1 .cb-panel-close {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--color-light-grey, #F7F7F7);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-grey-80, #4D4D4D);
  transition: background 0.15s ease;
}

.block-cost-breakdown-v1 .cb-panel-close:hover { background: var(--color-grey-20, #DCDCDC); }
/* ── Divider (block-divider-v1) ─────────────────────────────── */

.block-divider-v1 .dv-inner {
  display: flex;
  padding: 0;
}

.block-divider-v1 .dv-line {
  border: none;
  border-top: 1px solid;
  margin: 0;
  height: 0;
  flex: 1;
}

.block-divider-v1[data-color="grey"]  .dv-line { border-color: var(--color-grey-20, #DCDCDC); }
.block-divider-v1[data-color="white"] .dv-line { border-color: var(--color-white, #FFFFFF); }


.dark .block-divider-v1[data-color="grey"]  .dv-line { border-color: rgba(255, 255, 255, 0.25); }
.dark .block-divider-v1[data-color="white"] .dv-line { border-color: var(--color-white, #FFFFFF); }
/* Donation CTA Carousel (block-donation-cta-carousel-v1) */

.block-donation-cta-carousel-v1 {
  --donation-cta-carousel-v1-bg: var(--color-white, #ffffff);
  --donation-cta-carousel-v1-slide-width: calc(100vw - 48px);
  --donation-cta-carousel-v1-track-gap: 24px;
  --donation-cta-carousel-v1-track-gutter: 24px;
  overflow: hidden;
  padding: 64px 0;
  background: var(--donation-cta-carousel-v1-bg);
  color: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1[data-background-color='#FFFFFF'] {
  --donation-cta-carousel-v1-bg: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1[data-background-color='#F7F7F7'] {
  --donation-cta-carousel-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-donation-cta-carousel-v1 {
  --donation-cta-carousel-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__header {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
  box-sizing: border-box;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__block-headline {
  max-width: 760px;
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__block-headline p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__block-headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__carousel {
  width: 100vw;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--donation-cta-carousel-v1-track-gap);
  margin: 0;
  padding: 16px 0 16px var(--donation-cta-carousel-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--donation-cta-carousel-v1-track-gutter) - var(--donation-cta-carousel-v1-track-gap)));
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__track::-webkit-scrollbar {
  display: none;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide {
  --donation-cta-carousel-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
  display: flex;
  flex: 0 0 var(--donation-cta-carousel-v1-slide-width);
  min-width: 0;
  scroll-snap-align: center;
  transform-origin: center center;
}

.block-donation-cta-carousel-v1.dcc-js-ready .donation-cta-carousel-v1__slide {
  will-change: transform;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='forest-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-forest-green, #004432);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='mint-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-mint-green, #47b27a);
  --donation-cta-carousel-v1-card-copy: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='red'] {
  --donation-cta-carousel-v1-card-bg: var(--color-red, #e52322);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='light-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-light-green, #8acbc1);
  --donation-cta-carousel-v1-card-copy: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='corn-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-corn-green, #94c24a);
  --donation-cta-carousel-v1-card-copy: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='moss-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='dark-red'] {
  --donation-cta-carousel-v1-card-bg: var(--color-dark-red, #861135);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 32px;
  overflow: hidden;
  padding: 32px;
  border-radius: 16px;
  background: var(--donation-cta-carousel-v1-card-bg);
  color: var(--donation-cta-carousel-v1-card-copy);
  box-sizing: border-box;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card--text-only .donation-cta-carousel-v1__copy {
  flex: 1;
  justify-content: center;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline p,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta-label p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body {
  max-width: 72ch;
  margin-top: 24px;
  color: inherit;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body p {
  margin: 0 0 12px;
  color: inherit;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body p:last-child {
  margin-bottom: 0;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline strong,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline b,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline a,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body strong,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body b,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body a {
  color: inherit;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline a,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body a {
  font-weight: inherit;
  text-decoration: underline;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:hover,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible {
  border-color: transparent;
  background: var(--color-moss-green, #13735f);
  color: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible {
  outline: 3px solid var(--color-white, #ffffff);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--color-forest-green, #004432);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='moss-green'] .donation-cta-carousel-v1__cta:hover:not(:focus-visible),
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='forest-green'] .donation-cta-carousel-v1__cta:hover:not(:focus-visible) {
  border-color: var(--color-white, #ffffff);
  box-shadow: inset 0 0 0 1px var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta-icon {
  width: 9px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:hover .donation-cta-carousel-v1__cta-icon,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible .donation-cta-carousel-v1__cta-icon {
  transform: translateX(3px);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__media {
  display: flex;
  width: 100%;
  height: 180px;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__illustration {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__nav {
  display: flex;
  width: var(--donation-cta-carousel-v1-slide-width);
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 16px auto 0;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__nav[hidden] {
  display: none;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress {
  display: flex;
  height: 40px;
  min-width: 0;
  flex: 1;
  align-items: center;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill {
  position: relative;
  height: 4px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--dcc-progress, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button {
  display: flex;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-donation-cta-carousel-v1 {
    --donation-cta-carousel-v1-slide-width: calc(100vw - 96px);
    --donation-cta-carousel-v1-track-gap: 32px;
    --donation-cta-carousel-v1-track-gutter: 48px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
    padding: 64px 48px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__header {
    padding-right: 48px;
    padding-left: 48px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__media {
    height: 240px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress {
    width: 220px;
    flex: none;
  }
}

@media (min-width: 1024px) {
  .block-donation-cta-carousel-v1 {
    --donation-cta-carousel-v1-slide-width: min(842.6667px, calc(66.6667vw - 117.3333px));
    --donation-cta-carousel-v1-track-gutter: calc((100vw - var(--donation-cta-carousel-v1-slide-width)) / 2);
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
    padding: 64px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__header {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media (min-width: 1280px) {
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: 32px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__copy {
    grid-column: 1 / span 6;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card--text-only .donation-cta-carousel-v1__copy {
    grid-column: 1 / -1;
    max-width: 72ch;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__media {
    grid-column: 7 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta-icon,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill::after,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button {
    transition: none !important;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:hover .donation-cta-carousel-v1__cta-icon,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible .donation-cta-carousel-v1__cta-icon {
    transform: none !important;
  }
}
/* Donation Picture CTA (block-donation-picture-cta-v1) */

.block-donation-picture-cta-v1 {
  --donation-picture-cta-v1-bg: var(--color-white, #ffffff);
  background: var(--donation-picture-cta-v1-bg);
  color: var(--color-forest-green, #004432);
}

.block-donation-picture-cta-v1[data-background-color='#FFFFFF'] {
  --donation-picture-cta-v1-bg: var(--color-white, #ffffff);
}

.block-donation-picture-cta-v1[data-background-color='#F7F7F7'] {
  --donation-picture-cta-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-donation-picture-cta-v1 {
  --donation-picture-cta-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__inner {
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__content {
  display: flex;
  min-width: 0;
  min-height: 400px;
  padding: 64px 24px;
  align-items: center;
  box-sizing: border-box;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__copy {
  width: 100%;
  max-width: 560px;
  min-width: 0;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__headline {
  margin: 0 0 24px;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__headline p,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta-label p {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description {
  margin: 0 0 32px;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__description {
  color: var(--color-text-dark, #f0f4f2);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description p {
  margin: 0 0 16px;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description p:last-child {
  margin-bottom: 0;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description ul,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__description ol {
  margin: 0 0 16px;
  padding-left: 1.4em;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description li {
  margin-bottom: 8px;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description strong,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__description b {
  color: inherit;
  font-weight: 700;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description a {
  color: var(--color-moss-green, #13735f);
  font-weight: 700;
  text-decoration: underline;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description a:hover {
  text-decoration: none;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__description a {
  color: var(--color-accent-dark, #47b27a);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta {
  display: inline-flex;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:hover,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  color: var(--color-white, #ffffff);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 4px;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta-icon {
  width: 9px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:hover .donation-picture-cta-v1__cta-icon,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible .donation-picture-cta-v1__cta-icon {
  transform: translateX(3px);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__media-column {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: 0 24px 64px;
  align-items: center;
  box-sizing: border-box;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 8px;
  background: transparent;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__image,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__image {
  object-fit: contain;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__placeholder {
  background: transparent;
}

@media (min-width: 768px) {
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__content {
    padding: 64px 48px;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__media {
    aspect-ratio: 16 / 9;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__media-column {
    padding: 0 48px 64px;
  }
}

@media (min-width: 1024px) {
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0 80px;
    align-items: stretch;
    gap: 0 32px;
    box-sizing: border-box;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__content {
    grid-column: 1 / 5;
    padding: 80px 0;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__media-column {
    grid-column: 5 / -1;
    padding: 64px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta,
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta-icon {
    transition: none !important;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:hover .donation-picture-cta-v1__cta-icon,
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible .donation-picture-cta-v1__cta-icon {
    transform: none !important;
  }
}
/* Donation Redeem (block-donation-redeem-v1) */

.block-donation-redeem-v1 {
  --donation-redeem-v1-section-bg: var(--color-white, #ffffff);
  background: var(--donation-redeem-v1-section-bg);
}

.block-donation-redeem-v1[data-background-color="#FFFFFF"] {
  --donation-redeem-v1-section-bg: var(--color-white, #ffffff);
}

.block-donation-redeem-v1[data-background-color="#F7F7F7"] {
  --donation-redeem-v1-section-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-donation-redeem-v1 {
  --donation-redeem-v1-section-bg: var(--color-bg-dark, #0f1a14);
}

.block-donation-redeem-v1 .donation-redeem-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 40px 24px;
}

.block-donation-redeem-v1 .donation-redeem-v1__card {
  --donation-redeem-v1-card-bg: var(--color-forest-green, #004432);
  --donation-redeem-v1-card-illu: var(--color-mint-green, #47b27a);
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  padding: 32px 24px 48px;
  border-radius: 16px;
  background: var(--donation-redeem-v1-card-bg);
  color: var(--color-white, #ffffff);
}

.block-donation-redeem-v1 .donation-redeem-v1__card,
.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="forest-mint"] {
  --donation-redeem-v1-card-bg: var(--color-forest-green, #004432);
  --donation-redeem-v1-card-illu: var(--color-mint-green, #47b27a);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="forest-light"] {
  --donation-redeem-v1-card-bg: var(--color-forest-green, #004432);
  --donation-redeem-v1-card-illu: var(--color-light-green, #8acbc1);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="forest-yellow"] {
  --donation-redeem-v1-card-bg: var(--color-forest-green, #004432);
  --donation-redeem-v1-card-illu: var(--color-yellow-green, #e6ce00);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="forest-blue"] {
  --donation-redeem-v1-card-bg: var(--color-forest-green, #004432);
  --donation-redeem-v1-card-illu: var(--color-blue, #477ec0);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="moss-mint"] {
  --donation-redeem-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-redeem-v1-card-illu: var(--color-mint-green, #47b27a);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="moss-blue"] {
  --donation-redeem-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-redeem-v1-card-illu: var(--color-blue, #477ec0);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="moss-red"] {
  --donation-redeem-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-redeem-v1-card-illu: var(--color-red, #e52322);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="darkred-mint"] {
  --donation-redeem-v1-card-bg: var(--color-dark-red, #861135);
  --donation-redeem-v1-card-illu: var(--color-mint-green, #47b27a);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="darkred-corn"] {
  --donation-redeem-v1-card-bg: var(--color-dark-red, #861135);
  --donation-redeem-v1-card-illu: var(--color-corn-green, #94c24a);
}

.block-donation-redeem-v1 .donation-redeem-v1__card[data-preset="darkred-blue"] {
  --donation-redeem-v1-card-bg: var(--color-dark-red, #861135);
  --donation-redeem-v1-card-illu: var(--color-blue, #477ec0);
}

.block-donation-redeem-v1 .donation-redeem-v1__card-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  color: var(--donation-redeem-v1-card-illu);
}

.block-donation-redeem-v1 .donation-redeem-v1__card-bg-svg {
  position: absolute;
  top: -310%;
  left: 4%;
  width: auto;
  height: 653%;
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

.block-donation-redeem-v1 .donation-redeem-v1__content {
  position: relative;
  z-index: 1;
}

.block-donation-redeem-v1 .donation-redeem-v1__headline {
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
}

.block-donation-redeem-v1 .donation-redeem-v1__description p {
  margin: 0;
}

.block-donation-redeem-v1 .donation-redeem-v1__description p + p {
  margin-top: 12px;
}

.block-donation-redeem-v1 .donation-redeem-v1__description {
  margin-top: 16px;
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.block-donation-redeem-v1 .donation-redeem-v1__headline a,
.block-donation-redeem-v1 .donation-redeem-v1__description a,
.block-donation-redeem-v1 .donation-redeem-v1__headline strong,
.block-donation-redeem-v1 .donation-redeem-v1__description strong,
.block-donation-redeem-v1 .donation-redeem-v1__headline b,
.block-donation-redeem-v1 .donation-redeem-v1__description b {
  color: inherit;
}

.block-donation-redeem-v1 .donation-redeem-v1__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  gap: 32px;
  margin-top: 32px;
}

.block-donation-redeem-v1 .donation-redeem-v1__field {
  min-width: 0;
}

.block-donation-redeem-v1 .donation-redeem-v1__label {
  display: block;
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  text-transform: uppercase;
}

.block-donation-redeem-v1 .donation-redeem-v1__hint,
.block-donation-redeem-v1 .donation-redeem-v1__error {
  margin: 4px 0 8px;
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.block-donation-redeem-v1 .donation-redeem-v1__error {
  margin: 8px 0 0;
  padding-left: 8px;
  border-left: 3px solid currentColor;
  font-weight: 700;
}

.block-donation-redeem-v1 .donation-redeem-v1__error:empty {
  display: none;
}

.block-donation-redeem-v1 .donation-redeem-v1__input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  height: auto;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1px solid var(--color-grey-40, #ababab);
  border-radius: 16px;
  background: var(--color-white, #ffffff);
  color: var(--color-black, #333333);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.block-donation-redeem-v1 .donation-redeem-v1__input::placeholder {
  color: var(--color-grey-60, #737373);
  opacity: 1;
}

.block-donation-redeem-v1 .donation-redeem-v1__input:focus-visible {
  outline: none;
  border-color: var(--color-black, #333333);
  box-shadow:
    0 0 0 3px var(--color-black, #333333),
    0 0 0 6px var(--color-white, #ffffff);
}

.block-donation-redeem-v1 .donation-redeem-v1__input[aria-invalid="true"] {
  border-color: #9f1239;
  box-shadow: inset 0 0 0 1px #9f1239;
}

.block-donation-redeem-v1 .donation-redeem-v1__input[aria-invalid="true"]:focus-visible {
  border-color: var(--color-black, #333333);
  box-shadow:
    0 0 0 3px var(--color-black, #333333),
    0 0 0 6px var(--color-white, #ffffff);
}

.block-donation-redeem-v1 .donation-redeem-v1__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: end;
  justify-self: start;
  gap: 10px;
  width: fit-content;
  min-height: 48px;
  box-sizing: border-box;
  padding: 12px 24px;
  border: 1px solid var(--color-white, #ffffff);
  border-radius: 999px;
  background: transparent;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.block-donation-redeem-v1 .donation-redeem-v1__submit:hover {
  background: var(--color-white, #ffffff);
  color: var(--donation-redeem-v1-card-bg);
}

.block-donation-redeem-v1 .donation-redeem-v1__submit:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px var(--color-black, #333333),
    0 0 0 6px var(--color-white, #ffffff);
}

.block-donation-redeem-v1 .donation-redeem-v1__submit-icon {
  flex: 0 0 auto;
  transition: transform 0.18s ease;
}

.block-donation-redeem-v1 .donation-redeem-v1__submit:hover .donation-redeem-v1__submit-icon {
  transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
  .block-donation-redeem-v1 .donation-redeem-v1__submit,
  .block-donation-redeem-v1 .donation-redeem-v1__submit-icon {
    transition: none;
  }
}

@media (min-width: 768px) {
  .block-donation-redeem-v1 .donation-redeem-v1__inner {
    padding: 64px 48px;
  }

  .block-donation-redeem-v1 .donation-redeem-v1__card {
    padding: 40px;
  }

  .block-donation-redeem-v1 .donation-redeem-v1__form {
    grid-template-columns: minmax(0, 256px) minmax(0, 1fr) auto;
    column-gap: 32px;
    row-gap: 0;
  }

  .block-donation-redeem-v1 .donation-redeem-v1__field {
    grid-column: 1;
  }

  .block-donation-redeem-v1 .donation-redeem-v1__submit {
    grid-column: 3;
    justify-self: end;
  }
}

@media (min-width: 1024px) {
  .block-donation-redeem-v1 .donation-redeem-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    padding: 64px 80px;
  }

  .block-donation-redeem-v1 .donation-redeem-v1__card {
    grid-column: 5 / -1;
    max-width: none;
    margin: 0;
    padding: 48px;
  }
}
/* Double Center CTA (block-double-center-cta-v1) */

.block-double-center-cta-v1 {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  overflow: clip;
}

.block-double-center-cta-v1 .double-center-cta-v1__grid {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.block-double-center-cta-v1 .double-center-cta-v1__card {
  --double-center-cta-v1-bg: var(--color-forest-green, #004432);
  --double-center-cta-v1-illu: var(--color-mint-green, #47b27a);
  --double-center-cta-v1-button-hover: var(--color-forest-green, #004432);
  position: relative;
  display: flex;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  overflow: clip;
  isolation: isolate;
  background-color: var(--double-center-cta-v1-bg);
  color: var(--color-white, #ffffff);
}

.block-double-center-cta-v1 .double-center-cta-v1__card,
.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="forest-mint"] {
  --double-center-cta-v1-bg: var(--color-forest-green, #004432);
  --double-center-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="forest-light"] {
  --double-center-cta-v1-bg: var(--color-forest-green, #004432);
  --double-center-cta-v1-illu: var(--color-light-green, #8acbc1);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="forest-yellow"] {
  --double-center-cta-v1-bg: var(--color-forest-green, #004432);
  --double-center-cta-v1-illu: var(--color-yellow-green, #e6ce00);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="forest-blue"] {
  --double-center-cta-v1-bg: var(--color-forest-green, #004432);
  --double-center-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="moss-mint"] {
  --double-center-cta-v1-bg: var(--color-moss-green, #13735f);
  --double-center-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="moss-blue"] {
  --double-center-cta-v1-bg: var(--color-moss-green, #13735f);
  --double-center-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="moss-red"] {
  --double-center-cta-v1-bg: var(--color-moss-green, #13735f);
  --double-center-cta-v1-illu: var(--color-red, #e52322);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="darkred-mint"] {
  --double-center-cta-v1-bg: var(--color-dark-red, #861135);
  --double-center-cta-v1-illu: var(--color-mint-green, #47b27a);
  --double-center-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="darkred-corn"] {
  --double-center-cta-v1-bg: var(--color-dark-red, #861135);
  --double-center-cta-v1-illu: var(--color-corn-green, #94c24a);
  --double-center-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-double-center-cta-v1 .double-center-cta-v1__card[data-preset="darkred-blue"] {
  --double-center-cta-v1-bg: var(--color-dark-red, #861135);
  --double-center-cta-v1-illu: var(--color-blue, #477ec0);
  --double-center-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-double-center-cta-v1 .double-center-cta-v1__illustration {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  overflow: clip;
  color: var(--double-center-cta-v1-illu);
  pointer-events: none;
}

.block-double-center-cta-v1 .double-center-cta-v1__illustration-svg {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  height: 560%;
  overflow: visible;
  opacity: 0.2;
  fill: currentColor;
  shape-rendering: geometricPrecision;
  transform-origin: center center;
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.block-double-center-cta-v1 .double-center-cta-v1__illustration--right .double-center-cta-v1__illustration-svg {
  position: relative;
  left: -120px;
  top: 200px;
}

.block-double-center-cta-v1 .double-center-cta-v1__card:hover .double-center-cta-v1__illustration-svg,
.block-double-center-cta-v1 .double-center-cta-v1__card:focus-within .double-center-cta-v1__illustration-svg {
  transform: scale(1.25);
}

.block-double-center-cta-v1 .double-center-cta-v1__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  max-width: 720px;
  min-height: 400px;
  margin: 0 auto;
  padding: 64px 24px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  box-sizing: border-box;
  text-align: center;
}

.block-double-center-cta-v1 .double-center-cta-v1__heading {
  width: 100%;
  max-width: 560px;
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-double-center-cta-v1 .double-center-cta-v1__heading p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-double-center-cta-v1 .double-center-cta-v1__heading strong,
.block-double-center-cta-v1 .double-center-cta-v1__heading b,
.block-double-center-cta-v1 .double-center-cta-v1__heading a {
  color: var(--color-white, #ffffff);
}

.block-double-center-cta-v1 .double-center-cta-v1__heading a {
  font-weight: inherit;
  text-decoration: underline;
}

.block-double-center-cta-v1 .double-center-cta-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--color-white, #ffffff);
  border-radius: 4rem;
  box-sizing: border-box;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.16s ease-in-out, border-color 0.16s ease-in-out, color 0.16s ease-in-out;
}

.block-double-center-cta-v1 .double-center-cta-v1__button:hover,
.block-double-center-cta-v1 .double-center-cta-v1__button:focus-visible,
.block-double-center-cta-v1 .double-center-cta-v1__button:focus {
  border-color: var(--color-white, #ffffff);
  background-color: var(--color-white, #ffffff);
  color: var(--double-center-cta-v1-button-hover);
}

.block-double-center-cta-v1 .double-center-cta-v1__button:focus-visible,
.block-double-center-cta-v1 .double-center-cta-v1__button:focus {
  outline: 3px solid var(--color-white, #ffffff);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.32);
}

.block-double-center-cta-v1 .double-center-cta-v1__button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.block-double-center-cta-v1 .double-center-cta-v1__button-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-double-center-cta-v1 .double-center-cta-v1__button:hover .double-center-cta-v1__button-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-double-center-cta-v1 .double-center-cta-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-double-center-cta-v1 .double-center-cta-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .block-double-center-cta-v1 .double-center-cta-v1__inner {
    padding: 80px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-double-center-cta-v1 .double-center-cta-v1__illustration-svg {
    transform: none !important;
    transition: none;
  }

  .block-double-center-cta-v1 .double-center-cta-v1__button,
  .block-double-center-cta-v1 .double-center-cta-v1__button-icon {
    transition: none;
  }
}
/* Download List (block-download-list-v1) */

.block-download-list-v1 {
  --download-list-v1-bg: var(--color-white, #ffffff);
  --download-list-v1-divider: var(--color-mint-green, #47b27a);
  --download-list-v1-focus: var(--color-forest-green, #004432);
  background: var(--download-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-download-list-v1[data-background-color="#FFFFFF"] {
  --download-list-v1-bg: var(--color-white, #ffffff);
}

.block-download-list-v1[data-background-color="#F7F7F7"] {
  --download-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-download-list-v1 {
  --download-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --download-list-v1-divider: var(--color-accent-dark, #47b27a);
  --download-list-v1-focus: var(--color-accent-dark, #47b27a);
  color: var(--color-text-dark, #f0f4f2);
}

.block-download-list-v1 .download-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-download-list-v1 .download-list-v1__headline {
  margin: 0 0 32px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-download-list-v1 .download-list-v1__headline p {
  margin: 0;
  font: inherit;
  color: inherit;
}

.dark .block-download-list-v1 .download-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-download-list-v1 .download-list-v1__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--download-list-v1-divider);
}

.block-download-list-v1 .download-list-v1__item {
  margin: 0;
  border-bottom: 1px solid var(--download-list-v1-divider);
}

.block-download-list-v1 .download-list-v1__link {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  padding: 20px 0;
  color: inherit;
  text-decoration: none;
}

.block-download-list-v1 .download-list-v1__link:focus-visible {
  outline: 2px solid var(--download-list-v1-focus);
  outline-offset: 4px;
}

.block-download-list-v1 .download-list-v1__type {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-height: 52px;
  padding: 8px 4px;
  overflow: hidden;
  border-radius: 8px;
  background: color-mix(in srgb, var(--color-mint-green, #47b27a) 16%, transparent);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--color-forest-green, #004432);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dark .block-download-list-v1 .download-list-v1__type {
  color: var(--color-accent-dark, #47b27a);
}

.block-download-list-v1 .download-list-v1__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
}

.block-download-list-v1 .download-list-v1__name {
  overflow-wrap: anywhere;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(18px, calc(0.75vw + 15px), 24px);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-forest-green, #004432);
}

.dark .block-download-list-v1 .download-list-v1__name {
  color: var(--color-text-dark, #f0f4f2);
}

.block-download-list-v1 .download-list-v1__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-grey-80, #4d4d4d);
}

.block-download-list-v1 .download-list-v1__meta span + span::before {
  content: '·';
  margin-right: 8px;
}

.dark .block-download-list-v1 .download-list-v1__meta {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

.block-download-list-v1 .download-list-v1__download-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--color-forest-green, #004432);
  transition: transform 180ms ease;
}

.block-download-list-v1 .download-list-v1__download-icon svg {
  width: 24px;
  height: 24px;
}

.block-download-list-v1 .download-list-v1__link:hover .download-list-v1__download-icon,
.block-download-list-v1 .download-list-v1__link:focus-visible .download-list-v1__download-icon {
  transform: translateY(4px);
}

.dark .block-download-list-v1 .download-list-v1__download-icon {
  color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-download-list-v1 .download-list-v1__inner {
    padding: 64px 48px;
  }

  .block-download-list-v1 .download-list-v1__link {
    grid-template-columns: 64px minmax(0, 1fr) 40px;
    gap: 24px;
    min-height: 112px;
    padding: 24px 0;
  }

  .block-download-list-v1 .download-list-v1__type {
    width: 64px;
    min-height: 64px;
    font-size: 12px;
  }
}

@media (min-width: 1024px) {
  .block-download-list-v1 .download-list-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    row-gap: 32px;
    padding: 64px 80px;
  }

  .block-download-list-v1 .download-list-v1__headline {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .block-download-list-v1 .download-list-v1__list {
    grid-column: 5 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-download-list-v1 .download-list-v1__download-icon {
    transition: none;
  }

  .block-download-list-v1 .download-list-v1__link:hover .download-list-v1__download-icon,
  .block-download-list-v1 .download-list-v1__link:focus-visible .download-list-v1__download-icon {
    transform: none;
  }
}
/* -- FAQ Browser (block-faq-browser-v1) ------------------------------------- */
.block-faq-browser-v1 {
  background: var(--color-white, #FFFFFF);
  color: var(--color-black, #333333);
}

.dark .block-faq-browser-v1 {
  background: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-faq-browser-v1 .fb-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-faq-browser-v1 .fb-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.block-faq-browser-v1 .fb-category-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 268px;
  padding: 24px;
  border: 1px solid rgba(0, 68, 50, 0.08);
  border-radius: 28px;
  box-sizing: border-box;
  background: var(--color-white, #FFFFFF);
  color: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  opacity: 0;
  transform: translateY(18px);
  animation: fb-slide-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--fb-i, 0) * 70ms);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.32s ease;
  will-change: transform, opacity;
}

.block-faq-browser-v1 .fb-category-card:hover,
.block-faq-browser-v1 .fb-category-card:focus-visible {
  transform: translateY(-4px) scale(1.018);
  box-shadow: 0 24px 60px rgba(20, 24, 22, 0.12);
  outline: 0;
}

.block-faq-browser-v1 .fb-category-card:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

.dark .block-faq-browser-v1 .fb-category-card {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
}

.dark .block-faq-browser-v1 .fb-category-card:hover,
.dark .block-faq-browser-v1 .fb-category-card:focus-visible {
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
}

.block-faq-browser-v1 .fb-category-illu-wrap {
  display: block;
  width: 64px;
  height: 64px;
  overflow: hidden;
}

.block-faq-browser-v1 .fb-category-illu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-white, #FFFFFF);
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 28px;
  font-weight: 700;
}

.dark .block-faq-browser-v1 .fb-category-illu {
  background: rgba(255, 255, 255, 0.08);
}

.block-faq-browser-v1 .fb-category-illu img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-faq-browser-v1 .fb-category-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.block-faq-browser-v1 .fb-category-name,
.block-faq-browser-v1 .fb-panel h2,
.block-faq-browser-v1 .fb-result-group h2 {
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 22px;
  line-height: 1.18;
  font-weight: 700;
}

.block-faq-browser-v1 .fb-category-name p,
.block-faq-browser-v1 .fb-panel h2 p,
.block-faq-browser-v1 .fb-result-group h2 p {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.block-faq-browser-v1 .fb-category-name {
  margin: 0;
}

.block-faq-browser-v1 .fb-category-desc,
.block-faq-browser-v1 .fb-panel-desc {
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 18px;
  line-height: 1.55;
  color: var(--color-grey-80, #4D4D4D);
}

.dark .block-faq-browser-v1 .fb-category-desc,
.dark .block-faq-browser-v1 .fb-panel-desc {
  color: rgba(255, 255, 255, 0.66);
}

.block-faq-browser-v1 .fb-category-desc p,
.block-faq-browser-v1 .fb-panel-desc p {
  margin: 0;
}

.block-faq-browser-v1 .fb-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.block-faq-browser-v1 .fb-nav {
  position: sticky;
  top: calc(var(--nav-height, 0px) + 24px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.block-faq-browser-v1 .fb-nav-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.block-faq-browser-v1 .fb-nav-indicator {
  position: absolute;
  z-index: 0;
  inset-inline: 0;
  top: 0;
  height: 0;
  border: 1px solid rgba(19, 115, 95, 0.28);
  border-radius: 8px;
  background: rgba(19, 115, 95, 0.08);
  pointer-events: none;
  transform: translateY(0);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), height 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.block-faq-browser-v1 .fb-nav-item,
.block-faq-browser-v1 .fb-back,
.block-faq-browser-v1 .fb-beacon-btn {
  font-family: var(--font-body, Lato, sans-serif);
  cursor: pointer;
}

.block-faq-browser-v1 .fb-faq-row,
.block-faq-browser-v1 .fb-related-item {
  cursor: pointer;
}

.block-faq-browser-v1 .fb-nav-item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 16px;
  text-align: left;
}

.block-faq-browser-v1 .fb-nav-item span {
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: inherit;
  line-height: 1.2;
}

.block-faq-browser-v1 .fb-nav-item span p {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.block-faq-browser-v1 .fb-nav-item.is-active,
.block-faq-browser-v1 .fb-nav-item:hover,
.block-faq-browser-v1 .fb-nav-item:focus-visible {
  outline: 0;
}

.block-faq-browser-v1 .fb-nav-item:hover,
.block-faq-browser-v1 .fb-nav-item:focus-visible {
  color: var(--color-moss-green, #13735F);
}

.block-faq-browser-v1 .fb-nav-item:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 2px;
}

.block-faq-browser-v1 .fb-nav-item small {
  color: var(--color-grey-60, #737373);
}

.block-faq-browser-v1 .fb-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-moss-green, #13735F);
  font-size: 16px;
  font-weight: 700;
  transition: color 0.18s ease, transform 0.18s ease;
}

.block-faq-browser-v1 .fb-back-categories {
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 16px;
}

.block-faq-browser-v1 .fb-back-categories span {
  font-family: var(--font-heading, Sora, sans-serif);
}

.block-faq-browser-v1 .fb-back-icon {
  flex: 0 0 auto;
}

.block-faq-browser-v1 .fb-back-categories:hover,
.block-faq-browser-v1 .fb-back-categories:focus-visible {
  transform: translateX(-4px);
  outline: 0;
}

.block-faq-browser-v1 .fb-back-categories:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  border-radius: 3px;
}

.block-faq-browser-v1 .fb-panel {
  min-width: 0;
}

.block-faq-browser-v1 .fb-panel-head {
  margin-bottom: 32px;
}

.block-faq-browser-v1 .fb-kicker {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 22px;
  padding: 6px 13px;
  border: 1px solid rgba(19, 115, 95, 0.18);
  border-radius: 8px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-moss-green, #13735F);
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(8px) saturate(1.3);
  -webkit-backdrop-filter: blur(8px) saturate(1.3);
}

.dark .block-faq-browser-v1 .fb-kicker {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
}

.block-faq-browser-v1 .fb-kicker p {
  margin: 0;
}

.block-faq-browser-v1 .fb-panel h2,
.block-faq-browser-v1 .fb-result-group h2 {
  margin: 0 0 16px;
  font-size: 40px;
}

.block-faq-browser-v1 .fb-faq-list,
.block-faq-browser-v1 .fb-related-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-grey-20, #DCDCDC);
}

.dark .block-faq-browser-v1 .fb-faq-list,
.dark .block-faq-browser-v1 .fb-related-list {
  border-color: rgba(255, 255, 255, 0.12);
}

.block-faq-browser-v1 .fb-faq-row,
.block-faq-browser-v1 .fb-related-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--color-grey-20, #DCDCDC);
  background: transparent;
  color: inherit;
  text-align: left;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
  opacity: 0;
  transform: translateY(14px);
  animation: fb-slide-up 0.56s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--fb-i, 0) * 45ms);
  transition: color 0.18s ease;
}

.block-faq-browser-v1 .fb-faq-row *,
.block-faq-browser-v1 .fb-related-item * {
  font-family: inherit;
}

.dark .block-faq-browser-v1 .fb-faq-row,
.dark .block-faq-browser-v1 .fb-related-item {
  border-color: rgba(255, 255, 255, 0.12);
}

.block-faq-browser-v1 .fb-faq-row:hover,
.block-faq-browser-v1 .fb-faq-row:focus-visible,
.block-faq-browser-v1 .fb-related-item:hover,
.block-faq-browser-v1 .fb-related-item:focus-visible {
  color: var(--color-moss-green, #13735F);
  outline: 0;
}

.block-faq-browser-v1 .fb-faq-row:focus-visible,
.block-faq-browser-v1 .fb-related-item:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: -2px;
}

.block-faq-browser-v1 .fb-detail h2 {
  max-width: 820px;
  margin-top: 0;
  font-family: Sora, var(--font-heading, sans-serif);
  color: var(--color-forest-green, #004432);
}

.block-faq-browser-v1 .fb-detail h2 * {
  font-family: inherit;
}

.dark .block-faq-browser-v1 .fb-detail h2 {
  color: var(--color-mint-green, #47B27A);
}

.block-faq-browser-v1 .fb-answer {
  max-width: 820px;
  margin-top: 32px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: var(--text-body, 18px);
  line-height: 1.7;
}

.block-faq-browser-v1 .fb-answer img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.block-faq-browser-v1 .fb-related {
  max-width: 820px;
  margin-top: 56px;
}

.block-faq-browser-v1 .fb-related h3 {
  margin: 0 0 18px;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 28px;
}

.block-faq-browser-v1 .fb-related-item {
  font-size: 18px;
}

.block-faq-browser-v1 .fb-search-results {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 900px;
}

.block-faq-browser-v1 .fb-search-empty,
.block-faq-browser-v1 .fb-empty {
  max-width: 760px;
  margin: 0 auto;
  padding: 40px;
  border-radius: 8px;
  background: var(--color-light-grey, #F7F7F7);
  font-family: var(--font-body, Lato, sans-serif);
  text-align: center;
}

.block-faq-browser-v1 .fb-empty {}

.dark .block-faq-browser-v1 .fb-search-empty,
.dark .block-faq-browser-v1 .fb-empty {
  background: rgba(255, 255, 255, 0.06);
}

.block-faq-browser-v1 .fb-search-empty h2 {
  margin: 0 0 12px;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 34px;
}

.block-faq-browser-v1 .fb-beacon-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  margin-right: 18px;
  padding: 0.85rem 1.5rem;
  border: 1px solid var(--color-moss-green, #13735F);
  border-radius: 4rem;
  background: transparent;
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, Sora, sans-serif);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1em;
  cursor: pointer;
  transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.block-faq-browser-v1 .fb-beacon-btn:hover,
.block-faq-browser-v1 .fb-beacon-btn:focus-visible {
  background-color: var(--color-moss-green, #13735F);
  color: var(--color-white, #FFFFFF);
  border-color: var(--color-moss-green, #13735F);
  outline: 0;
}

.block-faq-browser-v1 .fb-beacon-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

@keyframes fb-slide-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fb-detail-in {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.block-faq-browser-v1 .fb-detail .fb-kicker {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-faq-browser-v1 .fb-detail h2 {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.07s both;
}

.block-faq-browser-v1 .fb-answer {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.14s both;
}

.block-faq-browser-v1 .fb-related {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.21s both;
}

@media (min-width: 768px) {
  .block-faq-browser-v1 .fb-inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-faq-browser-v1 .fb-inner {
    padding: 64px 80px;
  }
}

@media (max-width: 980px) {
  .block-faq-browser-v1 .fb-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .block-faq-browser-v1 .fb-inner {
    padding: 48px 24px;
  }

  .block-faq-browser-v1 .fb-category-grid,
  .block-faq-browser-v1 .fb-layout {
    grid-template-columns: 1fr;
  }

  .block-faq-browser-v1 .fb-category-card {
    min-height: 0;
  }

  .block-faq-browser-v1 .fb-category-name {
    font-size: 20px;
  }

  .block-faq-browser-v1 .fb-nav {
    position: static;
  }

  .block-faq-browser-v1 .fb-nav-list {
    display: none;
  }

  .block-faq-browser-v1 .fb-panel h2,
  .block-faq-browser-v1 .fb-result-group h2 {
    font-size: 32px;
  }

  .block-faq-browser-v1 .fb-faq-row {
    font-size: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-faq-browser-v1 .fb-category-card,
  .block-faq-browser-v1 .fb-faq-row,
  .block-faq-browser-v1 .fb-related-item,
  .block-faq-browser-v1 .fb-nav-indicator,
  .block-faq-browser-v1 .fb-detail .fb-kicker,
  .block-faq-browser-v1 .fb-detail h2,
  .block-faq-browser-v1 .fb-answer,
  .block-faq-browser-v1 .fb-related {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .block-faq-browser-v1 .fb-category-card:hover,
  .block-faq-browser-v1 .fb-category-card:focus-visible,
  .block-faq-browser-v1 .fb-category-card:focus-visible {
    transform: none;
  }
}
/* -- FAQ Header (block-faq-header-v1) -------------------------------------- */
.block-faq-header-v1 {
  position: relative;
  background:
    radial-gradient(circle at 50% 0%, rgba(71, 178, 122, 0.13), transparent 34rem),
    var(--color-light-grey, #F7F7F7);
  color: var(--color-black, #333333);
  overflow: hidden;
}

.dark .block-faq-header-v1 {
  background:
    radial-gradient(circle at 50% 0%, rgba(71, 178, 122, 0.16), transparent 34rem),
    var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

/* Tree ring background */
.block-faq-header-v1 .fh-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.block-faq-header-v1 .fh-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 720px;
  height: 720px;
  margin-left: -360px;
  margin-top: -360px;
  border-radius: 22% 78% 65% 35% / 60% 40% 75% 25%;
  border: 1.5px solid rgba(71, 178, 122, 0.5);
  animation: fh-ring-expand 9s linear infinite;
}

.dark .block-faq-header-v1 .fh-ring {
  border-color: rgba(71, 178, 122, 0.3);
}

/* Same shape, different phase → rings khớp nhau như thiết diện thân cây thực */
.block-faq-header-v1 .fh-ring:nth-child(1) { animation-delay:     0s; }
.block-faq-header-v1 .fh-ring:nth-child(2) { animation-delay: -1.125s; }
.block-faq-header-v1 .fh-ring:nth-child(3) { animation-delay:  -2.25s; }
.block-faq-header-v1 .fh-ring:nth-child(4) { animation-delay: -3.375s; }
.block-faq-header-v1 .fh-ring:nth-child(5) { animation-delay:   -4.5s; }
.block-faq-header-v1 .fh-ring:nth-child(6) { animation-delay: -5.625s; }
.block-faq-header-v1 .fh-ring:nth-child(7) { animation-delay:  -6.75s; }
.block-faq-header-v1 .fh-ring:nth-child(8) { animation-delay: -7.875s; }

@keyframes fh-ring-expand {
  0%   { transform: scale(0.06); opacity: 0; }
  8%   { opacity: 0.52; }
  82%  { opacity: 0.38; }
  100% { transform: scale(1);    opacity: 0; }
}

.block-faq-header-v1 .fh-inner {
  position: relative;
  z-index: 1;
  width: min(100%, 900px);
  margin: 0 auto;
  padding: clamp(72px, 12vw, 140px) 24px clamp(56px, 8vw, 96px);
  text-align: center;
}

.block-faq-header-v1 .fh-eyebrow,
.block-faq-header-v1 .fh-greeting,
.block-faq-header-v1 .fh-title,
.block-faq-header-v1 .fh-intro,
.block-faq-header-v1 .fh-search-form,
.block-faq-header-v1 .fh-suggested {
  opacity: 0;
  transform: translateY(14px);
  animation: fh-rise 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.block-faq-header-v1 .fh-eyebrow { animation-delay: 0.02s; }
.block-faq-header-v1 .fh-greeting { animation-delay: 0.08s; }
.block-faq-header-v1 .fh-title { animation-delay: 0.14s; }
.block-faq-header-v1 .fh-intro { animation-delay: 0.2s; }
.block-faq-header-v1 .fh-search-form { animation-delay: 0.28s; }
.block-faq-header-v1 .fh-suggested { animation-delay: 0.36s; }

@keyframes fh-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.block-faq-header-v1 .fh-eyebrow {
  display: inline-flex;
  margin: 0 0 22px;
  padding: 6px 13px;
  border: 1px solid rgba(19, 115, 95, 0.18);
  border-radius: 8px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-moss-green, #13735F);
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(8px) saturate(1.3);
  -webkit-backdrop-filter: blur(8px) saturate(1.3);
}

.dark .block-faq-header-v1 .fh-eyebrow {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
}

.block-faq-header-v1 .fh-greeting {
  margin: 0;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 750;
  line-height: 1.04;
  letter-spacing: 0;
}

.block-faq-header-v1 .fh-title {
  max-width: 680px;
  margin: 14px auto 0;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-grey-80, #4D4D4D);
}

.block-faq-header-v1 .fh-intro {
  max-width: 640px;
  margin: 12px auto 0;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.65;
  color: var(--color-grey-60, #737373);
}

.dark .block-faq-header-v1 .fh-title,
.dark .block-faq-header-v1 .fh-intro {
  color: rgba(255, 255, 255, 0.82);
}

.block-faq-header-v1 .fh-title p,
.block-faq-header-v1 .fh-greeting p,
.block-faq-header-v1 .fh-eyebrow p,
.block-faq-header-v1 .fh-intro p {
  margin: 0;
}

.block-faq-header-v1 .fh-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(100%, 640px);
  margin: 38px auto 0;
  padding: 16px 18px;
  border: 1px solid rgba(0, 68, 50, 0.12);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 24px 70px rgba(0, 68, 50, 0.11);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}

.dark .block-faq-header-v1 .fh-search-form {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.block-faq-header-v1 .fh-search-form:focus-within {
  border-color: rgba(19, 115, 95, 0.38);
  box-shadow: 0 28px 80px rgba(0, 68, 50, 0.15);
}

.dark .block-faq-header-v1 .fh-search-form:focus-within {
  border-color: rgba(71, 178, 122, 0.42);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.block-faq-header-v1 .fh-search-icon {
  flex: 0 0 auto;
  color: rgba(0, 68, 50, 0.5);
}

.dark .block-faq-header-v1 .fh-search-icon {
  color: rgba(255, 255, 255, 0.45);
}

.block-faq-header-v1 .fh-search-input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: clamp(18px, 2vw, 22px);
  color: inherit;
}

.block-faq-header-v1 .fh-search-input::placeholder {
  color: rgba(77, 77, 77, 0.52);
}

.dark .block-faq-header-v1 .fh-search-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.block-faq-header-v1 .fh-search-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  color: var(--color-white, #FFFFFF);
  background: var(--color-forest-green, #004432);
  cursor: pointer;
  transition: background 0.16s ease, transform 0.16s ease;
}

.block-faq-header-v1 .fh-search-button:hover,
.block-faq-header-v1 .fh-search-button:focus-visible {
  background: var(--color-moss-green, #13735F);
  transform: translateY(-1px);
}

.block-faq-header-v1 .fh-suggested {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  width: min(100%, 640px);
  margin: 18px auto 0;
}

.block-faq-header-v1 .fh-suggested:empty {
  display: none;
}

.block-faq-header-v1 .fh-suggested-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 22px;
  padding: 8px 14px;
  color: rgba(0, 68, 50, 0.88);
  background: rgba(255, 255, 255, 0.58);
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.block-faq-header-v1 .fh-suggested-chip:hover,
.block-faq-header-v1 .fh-suggested-chip:focus,
.block-faq-header-v1 .fh-suggested-chip:focus-visible {
  border-color: rgba(0, 68, 50, 0.26);
  color: var(--color-forest-green, #004432);
  background: rgba(255, 255, 255, 0.86);
  transform: translateY(-1px);
}

.dark .block-faq-header-v1 .fh-suggested-chip {
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.07);
}

.dark .block-faq-header-v1 .fh-suggested-chip:hover,
.dark .block-faq-header-v1 .fh-suggested-chip:focus,
.dark .block-faq-header-v1 .fh-suggested-chip:focus-visible {
  color: var(--color-white, #FFFFFF);
  background: rgba(255, 255, 255, 0.13);
}

@media (max-width: 767px) {
  .block-faq-header-v1 .fh-inner {
    padding: 64px 18px 48px;
  }

  .block-faq-header-v1 .fh-search-form {
    margin-top: 30px;
    padding: 13px 14px;
    border-radius: 24px;
  }

  .block-faq-header-v1 .fh-search-button {
    width: 38px;
    height: 38px;
  }

  .block-faq-header-v1 .fh-suggested {
    justify-content: center;
  }
}

/* ── Collapse when searching ──────────────────────────────── */
.block-faq-header-v1 .fh-eyebrow,
.block-faq-header-v1 .fh-greeting,
.block-faq-header-v1 .fh-title,
.block-faq-header-v1 .fh-intro,
.block-faq-header-v1 .fh-suggested {
  max-height: 500px;
  overflow: hidden;
  transition: opacity 0.25s ease, max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1), margin 0.32s ease;
}

.block-faq-header-v1 .fh-inner {
  transition: padding 0.32s ease;
}

.block-faq-header-v1.is-searching .fh-eyebrow,
.block-faq-header-v1.is-searching .fh-greeting,
.block-faq-header-v1.is-searching .fh-title,
.block-faq-header-v1.is-searching .fh-intro,
.block-faq-header-v1.is-searching .fh-suggested {
  animation: none;
  opacity: 0;
  max-height: 0;
  margin: 0;
  padding: 0;
}

.block-faq-header-v1.is-searching .fh-inner {
  padding: 40px 24px 40px;
}

.block-faq-header-v1.is-searching .fh-search-form {
  margin: 0 auto;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .block-faq-header-v1 .fh-ring {
    animation: none;
    opacity: 0;
  }

  .block-faq-header-v1 .fh-eyebrow,
  .block-faq-header-v1 .fh-greeting,
  .block-faq-header-v1 .fh-title,
  .block-faq-header-v1 .fh-intro,
  .block-faq-header-v1 .fh-search-form,
  .block-faq-header-v1 .fh-suggested {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .block-faq-header-v1 .fh-inner,
  .block-faq-header-v1 .fh-search-form {
    transition: none;
  }
}
/* FAQs (block-faqs-v1) */

.block-faqs-v1 {
  --faqs-v1-bg: var(--color-white, #ffffff);
  --faqs-v1-divider: var(--color-mint-green, #47b27a);
  background: var(--faqs-v1-bg);
  color: var(--color-black, #333333);
}

.block-faqs-v1[data-background-color="#FFFFFF"] {
  --faqs-v1-bg: var(--color-white, #ffffff);
}

.block-faqs-v1[data-background-color="#F7F7F7"] {
  --faqs-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-faqs-v1 {
  --faqs-v1-bg: var(--color-bg-dark, #0f1a14);
  --faqs-v1-divider: var(--color-accent-dark, #47b27a);
  color: var(--color-text-dark, #f0f4f2);
}

.block-faqs-v1 .faqs-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-faqs-v1 .faqs-v1__header {
  margin-bottom: 32px;
}

.block-faqs-v1 .faqs-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.dark .block-faqs-v1 .faqs-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-faqs-v1 .faqs-v1__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--faqs-v1-divider);
}

.block-faqs-v1 .faqs-v1__list-item {
  margin: 0;
  border-bottom: 1px solid var(--faqs-v1-divider);
}

.block-faqs-v1 .faqs-v1__summary {
  display: block;
  padding: 32px 0;
  list-style: none;
  color: var(--color-forest-green, #004432);
  cursor: pointer;
}

.block-faqs-v1 .faqs-v1__summary::-webkit-details-marker {
  display: none;
}

.block-faqs-v1 .faqs-v1__summary::marker {
  content: "";
}

.block-faqs-v1 .faqs-v1__summary:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.dark .block-faqs-v1 .faqs-v1__summary {
  color: var(--color-accent-dark, #47b27a);
}

.block-faqs-v1 .faqs-v1__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
  min-width: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  font-weight: 700;
  line-height: 1.35;
}

.block-faqs-v1 .faqs-v1__question-text {
  min-width: 0;
}

.block-faqs-v1 .faqs-v1__question p {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.block-faqs-v1 .faqs-v1__icon {
  position: relative;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 1px solid currentColor;
  border-radius: 999px;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.block-faqs-v1 .faqs-v1__summary:hover .faqs-v1__icon,
.block-faqs-v1 .faqs-v1__summary:focus-visible .faqs-v1__icon {
  transform: rotate(360deg);
}

.block-faqs-v1 .faqs-v1__icon::before,
.block-faqs-v1 .faqs-v1__icon::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.block-faqs-v1 .faqs-v1__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.block-faqs-v1 .faqs-v1__item[open] .faqs-v1__icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.block-faqs-v1 .faqs-v1__answer-wrap {
  overflow: hidden;
}

.block-faqs-v1 .faqs-v1__item.is-animating .faqs-v1__answer-wrap {
  will-change: height;
}

.block-faqs-v1 .faqs-v1__answer {
  padding: 0 52px 32px 0;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  line-height: 1.7;
  color: var(--color-black, #333333);
}

.dark .block-faqs-v1 .faqs-v1__answer {
  color: var(--color-text-dark, #f0f4f2);
}

.block-faqs-v1 .faqs-v1__answer p {
  margin: 0 0 16px;
}

.block-faqs-v1 .faqs-v1__answer p:last-child {
  margin-bottom: 0;
}

.block-faqs-v1 .faqs-v1__answer a {
  color: var(--color-moss-green, #13735f);
  font-weight: 700;
  text-decoration: underline;
}

.dark .block-faqs-v1 .faqs-v1__answer a {
  color: var(--color-accent-dark, #47b27a);
}

.block-faqs-v1 .faqs-v1__answer a:hover {
  text-decoration: none;
}

.block-faqs-v1 .faqs-v1__answer strong {
  font-weight: 700;
}

.block-faqs-v1 .faqs-v1__answer ul,
.block-faqs-v1 .faqs-v1__answer ol {
  margin: 0 0 16px;
  padding-left: 1.4em;
}

.block-faqs-v1 .faqs-v1__answer li {
  margin-bottom: 8px;
}

.block-faqs-v1 .faqs-v1__answer img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

@media (min-width: 768px) {
  .block-faqs-v1 .faqs-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-faqs-v1 .faqs-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    row-gap: 32px;
    padding: 64px 80px;
  }

  .block-faqs-v1 .faqs-v1__header {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .block-faqs-v1 .faqs-v1__list {
    grid-column: 5 / -1;
  }
}

@media (max-width: 767px) {
  .block-faqs-v1 .faqs-v1__question {
    gap: 16px;
  }

  .block-faqs-v1 .faqs-v1__summary {
    padding: 24px 0;
  }

  .block-faqs-v1 .faqs-v1__answer {
    padding: 0 0 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-faqs-v1 .faqs-v1__icon,
  .block-faqs-v1 .faqs-v1__icon::before,
  .block-faqs-v1 .faqs-v1__icon::after {
    transition: none !important;
  }

  .block-faqs-v1 .faqs-v1__summary:hover .faqs-v1__icon,
  .block-faqs-v1 .faqs-v1__summary:focus-visible .faqs-v1__icon {
    transform: none !important;
  }
}
/* -- Help CTA (block-help-cta-v1) ------------------------------------------ */
.block-help-cta-v1 {
  background: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}

.block-help-cta-v1.hc-no-beacon {
  display: none;
}

.block-help-cta-v1 .hc-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 72px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
}

.block-help-cta-v1 .hc-title {
  margin: 0;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 42px;
  line-height: 1.1;
}

.block-help-cta-v1 .hc-title p,
.block-help-cta-v1 .hc-body p {
  margin: 0;
}

.block-help-cta-v1 .hc-body {
  max-width: 620px;
  margin-top: 16px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}

.block-help-cta-v1 .hc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--color-white, #FFFFFF);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.block-help-cta-v1 .hc-button:hover,
.block-help-cta-v1 .hc-button:focus-visible {
  background: var(--color-mint-green, #47B27A);
  color: var(--color-white, #FFFFFF);
  outline: 0;
}

@media (max-width: 767px) {
  .block-help-cta-v1 .hc-inner {
    grid-template-columns: 1fr;
    padding: 56px 20px;
  }

  .block-help-cta-v1 .hc-title {
    font-size: 34px;
  }
}
/* ── Hero Picture (block-hero-picture-v1) ─────────────────────── */

.block-hero-picture-v1 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-height: 100svh;
  margin-top: calc(-1 * var(--nav-height, 0px));
}

.block-hero-picture-v1 .hero-picture-v1__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  background-color: var(--color-forest-green);
}

.block-hero-picture-v1 .hero-picture-v1__picture,
.block-hero-picture-v1 .hero-picture-v1__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.block-hero-picture-v1 .hero-picture-v1__picture {
  display: block;
}

.block-hero-picture-v1 .hero-picture-v1__picture--mobile {
  display: none;
}

.block-hero-picture-v1 .hero-picture-v1__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.block-hero-picture-v1 .hero-picture-v1__placeholder {
  background-color: var(--color-forest-green);
}

.block-hero-picture-v1 .hero-picture-v1__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 15%, rgba(0, 0, 0, 0.88) 100%);
  pointer-events: none;
}

.block-hero-picture-v1 .hero-picture-v1__content {
  position: relative;
  z-index: 3;
  width: 100%;
  min-width: 0;
  padding: 64px 24px 128px;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0,
    rgba(0, 0, 0, 0.55) 64px,
    rgba(0, 0, 0, 0.55) 100%
  );
  text-align: center;
}

.block-hero-picture-v1 .hero-picture-v1__title {
  margin: 0 0 16px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: clamp(40px, calc(3.5vw + 22px), var(--text-h1));
  font-weight: 700;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.block-hero-picture-v1 .hero-picture-v1__title p,
.block-hero-picture-v1 .hero-picture-v1__title > * {
  margin: 0;
}

.block-hero-picture-v1 .hero-picture-v1__subtitle {
  margin: 0 0 32px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-heading);
  font-size: clamp(20px, calc(1.2vw + 16px), var(--text-h4));
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.block-hero-picture-v1 .hero-picture-v1__subtitle p,
.block-hero-picture-v1 .hero-picture-v1__subtitle > * {
  margin: 0;
}

.block-hero-picture-v1 .hero-picture-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  height: auto;
  padding: 12px 24px;
  border-radius: 9999px;
  background-color: var(--color-yellow-green);
  color: var(--color-forest-green);
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-hero-picture-v1 .hero-picture-v1__button:hover,
.block-hero-picture-v1 .hero-picture-v1__button:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
}

.block-hero-picture-v1 .hero-picture-v1__button:focus-visible {
  outline: 3px solid var(--color-white, #fff);
  outline-offset: 2px;
  box-shadow: 0 0 0 8px var(--color-forest-green, #004432);
}

.block-hero-picture-v1 .hero-picture-v1__button p,
.block-hero-picture-v1 .hero-picture-v1__button > * {
  display: inline;
  margin: 0;
}

.block-hero-picture-v1 .hero-picture-v1__button-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-hero-picture-v1 .hero-picture-v1__button:hover .hero-picture-v1__button-icon,
.block-hero-picture-v1 .hero-picture-v1__button:focus-visible .hero-picture-v1__button-icon {
  transform: translateX(3px);
}

.block-hero-picture-v1 .hero-picture-v1__illustration {
  position: absolute;
  top: calc(100% - 116px);
  left: 50%;
  z-index: 10;
  overflow: visible;
  transform: translateX(-50%);
  pointer-events: none;
}

.block-hero-picture-v1 .hero-picture-v1__illustration-svg {
  display: block;
  overflow: visible;
}

.block-hero-picture-v1 .hero-picture-v1__illustration-path {
  fill: none;
  stroke: var(--color-mint-green);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.block-hero-picture-v1 .hero-picture-v1__vine-stem {
  stroke-width: 4;
}

@media (max-width: 767px) {
  .block-hero-picture-v1 .hero-picture-v1__picture--desktop {
    display: none;
  }

  .block-hero-picture-v1 .hero-picture-v1__picture--mobile {
    display: block;
  }
}

@media (min-width: 768px) {
  .block-hero-picture-v1 .hero-picture-v1__content {
    padding: 80px 48px 128px;
  }
}

@media (min-width: 1024px) {
  .block-hero-picture-v1 .hero-picture-v1__content {
    padding: 96px 80px 128px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-hero-picture-v1 .hero-picture-v1__button,
  .block-hero-picture-v1 .hero-picture-v1__button-icon {
    transition: none;
  }

  .block-hero-picture-v1 .hero-picture-v1__button:hover .hero-picture-v1__button-icon,
  .block-hero-picture-v1 .hero-picture-v1__button:focus-visible .hero-picture-v1__button-icon {
    transform: none;
  }
}
/* ── Hero Video (block-hero-video-v1) ──────────────────────────── */

.block-hero-video-v1 {
  position: relative;
  width: 100%;
  min-height: 100svh;
  margin-top: calc(-1 * var(--nav-height, 0px));
}

/* Clip wrapper — contains video + overlay so vine can escape below */
.block-hero-video-v1 .hero-video-clip {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.block-hero-video-v1 .hero-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.block-hero-video-v1 .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 15%, rgba(0, 0, 0, 0.88) 100%);
  z-index: 1;
  pointer-events: none;
}

/* Content */
.block-hero-video-v1 .hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 64px 24px 128px;
  text-align: center;
}

.block-hero-video-v1 .hero-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(40px, calc(3.5vw + 22px), var(--text-h1));
  line-height: 1.05;
  color: var(--color-white);
  margin: 0 0 16px;
}

.block-hero-video-v1 .hero-title p,
.block-hero-video-v1 .hero-title > * { margin: 0; }

.block-hero-video-v1 .hero-subtitle {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(20px, calc(1.2vw + 16px), var(--text-h4));
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 32px;
}

.block-hero-video-v1 .hero-subtitle p,
.block-hero-video-v1 .hero-subtitle > * { margin: 0; }

.block-hero-video-v1 .hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 24px;
  border-radius: 9999px;
  background-color: var(--color-yellow-green);
  color: var(--color-forest-green);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 16px;
  line-height: 1em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-hero-video-v1 .hero-btn:hover,
.block-hero-video-v1 .hero-btn:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
}

.block-hero-video-v1 .hero-btn:focus-visible {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
}

.block-hero-video-v1 .hero-btn p,
.block-hero-video-v1 .hero-btn > * { margin: 0; display: inline; }

.block-hero-video-v1 .hero-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-hero-video-v1 .hero-btn:hover .hero-btn-icon,
.block-hero-video-v1 .hero-btn:focus-visible .hero-btn-icon {
  transform: translateX(3px);
}

/* Play area */
.block-hero-video-v1 .hero-play-area {
  position: absolute;
  bottom: 24px;
  right: 24px;
  z-index: 5;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.block-hero-video-v1 .hero-play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  color: var(--color-white);
  cursor: pointer;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.block-hero-video-v1 .hero-play-btn:hover {
  background-color: rgba(255, 255, 255, 0.28);
  border-color: var(--color-white);
  transform: scale(1.07);
}

.block-hero-video-v1 .hero-play-btn:focus-visible {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
}

/* Info / privacy notice */
.block-hero-video-v1 .hero-info-wrap {
  position: relative;
}

.block-hero-video-v1 .hero-info-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.block-hero-video-v1 .hero-info-btn:hover,
.block-hero-video-v1 .hero-info-btn:focus-visible {
  border-color: rgba(255, 255, 255, 0.9);
  color: var(--color-white);
}

.block-hero-video-v1 .hero-info-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  right: 0;
  width: 220px;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.5;
  padding: 10px 12px;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.block-hero-video-v1 .hero-info-wrap:hover .hero-info-tooltip,
.block-hero-video-v1 .hero-info-btn:focus-visible ~ .hero-info-tooltip,
.block-hero-video-v1 .hero-info-tooltip.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Vine illustration — starts below button, grows downward on scroll */
/* top = section_height - (padding-bottom 128px - gap 12px) = 100% - 116px */
.block-hero-video-v1 .hero-illu {
  position: absolute;
  top: calc(100% - 116px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
  overflow: visible;
}

.block-hero-video-v1 .hero-illu-svg {
  display: block;
  overflow: visible;
}

.block-hero-video-v1 .hero-illu-path {
  stroke: var(--color-mint-green);
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.block-hero-video-v1 .vine-stem   { stroke-width: 4; }
.block-hero-video-v1 .vine-branch { stroke-width: 3; }
.block-hero-video-v1 .vine-sub    { stroke-width: 2.5; }

/* Lightbox */
.block-hero-video-v1 .hero-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-hero-video-v1 .hero-lightbox[hidden] {
  display: none;
}

.block-hero-video-v1 .hero-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(2, 10, 4, 0.93);
  cursor: pointer;
  animation: hero-vid-lb-in 0.2s ease;
}

@keyframes hero-vid-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-hero-video-v1 .hero-lightbox-content {
  position: relative;
  z-index: 1;
  width: 96vw;
  max-width: 1440px;
  animation: hero-vid-lb-up 0.2s ease;
}

@keyframes hero-vid-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-hero-video-v1 .hero-lightbox-frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.block-hero-video-v1 .hero-lightbox-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 6px;
}

.block-hero-video-v1 .hero-lightbox-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--color-white);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.block-hero-video-v1 .hero-lightbox-close:hover {
  background-color: rgba(255, 255, 255, 0.22);
}

.block-hero-video-v1 .hero-lightbox-close:focus-visible {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
}

.block-hero-video-v1 .hero-lightbox-hint {
  text-align: center;
  color: rgba(255, 255, 255, 0.38);
  font-family: var(--font-body);
  font-size: clamp(0.9375rem, 2vw, 1.125rem);
  margin: 14px 0 0;
  letter-spacing: 0.03em;
  pointer-events: none;
  user-select: none;
}

/* Forest atmosphere */
.block-hero-video-v1 .hero-lb-forest {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.block-hero-video-v1 .hero-lb-canopy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(160px, 24vh, 270px);
  display: block;
}

@keyframes lb-fly-glow {
  0%, 100% { opacity: 0.08; box-shadow: 0 0 3px 1px rgba(160, 240, 100, 0.2); }
  50%       { opacity: 0.85; box-shadow: 0 0 7px 3px rgba(190, 255, 130, 0.65); }
}
@keyframes lb-fly-float {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(var(--fly-dx), calc(var(--fly-dy) * 0.5)); }
  66%  { transform: translate(calc(var(--fly-dx) * -0.3), var(--fly-dy)); }
  100% { transform: translate(0, 0); }
}
.block-hero-video-v1 .hero-lb-fly {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #c6f080;
  pointer-events: none;
  animation:
    lb-fly-glow var(--fly-glow, 2s) ease-in-out infinite,
    lb-fly-float var(--fly-float, 5s) ease-in-out infinite;
}

/* Tablet */
@media (min-width: 768px) {
  .block-hero-video-v1 .hero-content {
    padding: 80px 48px 128px;
  }


}

/* Desktop */
@media (min-width: 1024px) {
  .block-hero-video-v1 .hero-content {
    padding: 96px 80px 128px;
  }


}

/* ── Falling leaves (spawned by JS when progress bar reaches 100%) ── */

@keyframes wi-leaf-fall {
  0%   { transform: translateY(-30px) translateX(0) rotate(0deg); opacity: 0; }
  8%   { opacity: 0.85; }
  92%  { opacity: 0.7; }
  100% { transform: translateY(100vh) translateX(var(--leaf-drift, 40px)) rotate(480deg); opacity: 0; }
}

.wi-leaf {
  position: fixed;
  top: 0;
  width: 10px;
  height: 16px;
  border-radius: 80% 0 80% 0;
  pointer-events: none;
  z-index: 9999;
  animation: wi-leaf-fall linear both;
  --leaf-drift: 40px;
}
/* Icon Text Grid (block-icon-text-grid-v1) */

.block-icon-text-grid-v1 {
  --icon-text-grid-v1-bg: var(--color-white, #ffffff);
  background: var(--icon-text-grid-v1-bg);
  color: var(--color-black, #333333);
}

.block-icon-text-grid-v1[data-background-color="#FFFFFF"] {
  --icon-text-grid-v1-bg: var(--color-white, #ffffff);
}

.block-icon-text-grid-v1[data-background-color="#F7F7F7"] {
  --icon-text-grid-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-icon-text-grid-v1 {
  --icon-text-grid-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-icon-text-grid-v1 .icon-text-grid-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__headline {
  margin: 0 0 40px;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-icon-text-grid-v1 .icon-text-grid-v1__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__item {
  min-width: 0;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__media {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 160px;
  margin-bottom: 24px;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__illustration {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__illustration-placeholder {
  display: block;
  width: 160px;
  height: 160px;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__illustration-placeholder {
  background: var(--color-surface-dark, #1a2920);
}

.block-icon-text-grid-v1 .icon-text-grid-v1__title {
  margin: 0 0 8px;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.block-icon-text-grid-v1 .icon-text-grid-v1__description {
  max-width: 66ch;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.6));
}

.block-icon-text-grid-v1 .icon-text-grid-v1__description p {
  margin: 0;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__description p + p {
  margin-top: 16px;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__cta:hover,
.block-icon-text-grid-v1 .icon-text-grid-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-icon-text-grid-v1 .icon-text-grid-v1__cta:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 4px;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-icon-text-grid-v1 .icon-text-grid-v1__cta:hover .icon-text-grid-v1__cta-icon,
.block-icon-text-grid-v1 .icon-text-grid-v1__cta:focus-visible .icon-text-grid-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__cta:hover,
.dark .block-icon-text-grid-v1 .icon-text-grid-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-icon-text-grid-v1 .icon-text-grid-v1__cta:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-icon-text-grid-v1 .icon-text-grid-v1__inner {
    padding: 64px 48px;
  }

  .block-icon-text-grid-v1 .icon-text-grid-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 48px;
  }
}

@media (min-width: 1024px) {
  .block-icon-text-grid-v1 .icon-text-grid-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    padding: 64px 80px;
  }

  .block-icon-text-grid-v1 .icon-text-grid-v1__headline {
    grid-column: 1 / 5;
    align-self: start;
    margin-bottom: 0;
  }

  .block-icon-text-grid-v1 .icon-text-grid-v1__grid {
    grid-column: 5 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-icon-text-grid-v1 .icon-text-grid-v1__cta,
  .block-icon-text-grid-v1 .icon-text-grid-v1__cta-icon {
    transition: none !important;
  }

  .block-icon-text-grid-v1 .icon-text-grid-v1__cta:hover .icon-text-grid-v1__cta-icon,
  .block-icon-text-grid-v1 .icon-text-grid-v1__cta:focus-visible .icon-text-grid-v1__cta-icon {
    transform: none !important;
  }
}
/* ── Illustrated Page Header (block-illustrated-page-header-v1) ── */

.block-illustrated-page-header-v1 {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
  --illustrated-page-header-v1-breadcrumb-color: rgba(255, 255, 255, 0.86);
}

/* Decorative illustration — exact Simple CTA geometry. */
.block-illustrated-page-header-v1 .illustrated-page-header-v1__illustration {
  position: absolute;
  inset: 0;
  overflow: hidden;
  color: var(--color-mint-green, #47B27A);
  pointer-events: none;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__illustration-svg {
  position: absolute;
  top: max(-310%, -1240px);
  left: 4%;
  width: auto;
  height: min(653%, 2612px);
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

/* Presets — shared with Simple CTA V1. */
.block-illustrated-page-header-v1,
.block-illustrated-page-header-v1[data-preset="forest-mint"] {
  background-color: var(--color-forest-green, #004432);
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__illustration,
.block-illustrated-page-header-v1[data-preset="forest-mint"] .illustrated-page-header-v1__illustration {
  color: var(--color-mint-green, #47B27A);
}

.block-illustrated-page-header-v1[data-preset="forest-light"] { background-color: var(--color-forest-green, #004432); }
.block-illustrated-page-header-v1[data-preset="forest-light"] .illustrated-page-header-v1__illustration { color: var(--color-light-green, #8ACBC1); }

.block-illustrated-page-header-v1[data-preset="forest-yellow"] { background-color: var(--color-forest-green, #004432); }
.block-illustrated-page-header-v1[data-preset="forest-yellow"] .illustrated-page-header-v1__illustration { color: var(--color-yellow-green, #E6CE00); }

.block-illustrated-page-header-v1[data-preset="forest-blue"] { background-color: var(--color-forest-green, #004432); }
.block-illustrated-page-header-v1[data-preset="forest-blue"] .illustrated-page-header-v1__illustration { color: var(--color-blue, #477EC0); }

.block-illustrated-page-header-v1[data-preset="moss-mint"] { background-color: var(--color-moss-green, #13735F); }
.block-illustrated-page-header-v1[data-preset="moss-mint"] .illustrated-page-header-v1__illustration { color: var(--color-mint-green, #47B27A); }

.block-illustrated-page-header-v1[data-preset="moss-blue"] { background-color: var(--color-moss-green, #13735F); }
.block-illustrated-page-header-v1[data-preset="moss-blue"] .illustrated-page-header-v1__illustration { color: var(--color-blue, #477EC0); }

.block-illustrated-page-header-v1[data-preset="moss-red"] { background-color: var(--color-moss-green, #13735F); }
.block-illustrated-page-header-v1[data-preset="moss-red"] .illustrated-page-header-v1__illustration { color: var(--color-red, #E52322); }

.block-illustrated-page-header-v1[data-preset="darkred-mint"] { background-color: var(--color-dark-red, #861135); }
.block-illustrated-page-header-v1[data-preset="darkred-mint"] .illustrated-page-header-v1__illustration { color: var(--color-mint-green, #47B27A); }

.block-illustrated-page-header-v1[data-preset="darkred-corn"] { background-color: var(--color-dark-red, #861135); }
.block-illustrated-page-header-v1[data-preset="darkred-corn"] .illustrated-page-header-v1__illustration { color: var(--color-corn-green, #94C24A); }

.block-illustrated-page-header-v1[data-preset="darkred-blue"] { background-color: var(--color-dark-red, #861135); }
.block-illustrated-page-header-v1[data-preset="darkred-blue"] .illustrated-page-header-v1__illustration { color: var(--color-blue, #477EC0); }

.block-illustrated-page-header-v1 .illustrated-page-header-v1__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb {
  width: 100%;
  margin: 0 0 64px;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-item {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: 6px;
  min-width: 0;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home svg {
  display: block;
  width: auto;
  height: 14px;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-separator {
  display: block;
  flex-shrink: 0;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link,
.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  max-width: min(320px, 60vw);
  overflow: hidden;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link {
  position: relative;
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home:hover,
.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link:hover {
  color: var(--color-white, #FFFFFF);
  opacity: 1;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home:focus-visible,
.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link:focus-visible {
  outline: 2px solid var(--color-white, #FFFFFF);
  outline-offset: 3px;
  border-radius: 2px;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline {
  width: 100%;
  margin: 0;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(36px, calc(3vw + 20px), 60px);
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: wrap;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline {
  width: 100%;
  margin-top: 16px;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: pretty;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline > *,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline > * {
  margin: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline > * + *,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline > * + * {
  margin-top: 8px;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline a,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline a,
.block-illustrated-page-header-v1 strong,
.block-illustrated-page-header-v1 b {
  color: var(--color-white, #FFFFFF);
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline a,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline a {
  font-weight: inherit;
  text-decoration: underline;
}

@media (min-width: 768px) {
  .block-illustrated-page-header-v1 .illustrated-page-header-v1__inner {
    padding: 64px 48px;
  }

  .block-illustrated-page-header-v1 .page-header-v1__breadcrumb {
    margin-bottom: 128px;
  }
}

@media (min-width: 1024px) {
  .block-illustrated-page-header-v1 .illustrated-page-header-v1__inner {
    padding-right: 80px;
    padding-left: 80px;
  }
}
/* ── Impact Statistics (block-impact-stats-v1) ──────────────────── */

.block-impact-stats-v1 {
  --impact-stats-v1-bg: var(--color-light-grey, #f7f7f7);
  background: var(--impact-stats-v1-bg);
  container-type: inline-size;
}

.block-impact-stats-v1[data-background-color="#FFFFFF"] {
  --impact-stats-v1-bg: var(--color-white, #ffffff);
}

.block-impact-stats-v1[data-background-color="#F7F7F7"] {
  --impact-stats-v1-bg: var(--color-light-grey, #f7f7f7);
}

.block-impact-stats-v1 .stats-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
}

/* ── Headline ── */

.block-impact-stats-v1 .stats-headline,
.block-impact-stats-v1 .stats-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
  text-align: center;
  margin: 0 0 48px;
}

/* ── Stat grid ── */

.block-impact-stats-v1 .stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  text-align: center;
}

.block-impact-stats-v1 .stat-number {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: 1.1;
  color: var(--color-moss-green);
  margin: 0 0 8px;
  min-width: 0;
  overflow-wrap: break-word;
}

.block-impact-stats-v1 .stat-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
  margin: 0 0 16px;
}

.block-impact-stats-v1 .stat-description {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-black, #333333);
  margin: 0;
}

.block-impact-stats-v1 .stats-headline p,
.block-impact-stats-v1 .stats-title p,
.block-impact-stats-v1 .stat-title p,
.block-impact-stats-v1 .stat-description p {
  margin: 0;
}

/* ── Footer ── */

.block-impact-stats-v1 .stats-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
}

.block-impact-stats-v1 .stats-footer:not(:has(*)) {
  display: none;
}

.block-impact-stats-v1 .progressbar-wrap {
  width: 100%;
}

.block-impact-stats-v1 .progressbar {
  background-color: var(--color-white);
  border-radius: 63px;
  height: 48px;
  overflow: hidden;
}

.block-impact-stats-v1 .progressbar-fill {
  background-color: var(--color-forest-green);
  border-radius: 47px;
  height: 100%;
  transition: width 0.6s ease;
  min-width: 0;
}

@keyframes wi-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes wi-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(116, 198, 157, 0.7); }
  70%  { box-shadow: 0 0 0 18px rgba(116, 198, 157, 0); }
  100% { box-shadow: 0 0 0 0 rgba(116, 198, 157, 0); }
}

.block-impact-stats-v1 .progressbar-fill.is-complete {
  background: linear-gradient(
    90deg,
    var(--color-forest-green) 0%,
    var(--color-forest-green) 30%,
    var(--color-mint-green) 50%,
    var(--color-forest-green) 70%,
    var(--color-forest-green) 100%
  );
  background-size: 200% 100%;
  animation: wi-shimmer 1.6s ease-in-out 0.8s 1 forwards;
}

.block-impact-stats-v1 .progressbar.is-complete {
  box-shadow: 0 0 0 2px var(--color-mint-green);
  animation: wi-pulse 2s ease-out 0s infinite;
}

/* Button */

.block-impact-stats-v1 .stats-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.85rem 1.5rem;
  background-color: var(--color-white);
  color: var(--color-moss-green);
  border: 1px solid var(--color-moss-green);
  border-radius: 4rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
  line-height: 1em;
  text-decoration: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: 0.16s ease-in-out all;
}

.block-impact-stats-v1 .stats-btn:hover,
.block-impact-stats-v1 .stats-btn:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
  border-color: var(--color-moss-green);
}

.block-impact-stats-v1 .stats-btn:focus-visible {
  outline: 3px solid var(--color-moss-green);
  outline-offset: 4px;
}

.block-impact-stats-v1 .stats-btn:focus:not(:focus-visible) {
  outline: none;
}

.block-impact-stats-v1 .stats-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-impact-stats-v1 .stats-btn:hover .stats-btn-icon {
  transform: translateX(3px);
}

/* Centered button when no progress bar */
.block-impact-stats-v1 .stats-footer.center-btn,
.block-impact-stats-v1 .stats-footer:not(:has(.progressbar-wrap)) {
  justify-content: center;
}

/* Tablet */
@media (min-width: 768px) {
  .block-impact-stats-v1 .stats-inner {
    padding: 64px 48px;
  }

  .block-impact-stats-v1 .stats-grid {
    gap: 32px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-impact-stats-v1 .stats-inner {
    padding: 64px 80px;
  }

  .block-impact-stats-v1 .stats-footer {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }

  .block-impact-stats-v1 .progressbar-wrap {
    flex: 1;
  }

  .block-impact-stats-v1 .stats-footer.center-btn,
  .block-impact-stats-v1 .stats-footer:not(:has(.progressbar-wrap)) {
    justify-content: center;
  }
}

/* Container queries — grid columns based on block width, not screen width */
@container (min-width: 540px) {
  .block-impact-stats-v1 .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@container (min-width: 760px) {
  .block-impact-stats-v1 .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* ── Instagram Feed (block-instagram-feed-v1) ────────────────── */

.block-instagram-feed-v1 {
  background: var(--color-white);
  padding: 64px 0;
}
.dark .block-instagram-feed-v1 {
  background: var(--color-bg-dark);
}

.block-instagram-feed-v1 .ig-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 64px;
  align-items: center;
}

/* ── Header ── */

.block-instagram-feed-v1 .ig-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 16px;
}

.block-instagram-feed-v1 .ig-headline {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4vw, 46px);
  line-height: var(--text-h3--line-height);
  font-weight: 700;
  color: var(--color-forest-green);
  margin: 0;
}
.dark .block-instagram-feed-v1 .ig-headline {
  color: var(--color-accent-dark);
}

.block-instagram-feed-v1 .ig-brand {
  background: linear-gradient(45deg, #feda75 0%, #fa7e1e 20%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.dark .block-instagram-feed-v1 .ig-brand {
  background: linear-gradient(45deg, #feda75 0%, #fa7e1e 20%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.block-instagram-feed-v1 .ig-description {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: var(--text-body--line-height);
  color: var(--color-black);
  max-width: 520px;
  margin: 0;
}
.dark .block-instagram-feed-v1 .ig-description {
  color: var(--color-text-secondary-dark);
}

/* ── CTA row ── */

.block-instagram-feed-v1 .ig-cta {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 8px;
}

.block-instagram-feed-v1 .ig-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 1.5rem;
  background: var(--color-white);
  color: var(--color-moss-green);
  border: 1px solid var(--color-moss-green);
  border-radius: 4rem;
  font-family: var(--font-heading);
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.block-instagram-feed-v1 .ig-btn:hover {
  background: var(--color-moss-green);
  color: var(--color-white);
  border-color: var(--color-moss-green);
}
.dark .block-instagram-feed-v1 .ig-btn {
  background: transparent;
  color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
}
.dark .block-instagram-feed-v1 .ig-btn:hover {
  background: var(--color-accent-dark);
  color: #0f1a14;
  border-color: var(--color-accent-dark);
}

.block-instagram-feed-v1 .ig-btn-logo {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.block-instagram-feed-v1 .ig-followers {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 700;
  color: var(--color-grey-60);
}
.dark .block-instagram-feed-v1 .ig-followers {
  color: var(--color-text-secondary-dark);
}

/* ── Post grid ── */

.block-instagram-feed-v1 .ig-grid {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.block-instagram-feed-v1 .ig-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.block-instagram-feed-v1 .ig-col-mid {
  margin-top: 64px;
}

/* ── Post card ── */

.block-instagram-feed-v1 .ig-post {
  position: relative;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border-radius: 8px;
  display: block;
  background: var(--color-grey-20);
}
.dark .block-instagram-feed-v1 .ig-post {
  background: var(--color-surface-dark);
}

.block-instagram-feed-v1 .ig-post-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.block-instagram-feed-v1 .ig-post-img[src=""] {
  display: none;
}
.block-instagram-feed-v1 .ig-post:hover .ig-post-img {
  transform: scale(1.05);
}

.block-instagram-feed-v1 .ig-post-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 68, 50, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.block-instagram-feed-v1 .ig-post:hover .ig-post-overlay {
  background: rgba(0, 68, 50, 0.65);
}

.block-instagram-feed-v1 .ig-post-icon {
  opacity: 0;
  color: #fff;
  width: 32px;
  height: 32px;
  transition: opacity 0.3s ease;
}
.block-instagram-feed-v1 .ig-post:hover .ig-post-icon {
  opacity: 1;
}

/* ── Scroll animation ── */

@keyframes ig-post-in {
  from { opacity: 0; transform: translateY(48px); }
  to   { opacity: 1; transform: translateY(0); }
}

.block-instagram-feed-v1.ig-js .ig-post {
  opacity: 0;
  transform: translateY(48px);
}

.block-instagram-feed-v1.ig-js .ig-post.ig-visible {
  animation: ig-post-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
  .block-instagram-feed-v1.ig-js .ig-post,
  .block-instagram-feed-v1.ig-js .ig-post.ig-visible {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* ── Responsive ── */

@media (min-width: 768px) {
  .block-instagram-feed-v1 .ig-inner {
    padding: 0 48px;
  }
}

@media (min-width: 1024px) {
  .block-instagram-feed-v1 .ig-inner {
    padding: 0 80px;
  }
}

@media (max-width: 767px) {
  .block-instagram-feed-v1 {
    padding: 64px 0;
  }
  .block-instagram-feed-v1 .ig-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 16px;
  }
  .block-instagram-feed-v1 .ig-header {
    align-items: center;
    text-align: center;
  }
  .block-instagram-feed-v1 .ig-cta {
    justify-content: center;
  }
  .block-instagram-feed-v1 .ig-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .block-instagram-feed-v1 .ig-col,
  .block-instagram-feed-v1 .ig-col-mid {
    display: contents;
  }
  .block-instagram-feed-v1 .ig-post-icon {
    width: 24px;
    height: 24px;
  }
}
/* ── Latest News (block-latest-news-v1) ──────────────────── */

.block-latest-news-v1 { background: var(--color-light-grey, #F7F7F7); }
.dark .block-latest-news-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-latest-news-v1 .ln-inner {
  max-width: 960px; margin: 0 auto; padding: 64px 24px;
}

/* Header */
.block-latest-news-v1 .ln-header { margin-bottom: 48px; }

.block-latest-news-v1 .ln-title {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700; line-height: 1.15;
  color: var(--color-forest-green, #004432); margin: 0 0 16px;
}
.dark .block-latest-news-v1 .ln-title { color: var(--color-accent-dark, #47b27a); }

.block-latest-news-v1 .ln-title-bird {
  height: 0.85em; width: auto; flex-shrink: 0; fill: currentColor; transform: translateY(-2px);
}

/* Scroll animations */
.block-latest-news-v1.ln-animate .ln-header { opacity: 0; transition: opacity 0.7s ease; }
.block-latest-news-v1.ln-animate .ln-header.ln-visible { opacity: 1; }
.block-latest-news-v1.ln-animate .ln-card { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.block-latest-news-v1.ln-animate .ln-card.ln-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .block-latest-news-v1.ln-animate .ln-header,
  .block-latest-news-v1.ln-animate .ln-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}

.block-latest-news-v1 .ln-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6; color: var(--color-grey-80, #4D4D4D); margin: 0; text-align: center;
}
.block-latest-news-v1 .ln-desc p { margin: 0; }
.dark .block-latest-news-v1 .ln-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

/* Grid */
.block-latest-news-v1 .ln-grid { display: flex; flex-direction: column; gap: 24px; }

/* Cards shared */
.block-latest-news-v1 .ln-card {
  display: flex; text-decoration: none; color: inherit;
  border-radius: 16px; overflow: hidden;
  background: var(--color-white, #FFFFFF);
  transition: transform 0.2s ease, box-shadow 0.2s ease; cursor: pointer;
}
.dark .block-latest-news-v1 .ln-card { background: var(--color-surface-dark, #1a2920); }
.block-latest-news-v1 .ln-card:hover {
  transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0, 68, 50, 0.12);
}
.dark .block-latest-news-v1 .ln-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.35); }
.block-latest-news-v1 .ln-card:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432); outline-offset: 3px;
}
.dark .block-latest-news-v1 .ln-card:focus-visible { outline-color: var(--color-mint-green, #78c5a0); }

/* Image wrap */
.block-latest-news-v1 .ln-card-img-wrap {
  overflow: hidden; position: relative; background: var(--color-grey-20, #DCDCDC);
}
.dark .block-latest-news-v1 .ln-card-img-wrap { background: rgba(255,255,255,0.06); }
.block-latest-news-v1 .ln-card-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.45s ease;
}
.block-latest-news-v1 .ln-card:hover .ln-card-img { transform: scale(1.05); }

/* Hero card */
.block-latest-news-v1 .ln-card--hero { flex-direction: row; }
.block-latest-news-v1 .ln-card--hero .ln-card-img-wrap { width: 55%; flex-shrink: 0; aspect-ratio: 16 / 9; }
.block-latest-news-v1 .ln-card--hero .ln-card-body {
  flex: 1; padding: 40px 48px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 12px;
}
.block-latest-news-v1 .ln-card--hero .ln-card-date {
  margin-top: auto;
}

/* Sub-grid */
.block-latest-news-v1 .ln-sub-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.block-latest-news-v1 .ln-card--sub { flex-direction: column; }
.block-latest-news-v1 .ln-card--sub .ln-card-img-wrap {
  width: 100%; aspect-ratio: 16 / 9; flex-shrink: 0;
}
.block-latest-news-v1 .ln-card--sub .ln-card-body {
  flex: 1; padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 8px;
}
.block-latest-news-v1 .ln-card--sub .ln-card-date { margin-top: auto; }

/* Card content */
.block-latest-news-v1 .ln-card-category {
  display: none; align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border-radius: 8px; padding: 4px 10px;
}
.block-latest-news-v1 .ln-card-category:not(:empty) { display: inline-block; }
.dark .block-latest-news-v1 .ln-card-category {
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}

.block-latest-news-v1 .ln-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700; color: var(--color-black, #333333); margin: 0; line-height: 1.3;
}
.dark .block-latest-news-v1 .ln-card-title { color: var(--color-text-dark, #f0f4f2); }

.block-latest-news-v1 .ln-card-seo {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0;
}
.dark .block-latest-news-v1 .ln-card-seo { color: var(--color-text-secondary-dark, rgba(255,255,255,0.62)); }

.block-latest-news-v1 .ln-card-date {
  display: block;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px; color: var(--color-grey-60, #737373);
}
.dark .block-latest-news-v1 .ln-card-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

/* Mobile */
@media (max-width: 767px) {
  .block-latest-news-v1 .ln-inner { padding: 48px 24px; }
  .block-latest-news-v1 .ln-card--hero { flex-direction: column; min-height: auto; }
  .block-latest-news-v1 .ln-card--hero .ln-card-img-wrap { width: 100%; aspect-ratio: 16 / 9; }
  .block-latest-news-v1 .ln-card--hero .ln-card-body { padding: 24px 20px 28px; }
  .block-latest-news-v1 .ln-sub-grid { grid-template-columns: 1fr; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-latest-news-v1 .ln-title { font-size: 40px; }
  .block-latest-news-v1 .ln-card--hero .ln-card-body { padding: 32px 36px; }
}

@media (min-width: 1024px) {
  .block-latest-news-v1 .ln-title { font-size: 46px; }
}
/* Latest Story Card List (block-latest-story-card-list-v1) */

.block-latest-story-card-list-v1 {
  --latest-story-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
  --latest-story-card-list-v1-card-bg: var(--color-white, #ffffff);
  background: var(--latest-story-card-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-latest-story-card-list-v1[data-background-color="#FFFFFF"] {
  --latest-story-card-list-v1-bg: var(--color-white, #ffffff);
}

.block-latest-story-card-list-v1[data-background-color="#F7F7F7"] {
  --latest-story-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-latest-story-card-list-v1 {
  --latest-story-card-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --latest-story-card-list-v1-card-bg: var(--color-surface-dark, #1a2920);
  color: var(--color-text-dark, #f0f4f2);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__header {
  margin-bottom: 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__headline p {
  margin: 0;
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__item {
  min-width: 0;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--latest-story-card-list-v1-card-bg);
  box-shadow: 0 1px 2px rgba(0, 68, 50, 0.08);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:focus-visible,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__image,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:hover .latest-story-card-list-v1__image,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:focus-visible .latest-story-card-list-v1__image {
  transform: scale(1.04);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title p,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__description p,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta p {
  margin: 0;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:hover,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:hover,
.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__date {
  color: var(--color-grey-60, #737373);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__category {
  display: inline-block;
  align-self: flex-start;
  padding: 4px 10px;
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px;
  background: rgba(0, 68, 50, 0.07);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__date {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__category {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.85);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__description {
  display: -webkit-box;
  margin-top: 12px;
  overflow: hidden;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__footer {
  padding: 0 24px 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover .latest-story-card-list-v1__cta-icon,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible .latest-story-card-list-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover,
.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

@media (min-width: 768px) {
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__inner {
    padding: 64px 48px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
    font-size: 40px;
  }
}

@media (min-width: 1024px) {
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__inner {
    padding: 64px 80px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__header {
    margin-bottom: 40px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item {
    grid-column: span 2;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(2),
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(2) ~ .latest-story-card-list-v1__item {
    grid-column: span 3;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
    font-size: 46px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__title {
    font-size: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__image,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta-icon {
    transition: none !important;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:hover .latest-story-card-list-v1__image,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:focus-visible .latest-story-card-list-v1__image,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover .latest-story-card-list-v1__cta-icon,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible .latest-story-card-list-v1__cta-icon {
    transform: none !important;
  }
}
.block-logoed-text-v1 {
  background-color: var(--color-light-grey, #F7F7F7);
}
.dark .block-logoed-text-v1 {
  background-color: var(--color-surface-dark, #1a2920);
}
.block-logoed-text-v1 .lt-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.block-logoed-text-v1 .lt-logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 160px;
  padding: 24px;
  border-radius: 12px;
  background-color: var(--color-white, #FFFFFF);
  margin: 0;
  flex-shrink: 0;
}
.dark .block-logoed-text-v1 .lt-logo-box {
  background-color: var(--color-bg-dark, #0f1a14);
}
.block-logoed-text-v1 .lt-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.block-logoed-text-v1 .lt-logo-placeholder {
  width: 100%;
  height: 100%;
  background-color: var(--color-grey-20, #DCDCDC);
  border-radius: 8px;
}
.block-logoed-text-v1 .lt-body {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 400;
  font-size: clamp(16px, calc(0.25vw + 15px), var(--text-body, 18px));
  line-height: var(--text-body--line-height, 1.6);
  color: var(--color-black, #333333);
}
.dark .block-logoed-text-v1 .lt-body {
  color: var(--color-text-dark, #f0f4f2);
}
.block-logoed-text-v1 .lt-body p { margin: 0 0 16px; }
.block-logoed-text-v1 .lt-body p:last-child { margin-bottom: 0; }
.block-logoed-text-v1 .lt-body a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-logoed-text-v1 .lt-body a { color: var(--color-accent-dark, #47B27A); }
.block-logoed-text-v1 .lt-body a:hover { text-decoration: none; }
.block-logoed-text-v1 .lt-body a:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 2px;
  border-radius: 2px;
}
.dark .block-logoed-text-v1 .lt-body a:focus-visible {
  outline-color: var(--color-accent-dark, #47B27A);
}
.block-logoed-text-v1 .lt-body strong { font-weight: 700; }
.block-logoed-text-v1 .lt-body ul,
.block-logoed-text-v1 .lt-body ol { padding-left: 1.4em; margin: 0 0 16px; }
.block-logoed-text-v1 .lt-body li { margin-bottom: 8px; }
@media (min-width: 768px) {
  .block-logoed-text-v1 .lt-inner { padding: 64px 48px; }
}
@media (min-width: 1024px) {
  .block-logoed-text-v1 .lt-inner {
    padding: 64px 80px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    align-items: center;
  }
  .block-logoed-text-v1 .lt-logo-box {
    grid-column: 1 / 4;
    width: auto;
    height: 180px;
  }
  .block-logoed-text-v1 .lt-body {
    grid-column: 5 / -1;
  }
}
/* ── Manual Statistics (block-manual-stats-v1) ──────────────────── */

.block-manual-stats-v1 {
  --manual-stats-v1-bg: var(--color-light-grey, #f7f7f7);
  background: var(--manual-stats-v1-bg);
  container-type: inline-size;
}

.block-manual-stats-v1[data-background-color="#FFFFFF"] {
  --manual-stats-v1-bg: var(--color-white, #ffffff);
}

.block-manual-stats-v1[data-background-color="#F7F7F7"] {
  --manual-stats-v1-bg: var(--color-light-grey, #f7f7f7);
}

.block-manual-stats-v1 .stats-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
}

/* ── Headline ── */

.block-manual-stats-v1 .stats-headline,
.block-manual-stats-v1 .stats-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
  text-align: center;
  margin: 0 0 48px;
}

/* ── Stat grid ── */

.block-manual-stats-v1 .stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  text-align: center;
}

.block-manual-stats-v1 .stat-number {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: 1.1;
  color: var(--color-moss-green);
  margin: 0 0 8px;
  min-width: 0;
  overflow-wrap: break-word;
}

.block-manual-stats-v1 .stat-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
  margin: 0 0 16px;
}

.block-manual-stats-v1 .stat-description {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-black, #333333);
  margin: 0;
}

.block-manual-stats-v1 .stats-headline p,
.block-manual-stats-v1 .stats-title p,
.block-manual-stats-v1 .stat-title p,
.block-manual-stats-v1 .stat-description p {
  margin: 0;
}

/* ── Footer ── */

.block-manual-stats-v1 .stats-footer {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

/* Button */

.block-manual-stats-v1 .stats-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.85rem 1.5rem;
  background-color: var(--color-white);
  color: var(--color-moss-green);
  border: 1px solid var(--color-moss-green);
  border-radius: 4rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
  line-height: 1em;
  text-decoration: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: 0.16s ease-in-out all;
}

.block-manual-stats-v1 .stats-btn:hover,
.block-manual-stats-v1 .stats-btn:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
  border-color: var(--color-moss-green);
}

.block-manual-stats-v1 .stats-btn:focus-visible {
  outline: 3px solid var(--color-moss-green);
  outline-offset: 4px;
}

.block-manual-stats-v1 .stats-btn:focus:not(:focus-visible) {
  outline: none;
}

.block-manual-stats-v1 .stats-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-manual-stats-v1 .stats-btn:hover .stats-btn-icon {
  transform: translateX(3px);
}

/* Tablet */
@media (min-width: 768px) {
  .block-manual-stats-v1 .stats-inner {
    padding: 64px 48px;
  }

  .block-manual-stats-v1 .stats-grid {
    gap: 32px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-manual-stats-v1 .stats-inner {
    padding: 64px 80px;
  }
}

/* Container queries — grid columns based on block width, not screen width */
@container (min-width: 540px) {
  .block-manual-stats-v1 .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@container (min-width: 760px) {
  .block-manual-stats-v1 .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* ── More Stories (block-more-stories-v1) ──────────────────── */

.block-more-stories-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-more-stories-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-more-stories-v1 .ms-inner {
  max-width: 860px; margin: 0 auto; padding: 64px 24px;
}

.block-more-stories-v1 .ms-title {
  margin: 0 0 24px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}
.block-more-stories-v1 .ms-title p { margin: 0; }
.dark .block-more-stories-v1 .ms-title { color: var(--color-accent-dark, #47b27a); }

.block-more-stories-v1 .ms-list { list-style: none; padding: 0; margin: 0; }
.block-more-stories-v1 .ms-list li + li { border-top: 1px solid var(--color-grey-20, #DCDCDC); }
.dark .block-more-stories-v1 .ms-list li + li { border-color: rgba(255,255,255,0.1); }

.block-more-stories-v1 .ms-card {
  display: flex; flex-direction: row; align-items: flex-start; gap: 24px;
  padding: 24px 0; text-decoration: none; color: inherit; cursor: pointer;
}

.block-more-stories-v1 .ms-card-img-wrap {
  flex-shrink: 0; width: 280px; aspect-ratio: 16 / 9;
  border-radius: 16px; overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-more-stories-v1 .ms-card-img-wrap { background: rgba(255,255,255,0.06); }
.block-more-stories-v1 .ms-card-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.45s ease;
}
.block-more-stories-v1 .ms-card:hover .ms-card-img { transform: scale(1.05); }

.block-more-stories-v1 .ms-card-body {
  flex: 1; align-self: stretch; display: flex; flex-direction: column; gap: 6px; min-width: 0;
}

.block-more-stories-v1 .ms-card-category {
  display: none; align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px; padding: 4px 10px;
}
.block-more-stories-v1 .ms-card-category:not(:empty) { display: inline-block; }
.dark .block-more-stories-v1 .ms-card-category {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
}

.block-more-stories-v1 .ms-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700; line-height: 1.3;
  color: var(--color-black, #333333); margin: 0;
  transition: color 0.2s ease;
}
.dark .block-more-stories-v1 .ms-card-title { color: var(--color-text-dark, #f0f4f2); }
.block-more-stories-v1 .ms-card:hover .ms-card-title { color: var(--color-forest-green, #004432); }
.dark .block-more-stories-v1 .ms-card:hover .ms-card-title { color: var(--color-accent-dark, #47B27A); }

.block-more-stories-v1 .ms-card-seo {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0;
}
.dark .block-more-stories-v1 .ms-card-seo { color: var(--color-text-secondary-dark, rgba(255,255,255,0.62)); }

.block-more-stories-v1 .ms-card-date {
  display: block; margin-top: auto;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px; line-height: 1.4; color: var(--color-grey-60, #737373);
}
.dark .block-more-stories-v1 .ms-card-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-more-stories-v1 .ms-footer { margin-top: 48px; text-align: center; }

.block-more-stories-v1 .ms-view-all {
  display: inline-flex; align-items: center; gap: 10px;
  padding: .85rem 1.5rem; border-radius: 4rem;
  background-color: var(--color-white, #FFFFFF);
  border: 1px solid var(--color-moss-green, #13735F);
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1.125rem; font-weight: 600; line-height: 1em;
  text-decoration: none; cursor: pointer;
  transition: .16s ease-in-out all;
}
.block-more-stories-v1 .ms-view-all:hover,
.block-more-stories-v1 .ms-view-all:focus-visible {
  background-color: var(--color-moss-green, #13735F);
  border-color: var(--color-moss-green, #13735F);
  color: var(--color-white, #FFFFFF);
}
.block-more-stories-v1 .ms-view-all:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F); outline-offset: 4px;
}
.dark .block-more-stories-v1 .ms-view-all {
  background-color: transparent;
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-accent-dark, #47B27A);
}
.dark .block-more-stories-v1 .ms-view-all:hover,
.dark .block-more-stories-v1 .ms-view-all:focus-visible {
  background-color: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}


.block-more-stories-v1.ms-animate .ms-title { opacity: 0; transition: opacity 0.7s ease; }
.block-more-stories-v1.ms-animate .ms-title.ms-visible { opacity: 1; }
.block-more-stories-v1.ms-animate .ms-card {
  opacity: 0; transform: translateX(-8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.block-more-stories-v1.ms-animate .ms-card.ms-visible { opacity: 1; transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .block-more-stories-v1.ms-animate .ms-title,
  .block-more-stories-v1.ms-animate .ms-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (max-width: 767px) {
  .block-more-stories-v1 .ms-inner { padding: 48px 24px; }
  .block-more-stories-v1 .ms-card { flex-direction: column; gap: 12px; }
  .block-more-stories-v1 .ms-card-img-wrap { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 16px; }
}

@media (min-width: 768px) {
  .block-more-stories-v1 .ms-title { font-size: 40px; }
}

@media (min-width: 1024px) {
  .block-more-stories-v1 .ms-title {
    margin-bottom: 40px;
    font-size: 46px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-more-stories-v1 .ms-card-img-wrap { width: 280px; }
}
/* Newsletter Subscribe (block-newsletter-subscribe-v1) */

.block-newsletter-subscribe-v1 {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
  --newsletter-subscribe-v1-surface: rgba(255, 255, 255, 0.08);
  --newsletter-subscribe-v1-surface-hover: rgba(255, 255, 255, 0.12);
  --newsletter-subscribe-v1-text: var(--color-white, #ffffff);
  --newsletter-subscribe-v1-muted: rgba(255, 255, 255, 0.9);
  --newsletter-subscribe-v1-soft: rgba(255, 255, 255, 0.18);
  --newsletter-subscribe-v1-line: rgba(255, 255, 255, 0.44);
  --newsletter-subscribe-v1-link: var(--color-white, #ffffff);
  --newsletter-subscribe-v1-accent: var(--color-white, #ffffff);
  --newsletter-subscribe-v1-error: #ffe5e5;
  position: relative;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  max-width: 100%;
  background-color: var(--newsletter-subscribe-v1-bg);
  color: var(--newsletter-subscribe-v1-text);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  clip-path: inset(0);
  color: var(--newsletter-subscribe-v1-illu);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__bg-svg {
  position: absolute;
  height: 653%;
  width: auto;
  top: -310%;
  left: 4%;
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

.block-newsletter-subscribe-v1,
.block-newsletter-subscribe-v1[data-preset="forest-mint"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
}

.block-newsletter-subscribe-v1[data-preset="forest-light"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-light-green, #8acbc1);
}

.block-newsletter-subscribe-v1[data-preset="forest-yellow"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-yellow-green, #e6ce00);
}

.block-newsletter-subscribe-v1[data-preset="forest-blue"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-blue, #477ec0);
}

.block-newsletter-subscribe-v1[data-preset="moss-mint"] {
  --newsletter-subscribe-v1-bg: var(--color-moss-green, #13735f);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
}

.block-newsletter-subscribe-v1[data-preset="moss-blue"] {
  --newsletter-subscribe-v1-bg: var(--color-moss-green, #13735f);
  --newsletter-subscribe-v1-illu: var(--color-blue, #477ec0);
}

.block-newsletter-subscribe-v1[data-preset="moss-red"] {
  --newsletter-subscribe-v1-bg: var(--color-moss-green, #13735f);
  --newsletter-subscribe-v1-illu: var(--color-red, #e52322);
}

.block-newsletter-subscribe-v1[data-preset="darkred-mint"] {
  --newsletter-subscribe-v1-bg: var(--color-dark-red, #861135);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
}

.block-newsletter-subscribe-v1[data-preset="darkred-corn"] {
  --newsletter-subscribe-v1-bg: var(--color-dark-red, #861135);
  --newsletter-subscribe-v1-illu: var(--color-corn-green, #94c24a);
}

.block-newsletter-subscribe-v1[data-preset="darkred-blue"] {
  --newsletter-subscribe-v1-bg: var(--color-dark-red, #861135);
  --newsletter-subscribe-v1-illu: var(--color-blue, #477ec0);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 36px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__copy {
  position: relative;
  max-width: 800px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__headline {
  margin: 0;
  color: var(--newsletter-subscribe-v1-text);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.12;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description {
  max-width: 720px;
  margin-top: 22px;
  color: var(--newsletter-subscribe-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message p {
  margin: 0;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description p + p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent p + p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message p + p {
  margin-top: 12px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__panel {
  position: relative;
  padding-top: 30px;
  border-top: 1px solid var(--newsletter-subscribe-v1-line);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__hp,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__error-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__field {
  min-width: 0;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__label {
  display: block;
  margin-bottom: 8px;
  color: var(--newsletter-subscribe-v1-text);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  transition: border-color 0.15s, background 0.15s;
  box-sizing: border-box;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input:focus {
  outline: none;
  border-color: var(--color-mint-green, #47B27A);
  background: rgba(255, 255, 255, 0.12);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input[aria-invalid="true"],
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input.newsletter-subscribe-v1__input--invalid {
  border-color: var(--newsletter-subscribe-v1-error);
  box-shadow: 0 0 0 4px rgba(255, 180, 180, 0.18);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent {
  color: var(--newsletter-subscribe-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent a,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message a {
  color: var(--newsletter-subscribe-v1-link);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent a:focus-visible,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message a:focus-visible {
  outline: 2px solid var(--newsletter-subscribe-v1-accent);
  outline-offset: 4px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__error {
  min-height: 20px;
  margin: -8px 0 -4px;
  color: var(--newsletter-subscribe-v1-error);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit {
  width: 100%;
  height: 40px;
  padding: 0 clamp(12px, 1.5vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  background: transparent;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(13px, 0.9vw, 14px);
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  letter-spacing: 0.01em;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit p {
  margin: 0;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit:hover {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.08);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit:focus-visible {
  outline: 2px solid var(--color-white, #ffffff);
  outline-offset: 2px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit.is-loading .newsletter-subscribe-v1__submit-label {
  opacity: 0.72;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding-top: 4px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success[hidden] {
  display: none;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--newsletter-subscribe-v1-line);
  border-radius: 8px;
  background: var(--newsletter-subscribe-v1-surface);
  color: var(--newsletter-subscribe-v1-text);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-title {
  margin: 0;
  color: var(--newsletter-subscribe-v1-text);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message {
  margin-top: 8px;
  color: var(--newsletter-subscribe-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
    padding: 72px 48px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__headline {
    font-size: 42px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description {
    font-size: 18px;
  }
}

@media (min-width: 1024px) {
  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
    grid-template-columns: minmax(0, 1fr) 1px minmax(300px, 420px);
    column-gap: 28px;
    row-gap: 56px;
    align-items: center;
    padding: 88px 80px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner::before {
    content: "";
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    width: 1px;
    background: var(--newsletter-subscribe-v1-line);
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__copy {
    grid-column: 1;
    grid-row: 1;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__headline {
    font-size: 50px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__panel {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 100%;
    max-width: 420px;
    padding-top: 0;
    padding-left: 0;
    border-top: 0;
    border-left: 0;
  }
}

@media (min-width: 1280px) {
  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
    column-gap: 36px;
    row-gap: 72px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__panel {
    max-width: 400px;
  }
}
/* ── not-found-v1 ──────────────────────────────────────────────── */
.block-not-found-v1 {
  position: relative;
  width: 100%;
  height: calc(100svh - var(--nav-height, 0px));
  min-height: 600px;
  overflow: hidden;
  background: #040e08;
}

/* ── Background image + dim ────────────────────────────────────── */
.nf-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  pointer-events: none;
}

.nf-dim {
  position: absolute;
  inset: 0;
  background: rgba(4, 14, 8, 0.45);
  z-index: 1;
  pointer-events: none;
}

/* ── Fog canvas ────────────────────────────────────────────────── */
.nf-fog-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  pointer-events: none;
}

/* ── Trail SVG overlay ─────────────────────────────────────────── */
.nf-trail-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 6;
  pointer-events: none;
}

.nf-trail-seg {
  fill: none;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
}

/* ── Waypoints ─────────────────────────────────────────────────── */
.nf-point {
  position: absolute;
  z-index: 7;
  transform: translate(-50%, -100%);
}

.nf-point--start,
.nf-point--dest {
  transform: translate(-50%, -50%);
}

.nf-point--q,
.nf-point--dest {
  opacity: 0;
  transition: opacity 0.7s ease;
}

.nf-point--q.nf-point--revealed,
.nf-point--dest.nf-point--revealed {
  opacity: 1;
}

/* Start / destination icons */
.nf-point-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 2px solid rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color 0.3s, box-shadow 0.3s;
}

/* Animal pin */
.nf-pin-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2.5px solid rgba(255, 255, 255, 0.6);
  overflow: hidden;
  background: rgba(0, 18, 8, 0.7);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
  transition: width 0.25s cubic-bezier(.34,1.56,.64,1),
              height 0.25s cubic-bezier(.34,1.56,.64,1),
              border-color 0.3s,
              box-shadow 0.3s;
  cursor: pointer;
}

.nf-pin-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nf-pin-circle:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 3px;
}

/* Revealed — grey until ring draws */
.nf-point--q.nf-point--revealed .nf-pin-circle {
  filter: grayscale(1);
  border-color: transparent;
  box-shadow: none;
  transition: width 0.25s cubic-bezier(.34,1.56,.64,1),
              height 0.25s cubic-bezier(.34,1.56,.64,1),
              filter 0.5s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

/* Colored — after ring finishes */
.nf-point--q.nf-point--colored .nf-pin-circle {
  filter: grayscale(0);
  border-color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.nf-point--q.nf-point--colored:hover .nf-pin-circle {
  width: 80px;
  height: 80px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5);
}

/* Dest point — grey until ring draws */
.nf-point--dest.nf-point--revealed .nf-point-icon {
  filter: grayscale(1);
  border-color: transparent;
  box-shadow: none;
  transition: filter 0.5s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.nf-point--dest.nf-point--colored .nf-point-icon {
  filter: grayscale(0);
  border-color: #fff;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.35);
}

/* SVG ring */
.nf-pin-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  pointer-events: none;
  overflow: visible;
}

.nf-point--dest .nf-pin-ring {
  width: 40px;
  height: 40px;
}

.nf-pin-ring-path {
  fill: none;
  stroke: #fff;
  stroke-width: 2.5;
  stroke-linecap: round;
  opacity: 0;
}

.nf-point--colored .nf-pin-ring-path {
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* Active pin pulse */
.nf-point--active .nf-pin-circle,
.nf-point--active .nf-point-icon {
  animation: nf-pin-pulse 1.6s ease-out infinite;
}

@keyframes nf-pin-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(255, 255, 255, 0.7); }
  70%  { box-shadow: 0 0 0 14px rgba(255, 255, 255, 0);   }
  100% { box-shadow: 0 0 0 0   rgba(255, 255, 255, 0);   }
}

.nf-point--revealed:hover .nf-pin-tail {
  border-top-color: #94C24A;
}


/* ── UI overlay ────────────────────────────────────────────────── */
.nf-panel--intro {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: calc(100% - 56px);
  max-width: 440px;
  box-sizing: border-box;
  text-align: center;
  opacity: 1;
  transition: opacity 0.35s ease;
}

.nf-panel--intro.nf-fade-out {
  opacity: 0;
  pointer-events: none;
}

.nf-ui {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: calc(100% - 56px);
  max-width: 400px;
  box-sizing: border-box;
}

.nf-panel {
  background: rgba(2, 14, 6, 0.82);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: clamp(18px, 3.5vw, 26px);
}

/* ── Intro panel ───────────────────────────────────────────────── */
.nf-code {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(56px, 9vw, 96px);
  font-weight: 700;
  line-height: 1;
  margin: 0 0 0.4rem;
  background: linear-gradient(135deg, #47B27A 0%, #94C24A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -3px;
}

.nf-intro-title {
  color: #fff;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.45rem;
}

.nf-intro-title p { margin: 0; }

.nf-intro-sub {
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(13px, 1.3vw, 15px);
  line-height: 1.65;
  margin-bottom: 1.2rem;
}

.nf-intro-sub p { margin: 0 0 0.35em; }
.nf-intro-sub p:last-child { margin-bottom: 0; }

/* ── CTA row ───────────────────────────────────────────────────── */
.nf-cta-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .nf-cta-row {
    flex-wrap: nowrap;
    width: 100vw;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    justify-content: flex-start;
    padding-left: 16px;
    padding-bottom: 2px;
  }

  .nf-cta-row::after {
    content: '';
    display: block;
    min-width: 16px;
    flex-shrink: 0;
  }

  .nf-cta-row::-webkit-scrollbar { display: none; }
  .nf-cta-row .nf-btn { flex-shrink: 0; scroll-snap-align: start; }
}

/* ── Buttons ───────────────────────────────────────────────────── */
.nf-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0.85rem 1.5rem;
  border: 1px solid var(--color-white, #fff);
  border-radius: 4rem;
  background: transparent;
  color: var(--color-white, #fff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(0.9rem, 2.5vw, 1.125rem);
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.16s ease-in-out, color 0.16s ease-in-out;
}

.nf-btn:hover,
.nf-btn:focus-visible {
  background: var(--color-white, #fff);
  color: var(--color-forest-green, #004432);
}

/* ── Quiz panel ────────────────────────────────────────────────── */
.nf-panel--quiz {
  animation: nf-panel-in 0.35s ease;
}

@keyframes nf-panel-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nf-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1rem;
}

.nf-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(71, 178, 122, 0.2);
  transition: background 0.3s, transform 0.3s;
  flex-shrink: 0;
}

.nf-dot--done   { background: #47B27A; }
.nf-dot--active { background: #94C24A; animation: nf-dot-pulse 1.6s ease-in-out infinite; }

@keyframes nf-dot-pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.4); }
}

.nf-question-text {
  color: #fff;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 600;
  line-height: 1.45;
  margin: 0 0 0.9rem;
}

.nf-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nf-opt {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  background: rgba(71, 178, 122, 0.05);
  border: 1px solid rgba(71, 178, 122, 0.12);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  text-align: left;
  width: 100%;
}

@media (hover: hover) {
  .nf-opt:not(:disabled):hover {
    background: rgba(71, 178, 122, 0.12);
    border-color: rgba(71, 178, 122, 0.3);
  }
}

.nf-opt:disabled { cursor: default; }

.nf-opt-key {
  color: #47B27A;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 11px;
  font-weight: 700;
  width: 14px;
  flex-shrink: 0;
}

.nf-opt-label {
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 13px;
  line-height: 1.4;
}

.nf-opt--correct {
  background: rgba(71, 178, 122, 0.18) !important;
  border-color: #47B27A !important;
}

.nf-opt--wrong {
  background: rgba(220, 38, 38, 0.1) !important;
  border-color: rgba(220, 38, 38, 0.35) !important;
  animation: nf-shake 0.45s ease-in-out;
}

@keyframes nf-shake {
  0%, 100% { transform: translateX(0);   }
  20%       { transform: translateX(-5px); }
  40%       { transform: translateX(5px);  }
  60%       { transform: translateX(-3px); }
  80%       { transform: translateX(3px);  }
}

/* ── Success backdrop + panel ───────────────────────────────────── */
.block-not-found-v1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to bottom, transparent, rgba(4, 14, 8, 0.92));
  z-index: 9;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s ease;
}

.block-not-found-v1.nf--success::after {
  opacity: 1;
}

.nf-panel--success {
  position: absolute;
  bottom: 52px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 11;
  width: calc(100% - 56px);
  text-align: center;
  opacity: 0;
  transition: opacity 0.7s ease;
}

.nf-panel--success.nf--visible { opacity: 1; }

.nf-success-title {
  color: #fff;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.2rem;
}

.nf-success-title p { margin: 0; }


/* ── Pin tooltip (desktop) ─────────────────────────────────────── */
.nf-tooltip {
  position: absolute;
  z-index: 20;
  background: rgba(2, 14, 6, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(71, 178, 122, 0.2);
  border-radius: 10px;
  padding: 10px 13px;
  width: 240px;
  pointer-events: none;
  animation: nf-tooltip-in 0.18s ease;
}

@keyframes nf-tooltip-in {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nf-tooltip-desc {
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
}

/* ── Animal modal (mobile) ──────────────────────────────────────── */
.nf-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.nf-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

.nf-modal {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 101;
  background: rgba(2, 14, 6, 0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(71, 178, 122, 0.18);
  border-radius: 20px 20px 0 0;
  padding: 8px 20px 40px;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
}

.nf-modal.is-active { transform: translateY(0); }

.nf-modal-handle {
  width: 36px;
  height: 4px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 2px;
  margin: 0 auto 20px;
}

.nf-modal-img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 2.5px solid rgba(255, 255, 255, 0.6);
  object-fit: cover;
  display: block;
  margin: 0 auto 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.nf-modal-desc {
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.65;
  margin: 0;
  text-align: left;
}

/* ── Mobile ────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .block-not-found-v1.nf--success::after {
    background: linear-gradient(to bottom, transparent, rgba(4, 14, 8, 0.98));
    height: 60%;
  }

  .nf-ui {
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width: none;
    width: auto;
    transform: none;
  }

  .nf-panel--intro {
    top: 50%;
  }
}
/* Page Card List (block-page-card-list-v1) */

.block-page-card-list-v1 {
  --page-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
  --page-card-list-v1-card-bg: var(--color-white, #ffffff);
  background: var(--page-card-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-page-card-list-v1[data-background-color="#FFFFFF"] {
  --page-card-list-v1-bg: var(--color-white, #ffffff);
}

.block-page-card-list-v1[data-background-color="#F7F7F7"] {
  --page-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-page-card-list-v1 {
  --page-card-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --page-card-list-v1-card-bg: var(--color-surface-dark, #1a2920);
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-card-list-v1 .page-card-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-page-card-list-v1 .page-card-list-v1__header {
  margin-bottom: 24px;
}

.block-page-card-list-v1 .page-card-list-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-page-card-list-v1 .page-card-list-v1__headline p {
  margin: 0;
}

.dark .block-page-card-list-v1 .page-card-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-card-list-v1 .page-card-list-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-page-card-list-v1 .page-card-list-v1__item {
  min-width: 0;
}

.block-page-card-list-v1 .page-card-list-v1__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--page-card-list-v1-card-bg);
  box-shadow: 0 1px 2px rgba(0, 68, 50, 0.08);
}

.dark .block-page-card-list-v1 .page-card-list-v1__card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
}

.block-page-card-list-v1 .page-card-list-v1__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.block-page-card-list-v1 .page-card-list-v1__title-link:focus-visible,
.block-page-card-list-v1 .page-card-list-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-card-list-v1 .page-card-list-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-page-card-list-v1 .page-card-list-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-page-card-list-v1 .page-card-list-v1__image,
.block-page-card-list-v1 .page-card-list-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-card-list-v1 .page-card-list-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-page-card-list-v1 .page-card-list-v1__media-link:hover .page-card-list-v1__image,
.block-page-card-list-v1 .page-card-list-v1__media-link:focus-visible .page-card-list-v1__image {
  transform: scale(1.04);
}

.block-page-card-list-v1 .page-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-page-card-list-v1 .page-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-page-card-list-v1 .page-card-list-v1__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
}

.block-page-card-list-v1 .page-card-list-v1__title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.block-page-card-list-v1 .page-card-list-v1__title p,
.block-page-card-list-v1 .page-card-list-v1__description p,
.block-page-card-list-v1 .page-card-list-v1__cta p {
  margin: 0;
}

.block-page-card-list-v1 .page-card-list-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-card-list-v1 .page-card-list-v1__title-link:hover,
.block-page-card-list-v1 .page-card-list-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-page-card-list-v1 .page-card-list-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-card-list-v1 .page-card-list-v1__title-link:hover,
.dark .block-page-card-list-v1 .page-card-list-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-card-list-v1 .page-card-list-v1__description {
  display: -webkit-box;
  margin-top: 12px;
  overflow: hidden;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
}

.dark .block-page-card-list-v1 .page-card-list-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.block-page-card-list-v1 .page-card-list-v1__footer {
  padding: 0 24px 24px;
}

.block-page-card-list-v1 .page-card-list-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-card-list-v1 .page-card-list-v1__cta:hover,
.block-page-card-list-v1 .page-card-list-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-page-card-list-v1 .page-card-list-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-page-card-list-v1 .page-card-list-v1__cta:hover .page-card-list-v1__cta-icon,
.block-page-card-list-v1 .page-card-list-v1__cta:focus-visible .page-card-list-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-page-card-list-v1 .page-card-list-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-card-list-v1 .page-card-list-v1__cta:hover,
.dark .block-page-card-list-v1 .page-card-list-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

@media (min-width: 768px) {
  .block-page-card-list-v1 .page-card-list-v1__inner {
    padding: 64px 48px;
  }

  .block-page-card-list-v1 .page-card-list-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-page-card-list-v1 .page-card-list-v1__headline {
    font-size: 40px;
  }
}

@media (min-width: 1024px) {
  .block-page-card-list-v1 .page-card-list-v1__inner {
    padding: 64px 80px;
  }

  .block-page-card-list-v1 .page-card-list-v1__header {
    margin-bottom: 40px;
  }

  .block-page-card-list-v1 .page-card-list-v1__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
  }

  .block-page-card-list-v1 .page-card-list-v1__item {
    grid-column: span 2;
  }

  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(2),
  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(2) ~ .page-card-list-v1__item {
    grid-column: span 3;
  }

  .block-page-card-list-v1 .page-card-list-v1__headline {
    font-size: 46px;
  }

  .block-page-card-list-v1 .page-card-list-v1__title {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-page-card-list-v1 .page-card-list-v1__image,
  .block-page-card-list-v1 .page-card-list-v1__title-link,
  .block-page-card-list-v1 .page-card-list-v1__cta,
  .block-page-card-list-v1 .page-card-list-v1__cta-icon {
    transition: none !important;
  }

  .block-page-card-list-v1 .page-card-list-v1__media-link:hover .page-card-list-v1__image,
  .block-page-card-list-v1 .page-card-list-v1__media-link:focus-visible .page-card-list-v1__image,
  .block-page-card-list-v1 .page-card-list-v1__cta:hover .page-card-list-v1__cta-icon,
  .block-page-card-list-v1 .page-card-list-v1__cta:focus-visible .page-card-list-v1__cta-icon {
    transform: none !important;
  }
}
/* Page Carousel (block-page-carousel-v1) */

.block-page-carousel-v1 {
  --page-carousel-v1-bg: var(--color-white, #ffffff);
  --page-carousel-v1-slide-width: calc(100vw - 48px);
  --page-carousel-v1-track-gap: 24px;
  --page-carousel-v1-track-gutter: 24px;
  background: var(--page-carousel-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
  padding: 64px 0;
}

.block-page-carousel-v1[data-background-color="#FFFFFF"] {
  --page-carousel-v1-bg: var(--color-white, #ffffff);
}

.block-page-carousel-v1[data-background-color="#F7F7F7"] {
  --page-carousel-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-page-carousel-v1 {
  --page-carousel-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-carousel-v1 .page-carousel-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.block-page-carousel-v1 .page-carousel-v1__header {
  display: grid;
  gap: 24px;
}

.block-page-carousel-v1 .page-carousel-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-page-carousel-v1 .page-carousel-v1__headline p,
.block-page-carousel-v1 .page-carousel-v1__intro p,
.block-page-carousel-v1 .page-carousel-v1__title p,
.block-page-carousel-v1 .page-carousel-v1__description p,
.block-page-carousel-v1 .page-carousel-v1__cta p {
  margin: 0;
}

.dark .block-page-carousel-v1 .page-carousel-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-carousel-v1 .page-carousel-v1__intro {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.block-page-carousel-v1 .page-carousel-v1__intro p + p {
  margin-top: 12px;
}

.dark .block-page-carousel-v1 .page-carousel-v1__intro {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-page-carousel-v1 .page-carousel-v1__carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-page-carousel-v1 .page-carousel-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--page-carousel-v1-track-gap);
  margin: 0;
  padding: 16px 0 0 var(--page-carousel-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-page-carousel-v1 .page-carousel-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--page-carousel-v1-track-gutter) - var(--page-carousel-v1-track-gap)));
}

.block-page-carousel-v1 .page-carousel-v1__track::-webkit-scrollbar {
  display: none;
}

.block-page-carousel-v1 .page-carousel-v1__slide {
  flex: 0 0 var(--page-carousel-v1-slide-width);
  min-width: 0;
  scroll-snap-align: center;
  transform-origin: center center;
}

.block-page-carousel-v1.pc-js-ready .page-carousel-v1__slide {
  will-change: transform;
}

.block-page-carousel-v1 .page-carousel-v1__media-link,
.block-page-carousel-v1 .page-carousel-v1__media {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 8px;
}

.block-page-carousel-v1 .page-carousel-v1__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-page-carousel-v1 .page-carousel-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-page-carousel-v1 .page-carousel-v1__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  -webkit-backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.block-page-carousel-v1.pc-js-ready .page-carousel-v1__slide:not(.pc-active) .page-carousel-v1__media::after {
  opacity: 1;
}

.block-page-carousel-v1 .page-carousel-v1__image,
.block-page-carousel-v1 .page-carousel-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-carousel-v1 .page-carousel-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-page-carousel-v1 .page-carousel-v1__media-link:hover .page-carousel-v1__image,
.block-page-carousel-v1 .page-carousel-v1__media-link:focus-visible .page-carousel-v1__image {
  transform: scale(1.025);
}

.block-page-carousel-v1 .page-carousel-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-page-carousel-v1 .page-carousel-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-page-carousel-v1 .page-carousel-v1__content {
  max-width: 760px;
  margin-top: 24px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.block-page-carousel-v1.pc-js-ready .page-carousel-v1__slide:not(.pc-active) .page-carousel-v1__content {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
}

.block-page-carousel-v1 .page-carousel-v1__title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.22;
  color: var(--color-forest-green, #004432);
}

.dark .block-page-carousel-v1 .page-carousel-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-carousel-v1 .page-carousel-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-carousel-v1 .page-carousel-v1__title-link:hover,
.block-page-carousel-v1 .page-carousel-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-page-carousel-v1 .page-carousel-v1__title-link:hover,
.dark .block-page-carousel-v1 .page-carousel-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-carousel-v1 .page-carousel-v1__description {
  display: -webkit-box;
  max-width: 72ch;
  margin-top: 14px;
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
}

.dark .block-page-carousel-v1 .page-carousel-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-page-carousel-v1 .page-carousel-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-carousel-v1 .page-carousel-v1__cta:hover,
.block-page-carousel-v1 .page-carousel-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.dark .block-page-carousel-v1 .page-carousel-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-carousel-v1 .page-carousel-v1__cta:hover,
.dark .block-page-carousel-v1 .page-carousel-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-carousel-v1 .page-carousel-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-page-carousel-v1 .page-carousel-v1__cta:hover .page-carousel-v1__cta-icon,
.block-page-carousel-v1 .page-carousel-v1__cta:focus-visible .page-carousel-v1__cta-icon {
  transform: translateX(3px);
}

.block-page-carousel-v1 .page-carousel-v1__title-link:focus-visible,
.block-page-carousel-v1 .page-carousel-v1__cta:focus-visible,
.block-page-carousel-v1 .page-carousel-v1__media-link:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-carousel-v1 .page-carousel-v1__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: var(--page-carousel-v1-slide-width);
  margin: 20px auto 0;
}

.block-page-carousel-v1 .page-carousel-v1__progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-page-carousel-v1 .page-carousel-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-page-carousel-v1 .page-carousel-v1__progress-fill {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-page-carousel-v1 .page-carousel-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-page-carousel-v1 .page-carousel-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--pc-p, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-page-carousel-v1 .page-carousel-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-page-carousel-v1 .page-carousel-v1__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-page-carousel-v1 .page-carousel-v1__btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-page-carousel-v1 .page-carousel-v1__btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-page-carousel-v1 .page-carousel-v1__btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-page-carousel-v1 .page-carousel-v1__btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-page-carousel-v1 .page-carousel-v1__btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-page-carousel-v1 .page-carousel-v1__btn:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-page-carousel-v1 {
    --page-carousel-v1-slide-width: calc(100vw - 96px);
    --page-carousel-v1-track-gap: 32px;
    --page-carousel-v1-track-gutter: 48px;
  }

  .block-page-carousel-v1 .page-carousel-v1__inner {
    padding: 0 48px 32px;
  }

  .block-page-carousel-v1 .page-carousel-v1__content {
    margin-top: 28px;
  }

  .block-page-carousel-v1 .page-carousel-v1__progress {
    flex: none;
    width: 220px;
  }
}

@media (min-width: 1024px) {
  .block-page-carousel-v1 {
    --page-carousel-v1-slide-width: min(960px, calc(100vw - 160px));
    --page-carousel-v1-track-gutter: max(80px, calc(50vw - 480px));
  }

  .block-page-carousel-v1 .page-carousel-v1__inner {
    padding: 0 80px 32px;
  }

  .block-page-carousel-v1 .page-carousel-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-page-carousel-v1 .page-carousel-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-page-carousel-v1 .page-carousel-v1__intro {
    grid-column: 7 / span 6;
  }

}

@media (prefers-reduced-motion: reduce) {
  .block-page-carousel-v1 .page-carousel-v1__media::after,
  .block-page-carousel-v1 .page-carousel-v1__image,
  .block-page-carousel-v1 .page-carousel-v1__content,
  .block-page-carousel-v1 .page-carousel-v1__cta,
  .block-page-carousel-v1 .page-carousel-v1__cta-icon,
  .block-page-carousel-v1 .page-carousel-v1__title-link,
  .block-page-carousel-v1 .page-carousel-v1__progress-fill::after,
  .block-page-carousel-v1 .page-carousel-v1__btn {
    transition: none !important;
  }

  .block-page-carousel-v1 .page-carousel-v1__media-link:hover .page-carousel-v1__image,
  .block-page-carousel-v1 .page-carousel-v1__media-link:focus-visible .page-carousel-v1__image,
  .block-page-carousel-v1 .page-carousel-v1__cta:hover .page-carousel-v1__cta-icon,
  .block-page-carousel-v1 .page-carousel-v1__cta:focus-visible .page-carousel-v1__cta-icon {
    transform: none !important;
  }
}
/* ── Page Header (block-page-header-v1) ───────────────────────── */

.block-page-header-v1 {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  min-height: calc(
    100svh
    - var(--nav-height, 60px)
    - var(--wi-info-banner-offset, 0px)
  );
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}

.block-page-header-v1 .page-header-v1__media {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}

.block-page-header-v1 .page-header-v1__picture,
.block-page-header-v1 .page-header-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-header-v1 .page-header-v1__picture {
  overflow: hidden;
}

.block-page-header-v1 .page-header-v1__picture--mobile {
  display: none;
}

.block-page-header-v1 .page-header-v1__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.block-page-header-v1 .page-header-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), transparent 55%),
    var(--color-grey-20, #DCDCDC);
}

.block-page-header-v1 .page-header-v1__text-panel {
  width: 100%;
  background: var(--page-header-v1-panel-bg, var(--color-white, #FFFFFF));
  color: var(--color-forest-green, #004432);
}

.block-page-header-v1[data-background-color="#FFFFFF"] .page-header-v1__text-panel {
  --page-header-v1-panel-bg: var(--color-white, #FFFFFF);
}

.block-page-header-v1[data-background-color="#F7F7F7"] .page-header-v1__text-panel {
  --page-header-v1-panel-bg: var(--color-light-grey, #F7F7F7);
}

.block-page-header-v1 .page-header-v1__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 24px;
}

.block-page-header-v1 .page-header-v1__breadcrumb {
  width: 100%;
  margin: 0 0 32px;
  color: var(--color-forest-green, #004432);
}

.block-page-header-v1 .page-header-v1__breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.block-page-header-v1 .page-header-v1__breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex-shrink: 1;
}

.block-page-header-v1 .page-header-v1__breadcrumb-home {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--color-forest-green, #004432);
  text-decoration: none;
  transition: color 0.15s ease;
}

.block-page-header-v1 .page-header-v1__breadcrumb-home svg {
  display: block;
  width: auto;
  height: 14px;
}

.block-page-header-v1 .page-header-v1__breadcrumb-separator {
  display: block;
  flex-shrink: 0;
  color: var(--color-grey-60, #737373);
}

.block-page-header-v1 .page-header-v1__breadcrumb-link,
.block-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  max-width: min(320px, 60vw);
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.block-page-header-v1 .page-header-v1__breadcrumb-link {
  position: relative;
  color: var(--color-forest-green, #004432);
  text-decoration: none;
  transition: color 0.15s ease;
}

.block-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  color: var(--color-grey-80, #4D4D4D);
}

.block-page-header-v1 .page-header-v1__breadcrumb-home:hover,
.block-page-header-v1 .page-header-v1__breadcrumb-link:hover {
  color: var(--color-moss-green, #13735F);
}

.block-page-header-v1 .page-header-v1__breadcrumb-home:focus-visible,
.block-page-header-v1 .page-header-v1__breadcrumb-link:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  border-radius: 2px;
}

.block-page-header-v1 .page-header-v1__headline {
  width: 100%;
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(36px, calc(3vw + 20px), 60px);
  font-weight: 700;
  line-height: 1.05;
  color: var(--color-forest-green, #004432);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: wrap;
}

.block-page-header-v1 .page-header-v1__headline > *,
.block-page-header-v1 .page-header-v1__subheadline > * {
  margin: 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
}

.block-page-header-v1 .page-header-v1__headline > * + *,
.block-page-header-v1 .page-header-v1__subheadline > * + * {
  margin-top: 8px;
}

.block-page-header-v1 .page-header-v1__subheadline {
  width: 100%;
  margin-top: 16px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-forest-green, #004432);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: wrap;
}

.dark .block-page-header-v1 {
  background: var(--color-surface-dark, #1a2920);
}

.dark .block-page-header-v1 .page-header-v1__media,
.dark .block-page-header-v1 .page-header-v1__placeholder {
  background: var(--color-surface-dark, #1a2920);
}

.dark .block-page-header-v1[data-background-color="#FFFFFF"] .page-header-v1__text-panel {
  background: var(--color-bg-dark, #0f1a14);
}

.dark .block-page-header-v1[data-background-color="#F7F7F7"] .page-header-v1__text-panel {
  background: var(--color-surface-dark, #1a2920);
}

.dark .block-page-header-v1 .page-header-v1__headline,
.dark .block-page-header-v1 .page-header-v1__subheadline {
  color: var(--color-accent-dark, #47B27A);
}

.dark .block-page-header-v1 .page-header-v1__breadcrumb-home,
.dark .block-page-header-v1 .page-header-v1__breadcrumb-link {
  color: var(--color-accent-dark, #47B27A);
}

.dark .block-page-header-v1 .page-header-v1__breadcrumb-separator,
.dark .block-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

@media (max-width: 767px) {
  .block-page-header-v1 .page-header-v1__picture--desktop {
    display: none;
  }

  .block-page-header-v1 .page-header-v1__picture--mobile {
    display: block;
  }
}

@media (min-width: 768px) {
  .block-page-header-v1 .page-header-v1__inner {
    padding: 40px 48px;
  }

  .block-page-header-v1 .page-header-v1__breadcrumb {
    margin-bottom: 40px;
  }
}

@media (min-width: 1024px) {
  .block-page-header-v1 .page-header-v1__inner {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@supports (height: 100dvh) {
  .block-page-header-v1 {
    min-height: calc(
      100dvh
      - var(--nav-height, 60px)
      - var(--wi-info-banner-offset, 0px)
    );
  }
}
/* Page Overview (block-page-overview-v1) */

.block-page-overview-v1 {
  --page-overview-v1-bg: var(--color-white, #ffffff);
  background: var(--page-overview-v1-bg);
  color: var(--color-black, #333333);
}

.block-page-overview-v1[data-background-color="#FFFFFF"] {
  --page-overview-v1-bg: var(--color-white, #ffffff);
}

.block-page-overview-v1[data-background-color="#F7F7F7"] {
  --page-overview-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-page-overview-v1 {
  --page-overview-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-overview-v1 .page-overview-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-page-overview-v1 .page-overview-v1__header {
  margin-bottom: 32px;
}

.block-page-overview-v1 .page-overview-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.dark .block-page-overview-v1 .page-overview-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-overview-v1 .page-overview-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-page-overview-v1 .page-overview-v1__item {
  min-width: 0;
}

.block-page-overview-v1 .page-overview-v1__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 8px;
}

.block-page-overview-v1 .page-overview-v1__media-link:focus-visible,
.block-page-overview-v1 .page-overview-v1__title-link:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-overview-v1 .page-overview-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-page-overview-v1 .page-overview-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-page-overview-v1 .page-overview-v1__image,
.block-page-overview-v1 .page-overview-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-overview-v1 .page-overview-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-page-overview-v1 .page-overview-v1__media-link:hover .page-overview-v1__image,
.block-page-overview-v1 .page-overview-v1__media-link:focus-visible .page-overview-v1__image {
  transform: scale(1.03);
}

.block-page-overview-v1 .page-overview-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-page-overview-v1 .page-overview-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-page-overview-v1 .page-overview-v1__title {
  margin: 16px 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.block-page-overview-v1 .page-overview-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-overview-v1 .page-overview-v1__title-link:hover,
.block-page-overview-v1 .page-overview-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-page-overview-v1 .page-overview-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-overview-v1 .page-overview-v1__title-link:hover,
.dark .block-page-overview-v1 .page-overview-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-overview-v1 .page-overview-v1__title p,
.block-page-overview-v1 .page-overview-v1__description p {
  margin: 0;
}

.block-page-overview-v1 .page-overview-v1__description {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.dark .block-page-overview-v1 .page-overview-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.6));
}

.block-page-overview-v1 .page-overview-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-overview-v1 .page-overview-v1__cta:hover,
.block-page-overview-v1 .page-overview-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-page-overview-v1 .page-overview-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-overview-v1 .page-overview-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-page-overview-v1 .page-overview-v1__cta:hover .page-overview-v1__cta-icon,
.block-page-overview-v1 .page-overview-v1__cta:focus-visible .page-overview-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-page-overview-v1 .page-overview-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-overview-v1 .page-overview-v1__cta:hover,
.dark .block-page-overview-v1 .page-overview-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

@media (min-width: 768px) {
  .block-page-overview-v1 .page-overview-v1__inner {
    padding: 64px 48px;
  }

  .block-page-overview-v1 .page-overview-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 48px;
  }
}

@media (min-width: 1024px) {
  .block-page-overview-v1 .page-overview-v1__inner {
    padding: 64px 80px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-page-overview-v1 .page-overview-v1__image,
  .block-page-overview-v1 .page-overview-v1__cta,
  .block-page-overview-v1 .page-overview-v1__cta-icon,
  .block-page-overview-v1 .page-overview-v1__title-link {
    transition: none !important;
  }

  .block-page-overview-v1 .page-overview-v1__media-link:hover .page-overview-v1__image,
  .block-page-overview-v1 .page-overview-v1__media-link:focus-visible .page-overview-v1__image,
  .block-page-overview-v1 .page-overview-v1__cta:hover .page-overview-v1__cta-icon,
  .block-page-overview-v1 .page-overview-v1__cta:focus-visible .page-overview-v1__cta-icon {
    transform: none !important;
  }
}
/* ── Partner Logos (block-partner-logos-v1) ─────────────────────── */

.block-partner-logos-v1 {
  background-color: var(--color-light-grey);
  overflow-x: clip;
}

.dark .block-partner-logos-v1 {
  background-color: var(--color-bg-dark);
}

.block-partner-logos-v1 .cl-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-partner-logos-v1 .cl-cat-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(28px, calc(1.6vw + 23px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green);
  margin: 0 0 32px;
}

.block-partner-logos-v1 .cl-cat-name p,
.block-partner-logos-v1 .cl-cat-name > * {
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}

.dark .block-partner-logos-v1 .cl-cat-name {
  color: var(--color-accent-dark);
}

.block-partner-logos-v1 .cl-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-text-secondary);
  margin: -16px 0 32px;
}

.dark .block-partner-logos-v1 .cl-desc {
  color: var(--color-text-secondary-dark);
}

.block-partner-logos-v1 .cl-desc p { margin: 0 0 12px; }
.block-partner-logos-v1 .cl-desc p:last-child { margin-bottom: 0; }

/* Logo grid */
.block-partner-logos-v1 .cl-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Logo item — small mobile: 2 cols */
.block-partner-logos-v1 .cl-item {
  flex: 0 0 calc(50% - 6px);
}

/* Mobile 480px+: 3 cols */
@media (min-width: 480px) {
  .block-partner-logos-v1 .cl-item { flex: 0 0 calc(33.333% - 8px); }
}

/* Logo figure */
.block-partner-logos-v1 .cl-figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 12px;
  background-color: var(--color-white);
  transition: transform 0.15s ease;
  margin: 0;
  height: 80px;
  cursor: pointer;
  touch-action: manipulation;
}

.dark .block-partner-logos-v1 .cl-figure {
  background-color: var(--color-surface-dark);
}

.block-partner-logos-v1 .cl-figure:hover {
  transform: scale(1.05);
}

.block-partner-logos-v1 .cl-figure:active {
  transform: scale(0.97);
  transition-duration: 0.08s;
}


/* Logo image */
.block-partner-logos-v1 .cl-logo {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Tooltip — visible on hover, hidden from screen readers */
.block-partner-logos-v1 .cl-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.82);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: clamp(11px, 1vw, 13px);
  line-height: 1.4;
  padding: 5px 10px;
  border-radius: 6px;
  white-space: nowrap;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 10;
}

.block-partner-logos-v1 .cl-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.82);
}

.block-partner-logos-v1 .cl-figure:hover .cl-tooltip,
.block-partner-logos-v1 .cl-figure:focus-within .cl-tooltip,
.block-partner-logos-v1 .cl-figure.is-open .cl-tooltip {
  opacity: 1;
}

/* Tablet — 4 cols */
@media (min-width: 768px) {
  .block-partner-logos-v1 .cl-inner { padding: 64px 48px; }
  .block-partner-logos-v1 .cl-item { flex: 0 0 calc(25% - 9px); }
}

/* Desktop — 6 cols */
@media (min-width: 1024px) {
  .block-partner-logos-v1 .cl-inner { padding: 64px 80px; }
  .block-partner-logos-v1 .cl-item { flex: 0 0 calc(16.666% - 10px); }
}

/* ── Detail panel ── */
.block-partner-logos-v1 .cl-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.block-partner-logos-v1 .cl-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

.block-partner-logos-v1 .cl-panel {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  max-height: 86vh;
  background: var(--color-light-grey);
  border-radius: 28px 28px 0 0;
  overflow: hidden;
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.12);
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1);
}

.dark .block-partner-logos-v1 .cl-panel {
  background: var(--color-bg-dark);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.5);
}

.block-partner-logos-v1 .cl-panel.is-active {
  transform: translateY(0);
}

.block-partner-logos-v1 .cl-panel-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
}

.block-partner-logos-v1 .cl-panel-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px 32px;
}

@media (min-width: 768px) {
  .block-partner-logos-v1 .cl-panel-inner { padding: 48px 48px 36px; }
}

@media (min-width: 1024px) {
  .block-partner-logos-v1 .cl-panel-inner { padding: 56px 80px 40px; }
}

.block-partner-logos-v1 .cl-panel-cat {
  display: block;
  font-family: var(--font-body);
  font-size: clamp(11px, 1vw, 12px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-moss-green);
  margin-bottom: 8px;
}

.dark .block-partner-logos-v1 .cl-panel-cat {
  color: var(--color-accent-dark);
}

.block-partner-logos-v1 .cl-panel-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  background: var(--color-white);
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 16px;
}

/* Mobile: logo-wrap flush to panel edges (no gap) */
@media (max-width: 639px) {
  .block-partner-logos-v1 .cl-panel-logo-wrap {
    margin-top: -8px;
    margin-left: -24px;
    margin-right: -24px;
    width: calc(100% + 48px);
    border-radius: 0;
  }
}

.dark .block-partner-logos-v1 .cl-panel-logo-wrap {
  background: var(--color-surface-dark);
}

.block-partner-logos-v1 .cl-panel-logo {
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.block-partner-logos-v1 .cl-panel-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(28px, calc(1.6vw + 22px), 46px);
  line-height: 1.2;
  color: var(--color-forest-green);
  margin: 0 0 8px;
}

.dark .block-partner-logos-v1 .cl-panel-name {
  color: var(--color-text-dark);
}

.block-partner-logos-v1 .cl-panel-facts {
  font-family: var(--font-body);
  font-size: clamp(14px, calc(0.3vw + 13px), 16px);
  line-height: 1.65;
  color: var(--color-text-body);
  margin-bottom: 24px;
}

.dark .block-partner-logos-v1 .cl-panel-facts {
  color: var(--color-text-dark);
}

.block-partner-logos-v1 .cl-panel-facts p { margin: 0 0 10px; }
.block-partner-logos-v1 .cl-panel-facts p:last-child { margin-bottom: 0; }

.block-partner-logos-v1 .cl-panel-divider {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0 0 28px;
}

.dark .block-partner-logos-v1 .cl-panel-divider {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.block-partner-logos-v1 .cl-panel-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.dark .block-partner-logos-v1 .cl-panel-desc {
  color: var(--color-text-secondary-dark);
}

.block-partner-logos-v1 .cl-panel-desc p { margin: 0 0 12px; }
.block-partner-logos-v1 .cl-panel-desc p:last-child { margin-bottom: 0; }

/* Desktop — name full-width on top, logo-col+facts side by side below; mobile: logoCol → cat (eyebrow) → name → facts */
@media (min-width: 640px) {
  .block-partner-logos-v1 .cl-panel-inner {
    display: grid;
    grid-template-columns: 160px 1fr;
    grid-template-areas:
      "cat   cat"
      "name  name"
      "logo  facts"
      "div   div"
      "desc  desc";
    column-gap: 40px;
  }
  .block-partner-logos-v1 .cl-panel-cat      { grid-area: cat; }
  .block-partner-logos-v1 .cl-panel-logo-wrap { grid-area: logo; margin-bottom: 0; align-self: center; }
  .block-partner-logos-v1 .cl-panel-logo     { max-height: 120px; }
  .block-partner-logos-v1 .cl-panel-name     { grid-area: name; align-self: start; margin-bottom: 20px; }
  .block-partner-logos-v1 .cl-panel-facts    { grid-area: facts; align-self: center; margin-bottom: 0; }
  .block-partner-logos-v1 .cl-panel-divider  { grid-area: div; margin-top: 24px; }
  .block-partner-logos-v1 .cl-panel-desc     { grid-area: desc; }
}

.block-partner-logos-v1 .cl-panel-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1rem;
  color: var(--color-moss-green);
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color 0.15s ease;
}

.block-partner-logos-v1 .cl-panel-link:hover { color: var(--color-forest-green); }

.dark .block-partner-logos-v1 .cl-panel-link { color: var(--color-accent-dark); }

.block-partner-logos-v1 .cl-link-chevron {
  display: inline-flex;
  transition: transform 0.15s ease;
}

.block-partner-logos-v1 .cl-panel-link:hover .cl-link-chevron { transform: translateX(3px); }

.block-partner-logos-v1 .cl-panel-footer {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 14px 24px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.dark .block-partner-logos-v1 .cl-panel-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.block-partner-logos-v1 .cl-panel-close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  border: none;
  color: var(--color-forest-green);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.dark .block-partner-logos-v1 .cl-panel-close {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-dark);
}

.block-partner-logos-v1 .cl-panel-close:hover {
  background: rgba(0, 0, 0, 0.15);
  transform: scale(1.08);
}
/* ── Partner Stats (block-partner-stats-v1) ──────────── */

.block-partner-stats-v1 {
  background-color: var(--color-white, #fff);
}

.block-partner-stats-v1 .cs-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

/* ── Intro ── */

.block-partner-stats-v1 .cs-intro {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-bottom: 48px;
}


.block-partner-stats-v1 .cs-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(28px, calc(2.5vw + 20px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-forest-green);
  margin: 0;
}

.block-partner-stats-v1 .cs-title p,
.block-partner-stats-v1 .cs-title > * { margin: 0; }

.block-partner-stats-v1 .cs-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: var(--text-body--line-height);
  color: var(--color-black);
  margin: 0;
}

.block-partner-stats-v1 .cs-desc p { margin: 0 0 12px; }
.block-partner-stats-v1 .cs-desc p:last-child { margin-bottom: 0; }

/* ── Stats grid ── */

.block-partner-stats-v1 .cs-grid {
  display: grid;
  grid-template-columns: 1fr;
  background-color: var(--color-grey-20);
  border-top: 1px solid var(--color-grey-20);
  border-bottom: 1px solid var(--color-grey-20);
  gap: 1px;
}

.block-partner-stats-v1 .cs-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 0;
  background-color: var(--color-white, #fff);
}


/* ── Number column ── */

.block-partner-stats-v1 .cs-card-stat {
  display: block;
}

.block-partner-stats-v1 .cs-number {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: 1.1;
  letter-spacing: -2px;
  color: var(--color-moss-green);
}

/* ── Info column ── */

.block-partner-stats-v1 .cs-card-info {
  display: contents;
}

.block-partner-stats-v1 .cs-cat-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(20px, calc(1.2vw + 16px), var(--text-h4));
  line-height: 1.25;
  color: var(--color-forest-green);
  margin: 0 0 12px;
}

.block-partner-stats-v1 .cs-cat-name p,
.block-partner-stats-v1 .cs-cat-name > * { margin: 0; }

.block-partner-stats-v1 .cs-cat-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: var(--text-body--line-height);
  color: var(--color-black);
  margin: 0 0 20px;
}

/* ── Dark mode ── */

.dark .block-partner-stats-v1 {
  background-color: var(--color-bg-dark, #0f1a14);
}

.dark .block-partner-stats-v1 .cs-card {
  background-color: var(--color-bg-dark, #0f1a14);
}

.dark .block-partner-stats-v1 .cs-grid {
  background-color: rgba(255, 255, 255, 0.08);
}

.dark .block-partner-stats-v1 .cs-title { color: var(--color-text-dark, #f0f4f2); }
.dark .block-partner-stats-v1 .cs-desc { color: var(--color-text-dark, #f0f4f2); }
.dark .block-partner-stats-v1 .cs-number { color: var(--color-accent-dark, #47B27A); }
.dark .block-partner-stats-v1 .cs-cat-name { color: var(--color-text-dark, #f0f4f2); }
.dark .block-partner-stats-v1 .cs-cat-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

/* ── Tablet (768px) ── */

@media (min-width: 768px) {
  .block-partner-stats-v1 .cs-inner { padding: 64px 48px; }

  .block-partner-stats-v1 .cs-intro {
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
  }

  .block-partner-stats-v1 .cs-intro-left { flex: 0 0 45%; }
  .block-partner-stats-v1 .cs-intro-right { flex: 1; padding-top: 12px; }

  .block-partner-stats-v1 .cs-card {
    padding: 32px 0;
  }
}

/* ── Desktop (1024px) ── */

@media (min-width: 1024px) {
  .block-partner-stats-v1 .cs-inner { padding: 64px 80px; }

  .block-partner-stats-v1 .cs-intro {
    gap: 80px;
    padding-bottom: 64px;
  }

  .block-partner-stats-v1 .cs-intro-left { flex: 0 0 45%; }

  .block-partner-stats-v1 .cs-grid {
    grid-template-columns: 1fr 1fr;
    background-color: transparent;
    gap: 0;
    border-bottom: none;
  }

  .block-partner-stats-v1 .cs-card {
    padding: 32px 48px;
    border-bottom: 1px solid var(--color-grey-20);
  }

  /* vertical divider — all left-col cards */
  .block-partner-stats-v1 .cs-card:nth-child(2n+1) {
    border-right: 1px solid var(--color-grey-20);
  }
}

@media (min-width: 1024px) {
  .dark .block-partner-stats-v1 .cs-grid { background-color: transparent; }

  .dark .block-partner-stats-v1 .cs-card {
    border-bottom-color: rgba(255, 255, 255, 0.08);
  }

  .dark .block-partner-stats-v1 .cs-card:nth-child(2n+1) {
    border-right-color: rgba(255, 255, 255, 0.08);
  }
}
/* Picture CTA (block-picture-cta-v1) */

.block-picture-cta-v1 {
  --picture-cta-v1-bg: var(--color-forest-green, #004432);
  --picture-cta-v1-illu: var(--color-mint-green, #47b27a);
  --picture-cta-v1-button-hover: var(--color-forest-green, #004432);
  position: relative;
  max-width: 100%;
  overflow: hidden;
  overflow: clip;
  isolation: isolate;
  background-color: var(--picture-cta-v1-bg);
  color: var(--color-white, #ffffff);
}

.block-picture-cta-v1,
.block-picture-cta-v1[data-preset="forest-mint"] {
  --picture-cta-v1-bg: var(--color-forest-green, #004432);
  --picture-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-picture-cta-v1[data-preset="forest-light"] {
  --picture-cta-v1-bg: var(--color-forest-green, #004432);
  --picture-cta-v1-illu: var(--color-light-green, #8acbc1);
}

.block-picture-cta-v1[data-preset="forest-yellow"] {
  --picture-cta-v1-bg: var(--color-forest-green, #004432);
  --picture-cta-v1-illu: var(--color-yellow-green, #e6ce00);
}

.block-picture-cta-v1[data-preset="forest-blue"] {
  --picture-cta-v1-bg: var(--color-forest-green, #004432);
  --picture-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-picture-cta-v1[data-preset="moss-mint"] {
  --picture-cta-v1-bg: var(--color-moss-green, #13735f);
  --picture-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-picture-cta-v1[data-preset="moss-blue"] {
  --picture-cta-v1-bg: var(--color-moss-green, #13735f);
  --picture-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-picture-cta-v1[data-preset="moss-red"] {
  --picture-cta-v1-bg: var(--color-moss-green, #13735f);
  --picture-cta-v1-illu: var(--color-red, #e52322);
}

.block-picture-cta-v1[data-preset="darkred-mint"] {
  --picture-cta-v1-bg: var(--color-dark-red, #861135);
  --picture-cta-v1-illu: var(--color-mint-green, #47b27a);
  --picture-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-picture-cta-v1[data-preset="darkred-corn"] {
  --picture-cta-v1-bg: var(--color-dark-red, #861135);
  --picture-cta-v1-illu: var(--color-corn-green, #94c24a);
  --picture-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-picture-cta-v1[data-preset="darkred-blue"] {
  --picture-cta-v1-bg: var(--color-dark-red, #861135);
  --picture-cta-v1-illu: var(--color-blue, #477ec0);
  --picture-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-picture-cta-v1 .picture-cta-v1__inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.block-picture-cta-v1 .picture-cta-v1__content {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 400px;
  align-items: center;
  overflow: hidden;
  overflow: clip;
  padding: 64px 24px;
  box-sizing: border-box;
}

.block-picture-cta-v1 .picture-cta-v1__illustration {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  overflow: clip;
  color: var(--picture-cta-v1-illu);
  pointer-events: none;
}

.block-picture-cta-v1 .picture-cta-v1__illustration-svg {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  height: 640%;
  overflow: visible;
  opacity: 0.2;
  fill: currentColor;
  shape-rendering: geometricPrecision;
}

.block-picture-cta-v1 .picture-cta-v1__copy {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  min-width: 0;
}

.block-picture-cta-v1 .picture-cta-v1__heading {
  margin: 0 0 24px;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-picture-cta-v1 .picture-cta-v1__heading p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-picture-cta-v1 .picture-cta-v1__body {
  margin: 0 0 32px;
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, "Lato", sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.block-picture-cta-v1 .picture-cta-v1__body p {
  margin: 0 0 12px;
}

.block-picture-cta-v1 .picture-cta-v1__body p:last-child {
  margin-bottom: 0;
}

.block-picture-cta-v1 .picture-cta-v1__heading strong,
.block-picture-cta-v1 .picture-cta-v1__heading b,
.block-picture-cta-v1 .picture-cta-v1__heading a,
.block-picture-cta-v1 .picture-cta-v1__body strong,
.block-picture-cta-v1 .picture-cta-v1__body b,
.block-picture-cta-v1 .picture-cta-v1__body a {
  color: var(--color-white, #ffffff);
}

.block-picture-cta-v1 .picture-cta-v1__heading a,
.block-picture-cta-v1 .picture-cta-v1__body a {
  font-weight: inherit;
  text-decoration: underline;
}

.block-picture-cta-v1 .picture-cta-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--color-white, #ffffff);
  border-radius: 4rem;
  box-sizing: border-box;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.16s ease-in-out, border-color 0.16s ease-in-out, color 0.16s ease-in-out;
}

.block-picture-cta-v1 .picture-cta-v1__button:hover,
.block-picture-cta-v1 .picture-cta-v1__button:focus-visible,
.block-picture-cta-v1 .picture-cta-v1__button:focus {
  border-color: var(--color-white, #ffffff);
  background-color: var(--color-white, #ffffff);
  color: var(--picture-cta-v1-button-hover);
}

.block-picture-cta-v1 .picture-cta-v1__button:focus-visible,
.block-picture-cta-v1 .picture-cta-v1__button:focus {
  outline: 3px solid var(--color-white, #ffffff);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.32);
}

.block-picture-cta-v1 .picture-cta-v1__button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.block-picture-cta-v1 .picture-cta-v1__button-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-picture-cta-v1 .picture-cta-v1__button:hover .picture-cta-v1__button-icon {
  transform: translateX(3px);
}

.block-picture-cta-v1 .picture-cta-v1__media-column {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  padding: 0 24px 64px;
  box-sizing: border-box;
}

.block-picture-cta-v1 .picture-cta-v1__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 8px;
  background: transparent;
}

.block-picture-cta-v1 .picture-cta-v1__image,
.block-picture-cta-v1 .picture-cta-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-picture-cta-v1 .picture-cta-v1__image {
  object-fit: contain;
}

.block-picture-cta-v1 .picture-cta-v1__placeholder {
  background: transparent;
}

@media (min-width: 768px) {
  .block-picture-cta-v1 .picture-cta-v1__content {
    padding: 64px 48px;
  }

  .block-picture-cta-v1 .picture-cta-v1__media {
    aspect-ratio: 16 / 9;
  }

  .block-picture-cta-v1 .picture-cta-v1__media-column {
    padding: 0 48px 64px;
  }
}

@media (min-width: 1024px) {
  .block-picture-cta-v1 .picture-cta-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
    gap: 0 32px;
    padding: 0 80px;
    box-sizing: border-box;
  }

  .block-picture-cta-v1 .picture-cta-v1__content {
    grid-column: 1 / 5;
    padding: 80px 0;
  }

  .block-picture-cta-v1 .picture-cta-v1__media-column {
    grid-column: 5 / -1;
    padding: 64px 0;
    box-sizing: border-box;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-picture-cta-v1 .picture-cta-v1__button,
  .block-picture-cta-v1 .picture-cta-v1__button-icon {
    transition: none;
  }
}
/* Portrait Picture Gallery (block-portrait-picture-gallery-v1) */

.block-portrait-picture-gallery-v1 {
  --portrait-picture-gallery-v1-bg: var(--color-white, #ffffff);
  --portrait-picture-gallery-v1-card-width: min(76vw, 320px);
  --portrait-picture-gallery-v1-card-width: min(76vw, 45.333svh, 320px);
  --portrait-picture-gallery-v1-gap: 12px;
  --portrait-picture-gallery-v1-track-gutter: max(24px, calc((100vw - var(--portrait-picture-gallery-v1-card-width)) / 2));
  background: var(--portrait-picture-gallery-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
  padding: 64px 0;
}

.block-portrait-picture-gallery-v1[data-background-color="#FFFFFF"] {
  --portrait-picture-gallery-v1-bg: var(--color-white, #ffffff);
}

.block-portrait-picture-gallery-v1[data-background-color="#F7F7F7"] {
  --portrait-picture-gallery-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-portrait-picture-gallery-v1 {
  --portrait-picture-gallery-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__header {
  display: grid;
  gap: 24px;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline p,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro p,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption p {
  margin: 0;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro p + p {
  margin-top: 12px;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--portrait-picture-gallery-v1-gap);
  margin: 0;
  padding: 16px 0 8px var(--portrait-picture-gallery-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--portrait-picture-gallery-v1-track-gutter) - var(--portrait-picture-gallery-v1-gap)));
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__track::-webkit-scrollbar {
  display: none;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__slide {
  position: relative;
  flex: 0 0 var(--portrait-picture-gallery-v1-card-width);
  width: var(--portrait-picture-gallery-v1-card-width);
  min-width: 0;
  scroll-snap-align: center;
  perspective: 1100px;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
  backface-visibility: hidden;
  transform: translateZ(0);
  transform-style: preserve-3d;
  box-shadow: 0 18px 48px rgba(0, 68, 50, 0.12);
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide.ppg-near .portrait-picture-gallery-v1__media {
  will-change: transform;
}

.block-portrait-picture-gallery-v1.ppg-static-cover-flow .portrait-picture-gallery-v1__slide.ppg-near .portrait-picture-gallery-v1__media {
  will-change: auto;
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.26);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide:not(.ppg-active) .portrait-picture-gallery-v1__media::after {
  opacity: 1;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__image,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background {
  z-index: 0;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
  pointer-events: none;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__image {
  z-index: 1;
  object-fit: contain;
  object-position: center;
  filter: none;
  transition: filter 0.25s ease;
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide.ppg-near:not(.ppg-active) .portrait-picture-gallery-v1__image {
  filter: blur(10px) brightness(0.62) saturate(0.85);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__placeholder {
  position: relative;
  background:
    linear-gradient(155deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.14)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__placeholder {
  background:
    linear-gradient(155deg, rgba(71, 178, 122, 0.14), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
  width: 100%;
  margin-top: 18px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption p + p {
  margin-top: 12px;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide:not(.ppg-active) .portrait-picture-gallery-v1__caption {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: var(--portrait-picture-gallery-v1-card-width);
  margin: 20px auto 0;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--ppg-p, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:hover:not(:disabled):not([aria-disabled="true"]) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:disabled,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn[aria-disabled="true"] {
  opacity: 0.4;
  cursor: default;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:hover:not(:disabled):not([aria-disabled="true"]) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-portrait-picture-gallery-v1 {
    --portrait-picture-gallery-v1-card-width: min(52vw, 400px);
    --portrait-picture-gallery-v1-card-width: min(52vw, 45.333svh, 400px);
    --portrait-picture-gallery-v1-gap: 24px;
    --portrait-picture-gallery-v1-track-gutter: max(48px, calc((100vw - var(--portrait-picture-gallery-v1-card-width)) / 2));
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__inner {
    padding: 0 48px 32px;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
    margin-top: 22px;
  }
}

@media (max-width: 767px), (pointer: coarse) {
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
    box-shadow: 0 10px 24px rgba(0, 68, 50, 0.1);
  }

  .dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background {
    filter: blur(18px) brightness(0.6);
  }
}

@media (min-width: 1024px) {
  .block-portrait-picture-gallery-v1 {
    --portrait-picture-gallery-v1-card-width: min(34vw, 48vh, 440px);
    --portrait-picture-gallery-v1-gap: 32px;
    --portrait-picture-gallery-v1-track-gutter: max(80px, calc((100vw - var(--portrait-picture-gallery-v1-card-width)) / 2));
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__inner {
    padding: 0 80px 32px;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro {
    grid-column: 7 / span 6;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
    margin-top: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
    transform: none !important;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media::after,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__image,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill::after,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn {
    transition: none !important;
  }
}
/* Quote CTA (block-quote-cta-v1) */

.block-quote-cta-v1 {
  --quote-cta-v1-bg: var(--color-forest-green, #004432);
  --quote-cta-v1-illu: var(--color-mint-green, #47b27a);
  --quote-cta-v1-button-hover: var(--color-forest-green, #004432);
  position: relative;
  display: flex;
  align-items: center;
  min-height: 400px;
  max-width: 100%;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  background-color: var(--quote-cta-v1-bg);
  color: var(--color-white, #ffffff);
}

.block-quote-cta-v1 .quote-cta-v1__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  clip-path: inset(0);
  color: var(--quote-cta-v1-illu);
  pointer-events: none;
}

.block-quote-cta-v1 .quote-cta-v1__bg-svg {
  position: absolute;
  top: -310%;
  left: 4%;
  width: auto;
  height: 653%;
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

.block-quote-cta-v1,
.block-quote-cta-v1[data-preset="forest-mint"] {
  --quote-cta-v1-bg: var(--color-forest-green, #004432);
  --quote-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-quote-cta-v1[data-preset="forest-light"] {
  --quote-cta-v1-bg: var(--color-forest-green, #004432);
  --quote-cta-v1-illu: var(--color-light-green, #8acbc1);
}

.block-quote-cta-v1[data-preset="forest-yellow"] {
  --quote-cta-v1-bg: var(--color-forest-green, #004432);
  --quote-cta-v1-illu: var(--color-yellow-green, #e6ce00);
}

.block-quote-cta-v1[data-preset="forest-blue"] {
  --quote-cta-v1-bg: var(--color-forest-green, #004432);
  --quote-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-quote-cta-v1[data-preset="moss-mint"] {
  --quote-cta-v1-bg: var(--color-moss-green, #13735f);
  --quote-cta-v1-illu: var(--color-mint-green, #47b27a);
}

.block-quote-cta-v1[data-preset="moss-blue"] {
  --quote-cta-v1-bg: var(--color-moss-green, #13735f);
  --quote-cta-v1-illu: var(--color-blue, #477ec0);
}

.block-quote-cta-v1[data-preset="moss-red"] {
  --quote-cta-v1-bg: var(--color-moss-green, #13735f);
  --quote-cta-v1-illu: var(--color-red, #e52322);
}

.block-quote-cta-v1[data-preset="darkred-mint"] {
  --quote-cta-v1-bg: var(--color-dark-red, #861135);
  --quote-cta-v1-illu: var(--color-mint-green, #47b27a);
  --quote-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-quote-cta-v1[data-preset="darkred-corn"] {
  --quote-cta-v1-bg: var(--color-dark-red, #861135);
  --quote-cta-v1-illu: var(--color-corn-green, #94c24a);
  --quote-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-quote-cta-v1[data-preset="darkred-blue"] {
  --quote-cta-v1-bg: var(--color-dark-red, #861135);
  --quote-cta-v1-illu: var(--color-blue, #477ec0);
  --quote-cta-v1-button-hover: var(--color-dark-red, #861135);
}

.block-quote-cta-v1 .quote-cta-v1__inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  gap: 40px;
  box-sizing: border-box;
}

.block-quote-cta-v1 .quote-cta-v1__quote-group {
  min-width: 0;
  margin: 0;
  padding-left: 24px;
  border-left: 1px solid rgba(255, 255, 255, 0.56);
  box-sizing: border-box;
}

.block-quote-cta-v1 .quote-cta-v1__mark {
  display: block;
  width: 56px;
  max-width: 36vw;
  height: auto;
  margin: 0 0 24px;
  color: var(--color-white, #ffffff);
}

.block-quote-cta-v1 .quote-cta-v1__quote {
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-quote-cta-v1 .quote-cta-v1__quote p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-quote-cta-v1 .quote-cta-v1__quote p + p {
  margin-top: 16px;
}

.block-quote-cta-v1 .quote-cta-v1__quote strong,
.block-quote-cta-v1 .quote-cta-v1__quote b,
.block-quote-cta-v1 .quote-cta-v1__quote a {
  color: var(--color-white, #ffffff);
}

.block-quote-cta-v1 .quote-cta-v1__quote a {
  font-weight: inherit;
  text-decoration: underline;
}

.block-quote-cta-v1 .quote-cta-v1__action {
  min-width: 0;
}

.block-quote-cta-v1 .quote-cta-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--color-white, #ffffff);
  border-radius: 4rem;
  box-sizing: border-box;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.16s ease-in-out, border-color 0.16s ease-in-out, color 0.16s ease-in-out;
}

.block-quote-cta-v1 .quote-cta-v1__button:hover,
.block-quote-cta-v1 .quote-cta-v1__button:focus-visible,
.block-quote-cta-v1 .quote-cta-v1__button:focus {
  border-color: var(--color-white, #ffffff);
  background-color: var(--color-white, #ffffff);
  color: var(--quote-cta-v1-button-hover);
}

.block-quote-cta-v1 .quote-cta-v1__button:focus-visible,
.block-quote-cta-v1 .quote-cta-v1__button:focus {
  outline: 3px solid var(--color-white, #ffffff);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.32);
}

.block-quote-cta-v1 .quote-cta-v1__button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.block-quote-cta-v1 .quote-cta-v1__button-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-quote-cta-v1 .quote-cta-v1__button:hover .quote-cta-v1__button-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-quote-cta-v1 .quote-cta-v1__inner {
    padding: 64px 48px;
  }

  .block-quote-cta-v1 .quote-cta-v1__quote-group {
    padding-left: 48px;
  }

  .block-quote-cta-v1 .quote-cta-v1__mark {
    width: 72px;
  }
}

@media (min-width: 1024px) {
  .block-quote-cta-v1 .quote-cta-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    padding: 80px;
    gap: 0 32px;
  }

  .block-quote-cta-v1 .quote-cta-v1__quote-group {
    grid-column: 1 / 8;
  }

  .block-quote-cta-v1 .quote-cta-v1__action {
    grid-column: 9 / -1;
    justify-self: end;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-quote-cta-v1 .quote-cta-v1__button,
  .block-quote-cta-v1 .quote-cta-v1__button-icon {
    transition: none;
  }
}
/* Recent Donations Train (block-recent-donations-v1) */

.block-recent-donations-v1 {
  --recent-donations-v1-bg: var(--color-light-grey, #f7f7f7);
  --recent-donations-v1-card-bg: var(--color-white, #ffffff);
  --recent-donations-v1-border: rgba(0, 68, 50, 0.14);
  --recent-donations-v1-muted: #666666;
  --recent-donations-v1-duration: 180s;
  --recent-donations-v1-duration-alt: 202s;
  --recent-donations-v1-delay-alt: -85s;
  --recent-donations-v1-gap: 48px;
  overflow-x: clip;
  overflow-y: visible;
  background: var(--recent-donations-v1-bg);
  color: var(--color-black, #333333);
}

.block-recent-donations-v1[data-background-color="#FFFFFF"] {
  --recent-donations-v1-bg: var(--color-white, #ffffff);
}

.block-recent-donations-v1[data-background-color="#F7F7F7"] {
  --recent-donations-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-recent-donations-v1 {
  --recent-donations-v1-bg: var(--color-bg-dark, #0f1a14);
  --recent-donations-v1-card-bg: var(--color-white, #ffffff);
  --recent-donations-v1-border: rgba(255, 255, 255, 0.14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-recent-donations-v1 .recent-donations-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-recent-donations-v1 .recent-donations-v1__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}

.block-recent-donations-v1 .recent-donations-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3, 46px));
  font-weight: 700;
  line-height: var(--text-h3--line-height, 1.15);
}

.block-recent-donations-v1 .recent-donations-v1__headline p,
.block-recent-donations-v1 .recent-donations-v1__cta p {
  margin: 0;
}

.dark .block-recent-donations-v1 .recent-donations-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-recent-donations-v1 .recent-donations-v1__count {
  display: none;
  align-items: baseline;
  gap: 6px;
  margin: 8px 0 0;
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.45;
}

.block-recent-donations-v1 .recent-donations-v1__count[data-has-count="true"] {
  display: flex;
}

.block-recent-donations-v1 .recent-donations-v1__count-number {
  color: inherit;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.dark .block-recent-donations-v1 .recent-donations-v1__count {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.56));
}

.dark .block-recent-donations-v1 .recent-donations-v1__count-number {
  color: inherit;
}

.block-recent-donations-v1 .recent-donations-v1__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.block-recent-donations-v1 .recent-donations-v1__cta:hover,
.block-recent-donations-v1 .recent-donations-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  border-color: transparent;
  color: var(--color-white, #ffffff);
}

.block-recent-donations-v1 .recent-donations-v1__cta:focus-visible {
  outline: 3px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-recent-donations-v1 .recent-donations-v1__cta-icon {
  flex-shrink: 0;
  width: 9px;
  height: 14px;
  transition: transform 0.2s ease;
}

.block-recent-donations-v1 .recent-donations-v1__cta:hover .recent-donations-v1__cta-icon,
.block-recent-donations-v1 .recent-donations-v1__cta:focus-visible .recent-donations-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-recent-donations-v1 .recent-donations-v1__cta {
  background: var(--color-yellow-green, #e6ce00);
  border-color: transparent;
  color: var(--color-forest-green, #004432);
}

.dark .block-recent-donations-v1 .recent-donations-v1__cta:hover,
.dark .block-recent-donations-v1 .recent-donations-v1__cta:focus-visible {
  background: var(--color-accent-dark, #47b27a);
  border-color: transparent;
  color: var(--color-bg-dark, #0f1a14);
}

.block-recent-donations-v1 .recent-donations-v1__rail {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  min-height: 286px;
  padding: 2px 0;
  overflow-x: clip;
  overflow-y: visible;
  overflow-clip-margin-block: 16px;
}

.block-recent-donations-v1 .recent-donations-v1__rail::before,
.block-recent-donations-v1 .recent-donations-v1__rail::after {
  display: none;
}

.block-recent-donations-v1 .recent-donations-v1__empty {
  margin: 0;
  padding: 28px;
  border: 1px dashed var(--recent-donations-v1-border);
  border-radius: 8px;
  color: var(--color-grey-60, #737373);
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

.block-recent-donations-v1 .recent-donations-v1__empty[hidden],
.block-recent-donations-v1 .recent-donations-v1__train[hidden] {
  display: none;
}

.dark .block-recent-donations-v1 .recent-donations-v1__empty {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.block-recent-donations-v1 .recent-donations-v1__train {
  position: relative;
  overflow-x: clip;
  overflow-y: visible;
  overflow-clip-margin-block: 16px;
  padding: 0;
}

.block-recent-donations-v1 .recent-donations-v1__train:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-recent-donations-v1 .recent-donations-v1__track {
  display: flex;
  width: max-content;
  animation: recent-donations-v1-marquee var(--recent-donations-v1-duration) linear infinite;
  will-change: transform;
}

.block-recent-donations-v1 .recent-donations-v1__track[data-rd-lane="2"] {
  display: none;
}

.block-recent-donations-v1 .recent-donations-v1__group {
  display: flex;
  flex: 0 0 auto;
  gap: var(--recent-donations-v1-gap);
  padding-right: var(--recent-donations-v1-gap);
}

.block-recent-donations-v1 .recent-donations-v1__car {
  display: grid;
  grid-template-rows: auto auto auto;
  align-items: stretch;
  width: clamp(248px, 20vw, 304px);
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: var(--recent-donations-v1-card-bg);
  box-shadow: 0 2px 8px rgba(0, 68, 50, 0.12);
}

.dark .block-recent-donations-v1 .recent-donations-v1__car {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.26);
}

.block-recent-donations-v1 .recent-donations-v1__animal {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(0, 68, 50, 0.08);
}

.block-recent-donations-v1 .recent-donations-v1__animal-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dark .block-recent-donations-v1 .recent-donations-v1__animal {
  background: rgba(255, 255, 255, 0.08);
}

.block-recent-donations-v1 .recent-donations-v1__amount {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
  min-height: 0;
  padding: 8px 20px 22px;
  border-radius: 0;
  background: transparent;
  color: var(--color-forest-green, #004432);
}

.block-recent-donations-v1 .recent-donations-v1__amount-value {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}

.block-recent-donations-v1 .recent-donations-v1__amount-unit {
  margin-top: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}

.block-recent-donations-v1 .recent-donations-v1__amount-unit sup {
  position: relative;
  top: -0.35em;
  margin-left: 1px;
  font-size: 0.62em;
  line-height: 0;
}

.dark .block-recent-donations-v1 .recent-donations-v1__amount {
  color: var(--color-forest-green, #004432);
}

.block-recent-donations-v1 .recent-donations-v1__car-body {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding: 20px 20px 0;
}

.block-recent-donations-v1 .recent-donations-v1__donor {
  overflow: hidden;
  margin: 0;
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.block-recent-donations-v1 .recent-donations-v1__date {
  display: inline-flex;
  align-items: baseline;
  margin-top: 0;
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}

.block-recent-donations-v1 .recent-donations-v1__date::before {
  content: '|';
  margin-right: 8px;
}

.dark .block-recent-donations-v1 .recent-donations-v1__donor {
  color: var(--color-grey-60, #737373);
}

.dark .block-recent-donations-v1 .recent-donations-v1__date {
  color: var(--color-grey-60, #737373);
}

@keyframes recent-donations-v1-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(var(--recent-donations-v1-loop-offset, -50%), 0, 0);
  }
}

@media (max-width: 767px) {
  .block-recent-donations-v1 .recent-donations-v1__header {
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
    margin-bottom: 24px;
  }

  .block-recent-donations-v1 .recent-donations-v1__rail {
    min-height: 0;
    padding: 0;
  }

  .block-recent-donations-v1 .recent-donations-v1__cta {
    justify-self: start;
    width: fit-content;
    max-width: 100%;
  }

  .block-recent-donations-v1 .recent-donations-v1__car {
    grid-template-rows: auto auto auto;
    width: min(72vw, 260px);
  }

  .block-recent-donations-v1 .recent-donations-v1__animal {
    width: 100%;
  }

  .block-recent-donations-v1 .recent-donations-v1__amount {
    padding: 7px 16px 18px;
  }

  .block-recent-donations-v1 .recent-donations-v1__amount-value {
    font-size: 25px;
  }

  .block-recent-donations-v1 .recent-donations-v1__amount-unit {
    font-size: 17px;
  }

  .block-recent-donations-v1 .recent-donations-v1__car-body {
    gap: 5px;
    padding: 16px 16px 0;
  }

  .block-recent-donations-v1 .recent-donations-v1__donor {
    font-size: 12px;
  }

  .block-recent-donations-v1 .recent-donations-v1__date {
    font-size: 12px;
  }

  .block-recent-donations-v1 .recent-donations-v1__date::before {
    margin-right: 6px;
  }
}

@media (min-width: 768px) {
  .block-recent-donations-v1 .recent-donations-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-recent-donations-v1 .recent-donations-v1__inner {
    padding: 64px 80px;
  }

  .block-recent-donations-v1 .recent-donations-v1__cta {
    font-size: 18px;
  }

  .block-recent-donations-v1 .recent-donations-v1__track[data-rd-lane="2"] {
    display: flex;
    margin-top: 48px;
    animation-duration: var(--recent-donations-v1-duration-alt);
    animation-delay: var(--recent-donations-v1-delay-alt);
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-recent-donations-v1 .recent-donations-v1__train {
    overflow: visible;
  }

  .block-recent-donations-v1 .recent-donations-v1__track {
    width: auto;
    animation: none;
  }

  .block-recent-donations-v1 .recent-donations-v1__track[data-rd-lane="2"],
  .block-recent-donations-v1 .recent-donations-v1__group[data-rd-clone] {
    display: none;
  }

  .block-recent-donations-v1 .recent-donations-v1__group {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding-right: 0;
  }
}
/* Region List (block-region-list-v1) */

.block-region-list-v1 {
  --region-list-v1-bg: var(--color-light-grey, #f7f7f7);
  --region-list-v1-card-bg: var(--color-white, #ffffff);
  --region-list-v1-muted: var(--color-grey-80, #4d4d4d);
  background: var(--region-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-region-list-v1[data-background-color="#FFFFFF"] {
  --region-list-v1-bg: var(--color-white, #ffffff);
}

.block-region-list-v1[data-background-color="#F7F7F7"] {
  --region-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-region-list-v1 {
  --region-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --region-list-v1-card-bg: var(--color-surface-dark, #1a2920);
  --region-list-v1-muted: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
  color: var(--color-text-dark, #f0f4f2);
}

.block-region-list-v1 .region-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-region-list-v1 .region-list-v1__header {
  display: grid;
  gap: 12px;
  margin-bottom: 32px;
}

.block-region-list-v1 .region-list-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3, 46px));
  font-weight: 700;
  line-height: var(--text-h3--line-height, 1.1);
}

.block-region-list-v1 .region-list-v1__headline p,
.block-region-list-v1 .region-list-v1__cta p {
  margin: 0;
}

.dark .block-region-list-v1 .region-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-region-list-v1 .region-list-v1__count {
  display: none;
  margin: 0;
  color: var(--region-list-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
}

.block-region-list-v1 .region-list-v1__count[data-has-count="true"] {
  display: flex;
  gap: 6px;
}

.block-region-list-v1 .region-list-v1__count-number {
  color: inherit;
  font-weight: 700;
}

.block-region-list-v1 .region-list-v1__empty {
  margin: 0;
  padding: 24px;
  border: 1px dashed var(--color-grey-20, #dcdcdc);
  border-radius: 8px;
  color: var(--region-list-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
}

.dark .block-region-list-v1 .region-list-v1__empty {
  border-color: rgba(255, 255, 255, 0.16);
}

.block-region-list-v1 .region-list-v1__empty[hidden],
.block-region-list-v1 .region-list-v1__list[hidden] {
  display: none;
}

.block-region-list-v1 .region-list-v1__list {
  display: grid;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-region-list-v1 .region-list-v1__item {
  min-width: 0;
}

.block-region-list-v1 .region-list-v1__card {
  overflow: hidden;
  border-radius: 16px;
  background: var(--region-list-v1-card-bg);
  box-shadow: 0 2px 8px rgba(0, 68, 50, 0.1);
}

.dark .block-region-list-v1 .region-list-v1__card {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.block-region-list-v1 .region-list-v1__hero {
  position: relative;
  min-height: 400px;
  overflow: hidden;
  background: var(--color-forest-green, #004432);
  isolation: isolate;
}

.block-region-list-v1 .region-list-v1__picture,
.block-region-list-v1 .region-list-v1__image,
.block-region-list-v1 .region-list-v1__image-placeholder,
.block-region-list-v1 .region-list-v1__overlay {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-region-list-v1 .region-list-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease;
}

.block-region-list-v1 .region-list-v1__card:hover .region-list-v1__image {
  transform: scale(1.02);
}

.block-region-list-v1 .region-list-v1__image-placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.32), rgba(0, 68, 50, 0.9)),
    var(--color-forest-green, #004432);
}

.block-region-list-v1 .region-list-v1__overlay {
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 28, 21, 0.64) 0%, rgba(0, 35, 26, 0.35) 42%, rgba(0, 28, 21, 0.82) 100%);
}

.block-region-list-v1 .region-list-v1__hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 400px;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px;
  color: var(--color-white, #ffffff);
}

.block-region-list-v1 .region-list-v1__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.block-region-list-v1 .region-list-v1__meta p {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  font-family: var(--font-body, 'Lato', sans-serif);
}

.block-region-list-v1 .region-list-v1__meta p:last-child {
  text-align: right;
}

.block-region-list-v1 .region-list-v1__meta strong {
  color: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.block-region-list-v1 .region-list-v1__meta span {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.block-region-list-v1 .region-list-v1__meta span sub {
  font-size: 0.7em;
  line-height: 0;
  vertical-align: sub;
}

.block-region-list-v1 .region-list-v1__impact {
  margin-top: 64px;
}

.block-region-list-v1 .region-list-v1__name {
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
}

.block-region-list-v1 .region-list-v1__editorial {
  padding: 32px 40px 36px;
  background: var(--color-white, #ffffff);
  color: var(--color-black, #333333);
}

.block-region-list-v1 .region-list-v1__description {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.block-region-list-v1 .region-list-v1__description > :first-child {
  margin-top: 0;
}

.block-region-list-v1 .region-list-v1__description > :last-child {
  margin-bottom: 0;
}

.block-region-list-v1 .region-list-v1__progress {
  position: relative;
  box-sizing: border-box;
  height: 16px;
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  background: var(--color-forest-green, #004432);
}

.block-region-list-v1 .region-list-v1__progress-fill {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--color-mint-green, #47b27a);
  transition: width 0.6s ease;
}

.block-region-list-v1 .region-list-v1__areas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 16px;
}

.block-region-list-v1 .region-list-v1__areas p {
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.block-region-list-v1 .region-list-v1__areas p:last-child {
  text-align: right;
}

.block-region-list-v1 .region-list-v1__areas strong {
  color: inherit;
}

.block-region-list-v1 .region-list-v1__areas p:first-child,
.block-region-list-v1 .region-list-v1__areas p:first-child strong {
  color: var(--color-light-green, #8acbc1);
}

.block-region-list-v1 .region-list-v1__cta {
  display: flex;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  align-self: flex-start;
  gap: 12px;
  margin-top: 24px;
  margin-left: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.block-region-list-v1 .region-list-v1__cta:hover,
.block-region-list-v1 .region-list-v1__cta:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.block-region-list-v1 .region-list-v1__cta:first-child {
  margin-top: 0;
}

.block-region-list-v1 .region-list-v1__cta:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--color-forest-green, #004432);
  outline-offset: 4px;
}

.block-region-list-v1 .region-list-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex: 0 0 auto;
  transition: transform 0.18s ease;
}

.block-region-list-v1 .region-list-v1__cta:hover .region-list-v1__cta-icon,
.block-region-list-v1 .region-list-v1__cta:focus-visible .region-list-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-region-list-v1 .region-list-v1__inner {
    padding: 80px 48px;
  }
}

@media (min-width: 1024px) {
  .block-region-list-v1 .region-list-v1__inner {
    padding: 80px;
  }
}

@media (max-width: 767px) {
  .block-region-list-v1 .region-list-v1__hero,
  .block-region-list-v1 .region-list-v1__hero-content {
    min-height: 440px;
  }

  .block-region-list-v1 .region-list-v1__hero-content {
    padding: 32px 24px;
  }

  .block-region-list-v1 .region-list-v1__meta {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .block-region-list-v1 .region-list-v1__meta p:last-child {
    text-align: left;
  }

  .block-region-list-v1 .region-list-v1__impact {
    margin-top: 48px;
  }

  .block-region-list-v1 .region-list-v1__name {
    font-size: 24px;
  }

  .block-region-list-v1 .region-list-v1__editorial {
    padding: 24px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .block-region-list-v1 .region-list-v1__image,
  .block-region-list-v1 .region-list-v1__progress-fill,
  .block-region-list-v1 .region-list-v1__cta-icon {
    transition: none;
  }

  .block-region-list-v1 .region-list-v1__card:hover .region-list-v1__image,
  .block-region-list-v1 .region-list-v1__cta:hover .region-list-v1__cta-icon,
  .block-region-list-v1 .region-list-v1__cta:focus-visible .region-list-v1__cta-icon {
    transform: none;
  }
}
/* ── Right Picture (block-right-picture-v1) ───────────────────── */

.block-right-picture-v1 {
  --right-picture-v1-bg: var(--color-white, #FFFFFF);
  --right-picture-v1-padding-top: 64px;
  --right-picture-v1-padding-bottom: 64px;
  background: var(--right-picture-v1-bg);
}

.block-right-picture-v1[data-background-color="#FFFFFF"] {
  --right-picture-v1-bg: var(--color-white, #FFFFFF);
}

.block-right-picture-v1[data-background-color="#F7F7F7"] {
  --right-picture-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-right-picture-v1 {
  --right-picture-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-right-picture-v1[data-padding-top="true"] {
  --right-picture-v1-padding-top: 64px;
}

.block-right-picture-v1[data-padding-top="false"] {
  --right-picture-v1-padding-top: 0px;
}

.block-right-picture-v1[data-padding-bottom="true"] {
  --right-picture-v1-padding-bottom: 64px;
}

.block-right-picture-v1[data-padding-bottom="false"] {
  --right-picture-v1-padding-bottom: 0px;
}

/* Outer mirrors global block responsive padding for right-edge alignment */
.block-right-picture-v1 .rp-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--right-picture-v1-padding-top) 24px var(--right-picture-v1-padding-bottom);
}

.block-right-picture-v1 .rp-inner {
  margin: 0;
}

/* ── Picture wrap ── */

.block-right-picture-v1 .rp-img-wrap {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-right-picture-v1 .rp-img-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.block-right-picture-v1.rp-has-lightbox .rp-img-wrap { cursor: zoom-in; }

/* Blurred background shown only for portrait pictures */
.block-right-picture-v1 .rp-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-right-picture-v1 .rp-img-wrap.rp-portrait .rp-bg { display: block; }

.block-right-picture-v1 .rp-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-right-picture-v1 .rp-img-wrap.rp-portrait .rp-img { object-fit: contain; }

/* ── Placeholder ── */

.block-right-picture-v1 .rp-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-right-picture-v1 .rp-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

/* ── Zoom button — hidden unless lightbox is enabled ── */

.block-right-picture-v1 .rp-zoom-btn {
  display: none;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: zoom-in;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.block-right-picture-v1.rp-has-lightbox .rp-zoom-btn { display: flex; }
.block-right-picture-v1 .rp-img-wrap:hover .rp-zoom-btn,
.block-right-picture-v1 .rp-img-wrap:focus-within .rp-zoom-btn { opacity: 1; }
@media (max-width: 767px) {
  .block-right-picture-v1.rp-has-lightbox .rp-zoom-btn { opacity: 1; }
}
.block-right-picture-v1 .rp-zoom-btn:hover { background: rgba(0, 0, 0, 0.65); }
.block-right-picture-v1 .rp-zoom-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  opacity: 1;
}

/* ── Lightbox — hidden by default, shown via JS class ── */

.block-right-picture-v1 .rp-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.block-right-picture-v1 .rp-lightbox.rp-lb-open { display: flex; }

.block-right-picture-v1 .rp-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: rp-lb-in 0.2s ease;
}
@keyframes rp-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-right-picture-v1 .rp-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  animation: rp-lb-up 0.2s ease;
}
@keyframes rp-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-right-picture-v1 .rp-lb-img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 8px;
  object-fit: contain;
}

.block-right-picture-v1 .rp-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.block-right-picture-v1 .rp-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
.block-right-picture-v1 .rp-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

/* ── Caption ── */

.block-right-picture-v1 .rp-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-right-picture-v1 .rp-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-right-picture-v1 .rp-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-right-picture-v1 .rp-caption a { color: var(--color-accent-dark); }
.block-right-picture-v1 .rp-caption a:hover { text-decoration: none; }

@media (min-width: 768px) {
  .block-right-picture-v1 .rp-outer { padding-left: 48px; padding-right: 48px; }
}

@media (min-width: 1024px) {
  .block-right-picture-v1 .rp-outer {
    padding: var(--right-picture-v1-padding-top) 80px var(--right-picture-v1-padding-bottom);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
  }

  .block-right-picture-v1 .rp-inner {
    grid-column: 5 / -1;
  }
}
/* ── Right Video (block-right-video-v1) ─────────────────────── */

.block-right-video-v1 {
  --right-video-v1-bg: var(--color-white, #FFFFFF);
  --right-video-v1-padding-top: 64px;
  --right-video-v1-padding-bottom: 64px;
  background: var(--right-video-v1-bg);
}

.block-right-video-v1[data-background-color="#FFFFFF"] {
  --right-video-v1-bg: var(--color-white, #FFFFFF);
}

.block-right-video-v1[data-background-color="#F7F7F7"] {
  --right-video-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-right-video-v1 {
  --right-video-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-right-video-v1[data-padding-top="true"] {
  --right-video-v1-padding-top: 64px;
}

.block-right-video-v1[data-padding-top="false"] {
  --right-video-v1-padding-top: 0px;
}

.block-right-video-v1[data-padding-bottom="true"] {
  --right-video-v1-padding-bottom: 64px;
}

.block-right-video-v1[data-padding-bottom="false"] {
  --right-video-v1-padding-bottom: 0px;
}

.block-right-video-v1 .rv-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--right-video-v1-padding-top) 24px var(--right-video-v1-padding-bottom);
}

.block-right-video-v1 .sv-inner {
  margin: 0;
}

/* The figure has no inner padding, so keep the cinema button 8px inside the frame. */
.block-right-video-v1 .sv-lights-btn {
  top: 8px;
  right: 8px;
}

@media (min-width: 768px) {
  .block-right-video-v1 .rv-outer {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (min-width: 1024px) {
  .block-right-video-v1 .rv-outer {
    padding: var(--right-video-v1-padding-top) 80px var(--right-video-v1-padding-bottom);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
  }

  .block-right-video-v1 .sv-inner {
    grid-column: 5 / -1;
  }
}
/* ── Simple CTA (block-simple-cta-v1) ─────────────────────── */

.block-simple-cta-v1 {
  position: relative;
  background-color: var(--color-forest-green);
  overflow: hidden;
  min-height: 400px;
  display: flex;
  align-items: center;
}

/* Decorative illustration */
.block-simple-cta-v1 .cta-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  color: var(--color-mint-green); /* default illu color; overridden per preset */
}

.block-simple-cta-v1 .cta-bg-svg {
  position: absolute;
  height: 653%;
  width: auto;
  top: -310%;
  left: 4%;
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

/* ── Presets ──────────────────────────────────────────────── */
/* Default = forest-mint (no data-preset or explicit value) */
.block-simple-cta-v1,
.block-simple-cta-v1[data-preset="forest-mint"] {
  background-color: var(--color-forest-green);
}
.block-simple-cta-v1 .cta-bg,
.block-simple-cta-v1[data-preset="forest-mint"] .cta-bg {
  color: var(--color-mint-green);
}

.block-simple-cta-v1[data-preset="forest-light"] { background-color: var(--color-forest-green); }
.block-simple-cta-v1[data-preset="forest-light"] .cta-bg { color: var(--color-light-green); }

.block-simple-cta-v1[data-preset="forest-yellow"] { background-color: var(--color-forest-green); }
.block-simple-cta-v1[data-preset="forest-yellow"] .cta-bg { color: var(--color-yellow-green); }

.block-simple-cta-v1[data-preset="forest-blue"] { background-color: var(--color-forest-green); }
.block-simple-cta-v1[data-preset="forest-blue"] .cta-bg { color: var(--color-blue); }

.block-simple-cta-v1[data-preset="moss-mint"] { background-color: var(--color-moss-green); }
.block-simple-cta-v1[data-preset="moss-mint"] .cta-bg { color: var(--color-mint-green); }

.block-simple-cta-v1[data-preset="moss-blue"] { background-color: var(--color-moss-green); }
.block-simple-cta-v1[data-preset="moss-blue"] .cta-bg { color: var(--color-blue); }

.block-simple-cta-v1[data-preset="moss-red"] { background-color: var(--color-moss-green); }
.block-simple-cta-v1[data-preset="moss-red"] .cta-bg { color: var(--color-red); }

.block-simple-cta-v1[data-preset="darkred-mint"] { background-color: var(--color-dark-red); }
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-bg { color: var(--color-mint-green); }
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-btn:hover,
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-btn:focus-visible,
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-btn:focus { color: var(--color-dark-red); }

.block-simple-cta-v1[data-preset="darkred-corn"] { background-color: var(--color-dark-red); }
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-bg { color: var(--color-corn-green); }
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-btn:hover,
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-btn:focus-visible,
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-btn:focus { color: var(--color-dark-red); }

.block-simple-cta-v1[data-preset="darkred-blue"] { background-color: var(--color-dark-red); }
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-bg { color: var(--color-blue); }
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-btn:hover,
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-btn:focus-visible,
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-btn:focus { color: var(--color-dark-red); }

/* Inner layout */
.block-simple-cta-v1 .cta-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Force all inline text to white — block has colored bg so global mint/moss rules don't apply */
.block-simple-cta-v1 strong,
.block-simple-cta-v1 b,
.block-simple-cta-v1 a:not([class]) {
  color: var(--color-white);
}

/* Richtext links use class .lexkit-link — not matched by a:not([class]), so override separately */
.block-simple-cta-v1 .cta-body a,
.block-simple-cta-v1 .cta-heading a {
  color: var(--color-white);
  text-decoration: underline;
  font-weight: inherit;
}

.block-simple-cta-v1 .cta-body p {
  margin: 0 0 12px;
}
.block-simple-cta-v1 .cta-body p:last-child {
  margin-bottom: 0;
}

/* Heading */
.block-simple-cta-v1 .cta-heading {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.1;
  color: var(--color-white);
  margin: 0;
  overflow-wrap: anywhere;
}

/* Body text */
.block-simple-cta-v1 .cta-body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--text-body--line-height);
  color: var(--color-white);
  margin: 0 0 24px;
  overflow-wrap: anywhere;
}

/* CTA button */
.block-simple-cta-v1 .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  box-sizing: border-box;
  padding: 12px 24px;
  border: 1px solid var(--color-white);
  border-radius: 4rem;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1em;
  text-decoration: none;
  transition: 0.16s ease-in-out all;
}

.block-simple-cta-v1 .cta-btn:hover,
.block-simple-cta-v1 .cta-btn:focus-visible,
.block-simple-cta-v1 .cta-btn:focus {
  background-color: var(--color-white);
  color: var(--color-forest-green);
  border-color: var(--color-white);
}

.block-simple-cta-v1 .cta-btn:focus-visible,
.block-simple-cta-v1 .cta-btn:focus {
  outline: 3px solid var(--color-mint-green, #47B27A);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(71, 178, 122, 0.4);
}

.block-simple-cta-v1 .cta-btn:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.block-simple-cta-v1 .cta-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-simple-cta-v1 .cta-btn:hover .cta-btn-icon {
  transform: translateX(3px);
}

/* Tablet */
@media (min-width: 768px) {
  .block-simple-cta-v1 .cta-inner {
    padding: 64px 48px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-simple-cta-v1 .cta-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    padding: 80px;
    gap: 0 32px;
  }
  .block-simple-cta-v1 .cta-left {
    grid-column: 1 / 6;
    min-width: 0;
    align-self: flex-start;
  }
  .block-simple-cta-v1 .cta-right {
    grid-column: 7 / -1;
    min-width: 0;
  }
}
/* Single Card Donation CTA (block-single-card-donation-cta-v1) */

.block-single-card-donation-cta-v1 {
  --single-card-donation-cta-v1-bg: var(--color-white, #ffffff);
  --single-card-donation-cta-v1-card-bg: var(--color-light-grey, #f7f7f7);
  background: var(--single-card-donation-cta-v1-bg);
  color: var(--color-black, #333333);
}

.block-single-card-donation-cta-v1[data-background-color='#FFFFFF'] {
  --single-card-donation-cta-v1-bg: var(--color-white, #ffffff);
  --single-card-donation-cta-v1-card-bg: var(--color-light-grey, #f7f7f7);
}

.block-single-card-donation-cta-v1[data-background-color='#F7F7F7'] {
  --single-card-donation-cta-v1-bg: var(--color-light-grey, #f7f7f7);
  --single-card-donation-cta-v1-card-bg: var(--color-white, #ffffff);
}

.dark .block-single-card-donation-cta-v1 {
  --single-card-donation-cta-v1-bg: var(--color-bg-dark, #0f1a14);
  --single-card-donation-cta-v1-card-bg: var(--color-surface-dark, #1a2920);
  color: var(--color-text-dark, #f0f4f2);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__inner {
  display: flex;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__copy {
  width: 100%;
  min-width: 0;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__headline p,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card-title p,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta-label p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body {
  margin-top: 32px;
  color: var(--color-black, #333333);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body {
  color: var(--color-text-dark, #f0f4f2);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body p {
  margin: 0 0 16px;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body p:last-child {
  margin-bottom: 0;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body ul,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body ol {
  margin: 0 0 16px;
  padding-left: 1.4em;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body li {
  margin-bottom: 8px;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body strong,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body b {
  font-weight: 700;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body a {
  color: var(--color-moss-green, #13735f);
  font-weight: 600;
  text-decoration: underline;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body a:hover {
  text-decoration: none;
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__body a {
  color: var(--color-accent-dark, #47b27a);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card {
  display: flex;
  width: 100%;
  max-width: 360px;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 0;
  border-radius: 16px;
  background: var(--single-card-donation-cta-v1-card-bg);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__image,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__image {
  object-fit: cover;
  object-position: center;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.14)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card-content {
  display: flex;
  padding: 24px;
  flex-direction: column;
  align-items: flex-start;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card-title {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card-title {
  color: var(--color-accent-dark, #47b27a);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta {
  display: inline-flex;
  min-height: 48px;
  margin-top: 24px;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:hover,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  color: var(--color-white, #ffffff);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 4px;
}

.dark .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta-icon {
  width: 9px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:hover .single-card-donation-cta-v1__cta-icon,
.block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:focus-visible .single-card-donation-cta-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__inner {
    padding: 64px 48px;
  }

  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card-content {
    padding: 32px;
  }
}

@media (min-width: 1024px) {
  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 64px 80px;
    align-items: start;
    column-gap: 32px;
  }

  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__copy {
    grid-column: 5 / -1;
    grid-row: 1;
    align-self: center;
  }

  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__card {
    grid-column: 1 / 5;
    grid-row: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta,
  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta-icon {
    transition: none !important;
  }

  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:hover .single-card-donation-cta-v1__cta-icon,
  .block-single-card-donation-cta-v1 .single-card-donation-cta-v1__cta:focus-visible .single-card-donation-cta-v1__cta-icon {
    transform: none !important;
  }
}
/* ── Social Sharing v1 ────────────────────────────────────────── */
.block-social-sharing-v1 {
  background: var(--color-white, #FFFFFF);
}
.dark .block-social-sharing-v1 {
  background: var(--color-bg-dark, #0f1a14);
}

.block-social-sharing-v1 .ss-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 24px;
}

.block-social-sharing-v1 .ss-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid var(--color-grey-20, #DCDCDC);
  border-bottom: 1px solid var(--color-grey-20, #DCDCDC);
}
.dark .block-social-sharing-v1 .ss-row {
  border-color: rgba(255, 255, 255, 0.1);
}

.block-social-sharing-v1 .ss-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: var(--color-black, #333333);
  margin: 0;
}
.dark .block-social-sharing-v1 .ss-title {
  color: var(--color-text-dark, #f0f4f2);
}

.block-social-sharing-v1 .ss-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.block-social-sharing-v1 .ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--color-moss-green, #13735F);
  background: var(--color-white, #FFFFFF);
  color: var(--color-moss-green, #13735F);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  outline: none;
}
.block-social-sharing-v1 .ss-btn:hover,
.block-social-sharing-v1 .ss-btn:focus-visible {
  background: var(--color-forest-green, #004432);
  border-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}
.block-social-sharing-v1 .ss-btn:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 2px;
}
.dark .block-social-sharing-v1 .ss-btn {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.5);
}
.dark .block-social-sharing-v1 .ss-btn:hover,
.dark .block-social-sharing-v1 .ss-btn:focus-visible {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}
.block-social-sharing-v1 .ss-copy-btn.ss-copied {
  background: var(--color-mint-green, #47B27A);
  border-color: var(--color-mint-green, #47B27A);
  color: var(--color-forest-green, #004432);
}
.dark .block-social-sharing-v1 .ss-copy-btn.ss-copied {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}

@media (max-width: 767px) {
  .block-social-sharing-v1 .ss-inner {
    padding: 24px 24px;
  }
}
/* Standard Picture Gallery (block-standard-picture-gallery-v1) */

.block-standard-picture-gallery-v1 {
  --standard-picture-gallery-v1-bg: var(--color-white, #ffffff);
  --standard-picture-gallery-v1-slide-width: calc(100vw - 48px);
  --standard-picture-gallery-v1-track-gap: 24px;
  --standard-picture-gallery-v1-track-gutter: 24px;
  background: var(--standard-picture-gallery-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
  padding: 64px 0;
}

.block-standard-picture-gallery-v1[data-background-color="#FFFFFF"] {
  --standard-picture-gallery-v1-bg: var(--color-white, #ffffff);
}

.block-standard-picture-gallery-v1[data-background-color="#F7F7F7"] {
  --standard-picture-gallery-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-standard-picture-gallery-v1 {
  --standard-picture-gallery-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__header {
  display: grid;
  gap: 24px;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline p,
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro p,
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption p {
  margin: 0;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro p + p {
  margin-top: 12px;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--standard-picture-gallery-v1-track-gap);
  margin: 0;
  padding: 16px 0 0 var(--standard-picture-gallery-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--standard-picture-gallery-v1-track-gutter) - var(--standard-picture-gallery-v1-track-gap)));
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__track::-webkit-scrollbar {
  display: none;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__slide {
  flex: 0 0 var(--standard-picture-gallery-v1-slide-width);
  min-width: 0;
  scroll-snap-align: center;
  transform-origin: center center;
}

.block-standard-picture-gallery-v1.spg-js-ready .standard-picture-gallery-v1__slide {
  will-change: transform;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  -webkit-backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.block-standard-picture-gallery-v1.spg-js-ready .standard-picture-gallery-v1__slide:not(.spg-active) .standard-picture-gallery-v1__media::after {
  opacity: 1;
}

/* Blurred background shown only for portrait pictures */
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__background {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media.spg-portrait .standard-picture-gallery-v1__background {
  display: block;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__image,
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__image {
  position: relative;
  z-index: 1;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media.spg-portrait .standard-picture-gallery-v1__image {
  object-fit: contain;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption {
  max-width: 760px;
  margin-top: 24px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption p + p {
  margin-top: 12px;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-standard-picture-gallery-v1.spg-js-ready .standard-picture-gallery-v1__slide:not(.spg-active) .standard-picture-gallery-v1__caption {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: var(--standard-picture-gallery-v1-slide-width);
  margin: 20px auto 0;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--spg-p, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-standard-picture-gallery-v1 {
    --standard-picture-gallery-v1-slide-width: calc(100vw - 96px);
    --standard-picture-gallery-v1-track-gap: 32px;
    --standard-picture-gallery-v1-track-gutter: 48px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__inner {
    padding: 0 48px 32px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption {
    margin-top: 28px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress {
    flex: none;
    width: 220px;
  }
}

@media (min-width: 1024px) {
  .block-standard-picture-gallery-v1 {
    --standard-picture-gallery-v1-slide-width: min(960px, calc(100vw - 160px));
    --standard-picture-gallery-v1-track-gutter: max(80px, calc(50vw - 480px));
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__inner {
    padding: 0 80px 32px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro {
    grid-column: 7 / span 6;
  }

}

@media (prefers-reduced-motion: reduce) {
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media::after,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__background,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__image,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill::after,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn {
    transition: none !important;
  }
}
/* ─── Wilderness Stories Header (stories-header-v1) ──────────────────────── */

.block-stories-header-v1 {
  background: #000000;
  position: relative;
  overflow-x: clip;
  max-width: 100%;
}
.dark .block-stories-header-v1 {
  background: #000000;
  position: relative;
  overflow-x: clip;
  max-width: 100%;
}

.block-stories-header-v1 .sh-sticky-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: color-mix(in srgb, var(--color-moss-green, #13735F) 60%, transparent);
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.block-stories-header-v1 .sh-sticky-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.block-stories-header-v1 .sh-sticky-logo {
  height: 16px;
  width: auto;
  flex-shrink: 0;
  display: block;
}

.block-stories-header-v1 .sh-sticky-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  flex: 1;
}

.block-stories-header-v1 .sh-search-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0 4px;
  color: rgba(255, 255, 255, 0.65);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  cursor: pointer;
  transition: color 0.15s;
  flex-shrink: 0;
}
.block-stories-header-v1 .sh-search-toggle:hover {
  color: rgba(255, 255, 255, 0.95);
}
.block-stories-header-v1 .sh-search-toggle-label {
  display: inline;
}

.block-stories-header-v1 .sh-mega-panel {
  overflow: hidden;
  height: 0;
  opacity: 0;
  pointer-events: none;
  transition: height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease;
}
.block-stories-header-v1 .sh-mega-panel.is-open {
  opacity: 1;
  pointer-events: auto;
}
.block-stories-header-v1 .sh-mega-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: 16px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.block-stories-header-v1 .sh-mega-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.block-stories-header-v1 .sh-mega-icon {
  color: rgba(255, 255, 255, 0.45);
  flex-shrink: 0;
}
.block-stories-header-v1 .sh-mega-input {
  background: none;
  border: none;
  outline: none;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  width: 100%;
}
.block-stories-header-v1 .sh-mega-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.block-stories-header-v1 .sh-mega-close {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  padding: 4px;
  flex-shrink: 0;
  transition: color 0.15s;
}
.block-stories-header-v1 .sh-mega-close:hover {
  color: rgba(255, 255, 255, 0.9);
}
.block-stories-header-v1 .sh-mega-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  max-width: 640px;
  margin: 14px auto 0;
}
.block-stories-header-v1 .sh-mega-cat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  padding: 5px 14px;
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.block-stories-header-v1 .sh-mega-cat:hover,
.block-stories-header-v1 .sh-mega-cat.is-active {
  background: rgba(255, 255, 255, 0.15);
  color: var(--color-white, #FFFFFF);
}

.block-stories-header-v1 .sh-inner {
  max-width: none;
  margin: 0;
  padding: 0;
}

.block-stories-header-v1 .sh-text {
  margin-bottom: 48px;
}

.block-stories-header-v1 .sh-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--color-white, #FFFFFF);
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.block-stories-header-v1 .sh-logo {
  height: 1em;
  width: auto;
  flex-shrink: 0;
  display: block;
}

.block-stories-header-v1 .sh-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1em;
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  line-height: 1.05;
  margin: 0;
}
.dark .block-stories-header-v1 .sh-title {
  color: var(--color-white, #FFFFFF);
}

.block-stories-header-v1 .sh-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
  max-width: 680px;
}
.dark .block-stories-header-v1 .sh-desc {
  color: rgba(255, 255, 255, 0.6);
}

.block-stories-header-v1 .sh-card {
  display: block;
  position: relative;
  background: none;
}

.block-stories-header-v1 .sh-card-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.block-stories-header-v1 .sh-card-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
  z-index: 1;
}
.block-stories-header-v1 .sh-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity 1.4s ease, transform 0.4s ease;
}
.block-stories-header-v1 .sh-card-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.block-stories-header-v1.is-visible .sh-card-img {
  opacity: 1;
}
.block-stories-header-v1 .sh-card:hover .sh-card-img {
  transform: scale(1.04);
}
.block-stories-header-v1 .sh-card-title-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.block-stories-header-v1 .sh-card-title-link:hover .sh-card-title {
  opacity: 0.82;
}
.block-stories-header-v1 .sh-card-title-link:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 4px;
  border-radius: 2px;
}

.block-stories-header-v1 .sh-card-read-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1rem;
  color: var(--color-white, #FFFFFF);
  text-decoration: none;
  transition: color 0.2s;
  cursor: pointer;
}
.block-stories-header-v1 .sh-card-read-more:hover {
  color: rgba(255, 255, 255, 0.5);
}
.block-stories-header-v1 .sh-card-read-more svg {
  transition: transform 0.2s;
  flex-shrink: 0;
}
.block-stories-header-v1 .sh-card-read-more:hover svg {
  transform: translateX(3px);
}
.block-stories-header-v1 .sh-card-read-more:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 2px;
  border-radius: 2px;
}

.block-stories-header-v1 .sh-card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 80px 0 32px;
  background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.42) 38%, rgba(0,0,0,0.7) 68%);
  opacity: 0;
  transition: opacity 0.9s ease 0.6s;
}
.block-stories-header-v1.is-visible .sh-card-body {
  opacity: 1;
}
.block-stories-header-v1 .sh-card-body-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.block-stories-header-v1 .sh-card-category {
  display: none;
  align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 8px;
  padding: 4px 10px;
  line-height: 1.4;
}
.block-stories-header-v1 .sh-card-category:not(:empty) {
  display: inline-block;
}

.block-stories-header-v1 .sh-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  line-height: 1.2;
  margin: 0;
}

.block-stories-header-v1 .sh-card-date {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}

/* Title row — full-width gradient at top of hero */
.block-stories-header-v1 .sh-card-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
  pointer-events: none;
}

.block-stories-header-v1 .sh-card-top-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 24px 100px;
}

.block-stories-header-v1 .sh-card-heading {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  line-height: 1;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .block-stories-header-v1 .sh-sticky-inner { padding: 0 48px; }
  .block-stories-header-v1 .sh-mega-content { padding: 16px 48px 20px; }
  .block-stories-header-v1 .sh-card-body { padding: 100px 0 40px; }
  .block-stories-header-v1 .sh-card-body-inner { padding: 0 48px; }
  .block-stories-header-v1 .sh-card-top-inner { padding: 32px 48px 120px; }
}

@media (min-width: 1024px) {
  .block-stories-header-v1 .sh-sticky-inner { padding: 0 80px; }
  .block-stories-header-v1 .sh-mega-content { padding: 16px 80px 20px; }
  .block-stories-header-v1 .sh-card-body { padding: 120px 0 48px; }
  .block-stories-header-v1 .sh-card-body-inner { padding: 0 80px; }
  .block-stories-header-v1 .sh-card-top-inner { padding: 40px 80px 140px; }
}
/* ── Story Gallery (block-story-gallery-v1) ─────────────────── */

.block-story-gallery-v1 {
  --sg-slide-width: calc(100vw - 48px);
  --sg-track-gap: 16px;
  --sg-track-gutter: 24px;
  background: var(--color-white, #FFFFFF);
}
.dark .block-story-gallery-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-gallery-v1 .sg-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

/* ── Carousel ── */

.block-story-gallery-v1 .sg-carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-story-gallery-v1 .sg-track {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--sg-track-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: none;
  touch-action: auto;
  padding: 16px 0 16px var(--sg-track-gutter);
  margin: 0;
}
.block-story-gallery-v1 .sg-track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--sg-track-gutter) - var(--sg-track-gap)));
}
.block-story-gallery-v1 .sg-track::-webkit-scrollbar { display: none; }

.block-story-gallery-v1 .sg-slide {
  flex: 0 0 var(--sg-slide-width);
  scroll-snap-align: center;
  margin: 0;
}
.block-story-gallery-v1.sg-js-ready .sg-slide {
  transform-origin: center center;
  will-change: transform;
}

@media (min-width: 860px) {
  .block-story-gallery-v1 {
    --sg-slide-width: 812px;
    --sg-track-gap: 32px;
    --sg-track-gutter: max(24px, calc(50vw - 406px));
  }
}

/* ── Image ── */

.block-story-gallery-v1 .sg-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-story-gallery-v1 .sg-img-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.block-story-gallery-v1 .sg-img-wrap.sg-can-lightbox { cursor: zoom-in; }

.block-story-gallery-v1 .sg-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-story-gallery-v1 .sg-img-wrap.sg-portrait .sg-bg { display: block; }

.block-story-gallery-v1 .sg-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-story-gallery-v1 .sg-img-wrap.sg-portrait .sg-img { object-fit: contain; }

/* ── Inactive slide dim overlay ── */

.block-story-gallery-v1 .sg-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  -webkit-backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
/* overlay fades in on non-active slides only after JS is ready */
.block-story-gallery-v1.sg-js-ready .sg-slide:not(.sg-active) .sg-img-wrap::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .block-story-gallery-v1 .sg-img-wrap::after { transition: none; }
}

/* ── Lightbox ── */

.block-story-gallery-v1 .sg-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 64px 16px 24px;
}
.block-story-gallery-v1 .sg-lightbox.sg-lb-open { display: flex; }

.block-story-gallery-v1 .sg-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: sg-lb-in 0.2s ease;
}
@keyframes sg-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-story-gallery-v1 .sg-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: calc(100vh - 88px);
  animation: sg-lb-up 0.2s ease;
}
@keyframes sg-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-story-gallery-v1 .sg-lb-img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 88px);
  border-radius: 8px;
  object-fit: contain;
}

.block-story-gallery-v1 .sg-lb-close {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 0.15s ease, opacity 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .block-story-gallery-v1 .sg-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
}
.block-story-gallery-v1 .sg-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

.block-story-gallery-v1 .sg-lb-close {
  position: absolute;
  top: calc(16px + env(safe-area-inset-top, 0px));
  right: calc(16px + env(safe-area-inset-right, 0px));
  z-index: 3;
  width: 44px;
  height: 44px;
}

.block-story-gallery-v1 .sg-lb-nav { display: none; }

/* ── Caption ── */

.block-story-gallery-v1 .sg-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-story-gallery-v1 .sg-desc {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-story-gallery-v1 .sg-desc p { margin: 0 0 6px; }
.block-story-gallery-v1 .sg-desc p:last-child { margin-bottom: 0; }
.block-story-gallery-v1 .sg-desc a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-story-gallery-v1 .sg-desc a { color: var(--color-accent-dark); }
.block-story-gallery-v1 .sg-desc a:hover { text-decoration: none; }

/* ── Navigation (same style as 8-step) ── */

.block-story-gallery-v1 .sg-nav {
  position: relative;
  z-index: 10;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
  touch-action: auto;
}

.block-story-gallery-v1 .sg-progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
  padding: 0 14px;
  overflow: hidden;
}
.dark .block-story-gallery-v1 .sg-progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-story-gallery-v1 .sg-progress-fill {
  flex: 1;
  height: 4px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
  min-width: 0;
  position: relative;
  overflow: hidden;
}
.dark .block-story-gallery-v1 .sg-progress-fill {
  background: rgba(255, 255, 255, 0.18);
}
.block-story-gallery-v1 .sg-progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, rgb(45, 106, 79));
  transform-origin: left center;
  transform: scaleX(var(--sg-p, 0));
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.dark .block-story-gallery-v1 .sg-progress-fill::after {
  background: var(--color-accent-dark, #47B27A);
}
@media (prefers-reduced-motion: reduce) {
  .block-story-gallery-v1 .sg-progress-fill::after { transition: none; }
}

.block-story-gallery-v1 .sg-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s, opacity 0.15s;
  flex-shrink: 0;
}
.block-story-gallery-v1 .sg-btn:hover:not(:disabled) { background: rgba(0, 0, 0, 0.12); }
.block-story-gallery-v1 .sg-btn:disabled { opacity: 0.4; cursor: default; }
.dark .block-story-gallery-v1 .sg-btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}
.dark .block-story-gallery-v1 .sg-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.16); }
.block-story-gallery-v1 .sg-btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 2px;
}
.dark .block-story-gallery-v1 .sg-btn:focus-visible {
  outline-color: var(--color-accent-dark, #47B27A);
}

@media (min-width: 768px) {
  .block-story-gallery-v1 .sg-progress { flex: none; width: 176px; }
}
/* ── Story Header v1 ─────────────────────────────────────────── */
.block-story-header-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-header-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-header-v1 .sh-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 32px 24px;
}

.block-story-header-v1 .sh-eyebrow {
  display: none;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px;
  padding: 4px 10px;
  margin: 0 0 12px;
}
.block-story-header-v1 .sh-eyebrow:not(:empty) { display: inline-block; }
.dark .block-story-header-v1 .sh-eyebrow {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
}

.block-story-header-v1 .sh-date {
  display: block;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(13px, 1.2vw, 15px);
  color: var(--color-grey-60, #737373);
  margin: 0 0 20px;
  line-height: 1.4;
}
.block-story-header-v1 .sh-date:empty { display: none; }
.dark .block-story-header-v1 .sh-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-story-header-v1 .sh-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-black, #333333);
  margin: 0 0 20px;
  letter-spacing: -0.01em;
}
.dark .block-story-header-v1 .sh-title { color: var(--color-text-dark, #f0f4f2); }

.block-story-header-v1 .sh-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0 0 32px;
}
.dark .block-story-header-v1 .sh-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-story-header-v1 .sh-share {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 24px;
  border-top: 1px solid var(--color-grey-20, #DCDCDC);
  flex-wrap: wrap;
}
.dark .block-story-header-v1 .sh-share { border-color: rgba(255,255,255,0.1); }

.block-story-header-v1 .sh-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--color-moss-green, #13735F);
  background: var(--color-white, #FFFFFF);
  color: var(--color-moss-green, #13735F);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  outline: none;
}
.block-story-header-v1 .sh-share-btn:hover,
.block-story-header-v1 .sh-share-btn:focus-visible {
  background: var(--color-forest-green, #004432);
  border-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}
.block-story-header-v1 .sh-share-btn:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 2px;
}
.dark .block-story-header-v1 .sh-share-btn {
  background: transparent;
  border-color: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.5);
}
.dark .block-story-header-v1 .sh-share-btn:hover,
.dark .block-story-header-v1 .sh-share-btn:focus-visible {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}
.block-story-header-v1 .sh-copy-btn.sh-copied {
  background: var(--color-mint-green, #47B27A);
  border-color: var(--color-mint-green, #47B27A);
  color: var(--color-forest-green, #004432);
}
.dark .block-story-header-v1 .sh-copy-btn.sh-copied {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}

@media (max-width: 767px) {
  .block-story-header-v1 .sh-inner { padding: 32px 16px; }
}
/* ── Story Image (block-story-image-v1) ───────────────────── */

.block-story-image-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-image-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-image-v1 .si-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

/* ── Image wrap ── */

.block-story-image-v1 .si-img-wrap {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-story-image-v1 .si-img-wrap { background: rgba(255, 255, 255, 0.08); }
.block-story-image-v1.si-has-lightbox .si-img-wrap { cursor: zoom-in; }

/* Blurred background shown only for portrait pictures */
.block-story-image-v1 .si-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-story-image-v1 .si-img-wrap.si-portrait .si-bg { display: block; }

.block-story-image-v1 .si-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-story-image-v1 .si-img-wrap.si-portrait .si-img { object-fit: contain; }

/* ── Placeholder ── */

.block-story-image-v1 .si-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-story-image-v1 .si-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

/* ── Zoom button — hidden unless lightbox is enabled ── */

.block-story-image-v1 .si-zoom-btn {
  display: none;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: zoom-in;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.block-story-image-v1.si-has-lightbox .si-zoom-btn { display: flex; }
.block-story-image-v1 .si-img-wrap:hover .si-zoom-btn,
.block-story-image-v1 .si-img-wrap:focus-within .si-zoom-btn { opacity: 1; }
@media (max-width: 767px) {
  .block-story-image-v1.si-has-lightbox .si-zoom-btn { opacity: 1; }
}
.block-story-image-v1 .si-zoom-btn:hover { background: rgba(0, 0, 0, 0.65); }
.block-story-image-v1 .si-zoom-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  opacity: 1;
}

/* ── Lightbox — hidden by default, shown via JS class ── */

.block-story-image-v1 .si-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.block-story-image-v1 .si-lightbox.si-lb-open { display: flex; }

.block-story-image-v1 .si-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: si-lb-in 0.2s ease;
}
@keyframes si-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-story-image-v1 .si-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  animation: si-lb-up 0.2s ease;
}
@keyframes si-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-story-image-v1 .si-lb-img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 8px;
  object-fit: contain;
}

.block-story-image-v1 .si-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.block-story-image-v1 .si-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
.block-story-image-v1 .si-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

/* ── Caption ── */

.block-story-image-v1 .si-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-story-image-v1 .si-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-story-image-v1 .si-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-story-image-v1 .si-caption a { color: var(--color-accent-dark); }
.block-story-image-v1 .si-caption a:hover { text-decoration: none; }

@media (max-width: 767px) {
  .block-story-image-v1 .si-inner { padding: 16px 24px; }
}
/* ── Story Titled Text (block-story-titled-text-v1) ──────────── */

.block-story-titled-text-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-titled-text-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-titled-text-v1 .stt-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

.block-story-titled-text-v1 .stt-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(24px, 3.5vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-black, #333333);
  margin: 0 0 20px;
  letter-spacing: -0.01em;
}
.dark .block-story-titled-text-v1 .stt-title { color: var(--color-text-dark, #f0f4f2); }

.block-story-titled-text-v1 .stt-body {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.75;
  color: var(--color-black, #333333);
}
.dark .block-story-titled-text-v1 .stt-body { color: var(--color-text-dark, #f0f4f2); }
.block-story-titled-text-v1 .stt-body p { margin: 0 0 16px; }
.block-story-titled-text-v1 .stt-body p:last-child { margin-bottom: 0; }
.block-story-titled-text-v1 .stt-body a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-story-titled-text-v1 .stt-body a { color: var(--color-accent-dark); }
.block-story-titled-text-v1 .stt-body a:hover { text-decoration: none; }

@media (max-width: 767px) {
  .block-story-titled-text-v1 .stt-inner { padding: 16px; }
}
/* ── Story Video (block-story-video-v1) ────────────────────── */

.block-story-video-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-video-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-video-v1 .sv-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-yt-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-yt-wrap {
  background: rgba(255, 255, 255, 0.08);
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-video-wrap {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  background: var(--color-grey-20, #DCDCDC);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-video-wrap {
  background: rgba(255, 255, 255, 0.08);
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

:is(.block-story-video-v1, [data-video-player="v1"]):not([data-src="true"]) .sv-yt-container { display: none; }
:is(.block-story-video-v1, [data-video-player="v1"])[data-src="true"] .sv-video-wrap,
:is(.block-story-video-v1, [data-video-player="v1"])[data-src="true"] .sv-placeholder { display: none; }

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-yt-container {
  position: relative;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-gate {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
  background: var(--color-forest-green, #004432);
  background-size: cover;
  background-position: center;
  text-align: center;
  isolation: isolate;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-gate::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  z-index: 0;
  pointer-events: none;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-text {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 1.55;
  color: var(--color-white);
  max-width: 480px;
  margin: 0;
  position: relative;
  z-index: 1;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-btn {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border-radius: 100px;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  background: transparent;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  touch-action: manipulation;
  position: relative;
  z-index: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: var(--color-white, #FFFFFF);
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-btn:focus-visible {
  outline: 3px solid var(--color-mint-green, #47B27A);
  outline-offset: 4px;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-icon {
  flex-shrink: 0;
}


:is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption a { color: var(--color-accent-dark); }
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption a:hover { text-decoration: none; }

/* Revoke YouTube consent */
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-wrap {
  padding: 6px 0 0;
  text-align: right;
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(10px, 1.1vw, 11px);
  color: var(--color-grey-60, #666666);
  background: none;
  border: none;
  padding: 2px 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn {
  color: rgba(255, 255, 255, 0.3);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn:hover {
  color: var(--color-forest-green, #004432);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn:hover {
  color: rgba(255, 255, 255, 0.65);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn:focus-visible {
  outline: 2px solid #47b27a;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Lights-out button */
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-inner {
  position: relative;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.42);
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.block-story-video-v1 .sv-lights-btn {
  top: 24px;
  right: 32px;
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn:hover {
  background: rgba(0, 0, 0, 0.65);
  color: var(--color-white);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn:focus-visible {
  outline: 3px solid #47b27a;
  outline-offset: 3px;
}
/* Cinema mode: video player punches through overlay, button floats above */
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-yt-container,
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-video-wrap {
  position: relative;
  z-index: 9992;
  border-radius: 8px;
  overflow: hidden;
}
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-lights-btn {
  z-index: 9993;
  background: rgba(2, 10, 4, 0.85);
  color: #c6f080;
  border-color: rgba(198, 240, 128, 0.3);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn .sv-lb-off { display: block; }
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn .sv-lb-on  { display: none; }
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-lights-btn .sv-lb-off { display: none; }
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-lights-btn .sv-lb-on  { display: block; }

/* Overlay injected into body by JS */
.sv-lights-overlay {
  position: fixed;
  inset: 0;
  z-index: 9990;
  background: rgba(2, 10, 4, 0.92);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.sv-lights-forest {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
}

.sv-lights-canopy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(160px, 24vh, 270px);
  display: block;
}

@keyframes sv-fly-glow {
  0%, 100% { opacity: 0.15; box-shadow: 0 0 4px 2px rgba(160, 240, 100, 0.25); }
  50%       { opacity: 0.9;  box-shadow: 0 0 8px 4px rgba(190, 255, 130, 0.7); }
}
@keyframes sv-fly-float {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(var(--fly-dx), calc(var(--fly-dy) * 0.5)); }
  66%  { transform: translate(calc(var(--fly-dx) * -0.3), var(--fly-dy)); }
  100% { transform: translate(0, 0); }
}
.sv-lights-fly {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #c6f080;
  pointer-events: none;
  animation:
    sv-fly-glow var(--fly-glow, 2s) ease-in-out infinite,
    sv-fly-float var(--fly-float, 5s) ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .sv-lights-overlay { transition: none; }
  .sv-lights-fly { animation: none; opacity: 0.5; }
}

@media (max-width: 767px) {
  .block-story-video-v1 .sv-inner { padding: 16px; }
}
/* ── Table of Contents (block-table-of-contents-v1) ────────────── */

.block-table-of-contents-v1 {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  /* Reset <section> defaults so it doesn't affect page flow */
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  /* Panel retains physical size when hidden — block passthrough so it doesn't eat mobile taps */
  pointer-events: none;
}

.block-table-of-contents-v1 .wi-toc-panel {
  background: var(--color-white);
  border: 1px solid var(--color-grey-20);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: 16px;
  width: 280px;
  max-width: calc(100vw - 48px);
  max-height: 60vh;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(10px) scale(0.97);
  pointer-events: none;
  visibility: hidden;
  /* visibility delays: instant on open, waits for fade-out on close */
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}

.block-table-of-contents-v1 .wi-toc-panel.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0s;
}

@media (prefers-reduced-motion: reduce) {
  .block-table-of-contents-v1 .wi-toc-panel {
    transition: none;
  }
}

.block-table-of-contents-v1 .wi-toc-title {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-grey-60);
  margin: 0 0 12px 0;
}

.block-table-of-contents-v1 .wi-toc-title p {
  margin: 0;
  display: inline;
}

.block-table-of-contents-v1 .wi-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.block-table-of-contents-v1 .wi-toc-item { line-height: 1.4; }
.block-table-of-contents-v1 .wi-toc-h3 { padding-left: 12px; }
.block-table-of-contents-v1 .wi-toc-h4 { padding-left: 24px; }

.block-table-of-contents-v1 .wi-toc-link {
  font-family: var(--font-body);
  font-size: clamp(14px, 1vw, 15px);
  color: var(--color-grey-80);
  text-decoration: none;
  display: block;
  padding: 4px 8px;
  border-left: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
  cursor: pointer;
}

.block-table-of-contents-v1 .wi-toc-link:hover {
  color: var(--color-moss-green);
  background: var(--color-light-grey);
  border-radius: 0 6px 6px 0;
}

.block-table-of-contents-v1 .wi-toc-link.is-active {
  color: var(--color-forest-green);
  border-left-color: var(--color-mint-green);
  font-weight: 700;
}

.block-table-of-contents-v1 .wi-toc-link:focus-visible {
  outline: 2px solid var(--color-mint-green);
  outline-offset: 2px;
  border-radius: 0 4px 4px 0;
}

.block-table-of-contents-v1 .wi-toc-btn {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--color-forest-green);
  color: var(--color-white);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0, 68, 50, 0.25);
  transition: background 0.15s;
  flex-shrink: 0;
  pointer-events: auto;
}

.block-table-of-contents-v1 .wi-toc-btn:hover { background: var(--color-moss-green); }
.block-table-of-contents-v1 .wi-toc-btn:focus-visible {
  outline: 2px solid var(--color-mint-green);
  outline-offset: 2px;
}

.dark .block-table-of-contents-v1 .wi-toc-panel {
  background: var(--color-surface-dark);
  border-color: rgba(255, 255, 255, 0.1);
}

.dark .block-table-of-contents-v1 .wi-toc-title { color: var(--color-text-secondary-dark); }
.dark .block-table-of-contents-v1 .wi-toc-link { color: var(--color-text-secondary-dark); }
.dark .block-table-of-contents-v1 .wi-toc-link:hover { color: var(--color-accent-dark); background: rgba(255,255,255,0.05); }
.dark .block-table-of-contents-v1 .wi-toc-link.is-active { color: var(--color-text-dark); border-left-color: var(--color-mint-green); }
/* Team (block-team-v1) */

.block-team-v1 {
  --team-v1-bg: var(--color-white, #ffffff);
  background: var(--team-v1-bg);
  color: var(--color-black, #333333);
}

.block-team-v1[data-background-color="#FFFFFF"] {
  --team-v1-bg: var(--color-white, #ffffff);
}

.block-team-v1[data-background-color="#F7F7F7"] {
  --team-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-team-v1 {
  --team-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-team-v1 .team-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-team-v1 .team-v1__header {
  display: grid;
  gap: 24px;
  margin-bottom: 32px;
}

.block-team-v1 .team-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3, 46px));
  line-height: var(--text-h3--line-height, 1.15);
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__clamp-wrap {
  position: relative;
  min-width: 0;
}

.block-team-v1 .team-v1__description {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-black, #333333);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  line-clamp: 10;
}

.dark .block-team-v1 .team-v1__description {
  color: var(--color-text-dark, #f0f4f2);
}

.block-team-v1 .team-v1__description p,
.block-team-v1 .team-v1__bio p {
  margin: 0 0 16px;
}

.block-team-v1 .team-v1__description p:last-child,
.block-team-v1 .team-v1__bio p:last-child {
  margin-bottom: 0;
}

.block-team-v1 .team-v1__read-more {
  display: inline-flex;
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.block-team-v1 .team-v1__read-more:hover,
.block-team-v1 .team-v1__read-more:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-team-v1 .team-v1__read-more:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 3px;
}

.dark .block-team-v1 .team-v1__read-more {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-team-v1 .team-v1__read-more:hover,
.dark .block-team-v1 .team-v1__read-more:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-team-v1 .team-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-team-v1 .team-v1__member {
  min-width: 0;
}

.block-team-v1 .team-v1__avatar-link {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.block-team-v1 .team-v1__avatar,
.block-team-v1 .team-v1__avatar-placeholder {
  display: block;
  width: 144px;
  height: 144px;
  border-radius: 50%;
}

.block-team-v1 .team-v1__avatar {
  object-fit: cover;
  object-position: center;
  background: var(--color-grey-20, #dcdcdc);
}

.block-team-v1 .team-v1__avatar-placeholder {
  background: var(--color-light-grey, #f7f7f7);
  border: 1px solid var(--color-grey-20, #dcdcdc);
}

.dark .block-team-v1 .team-v1__avatar,
.dark .block-team-v1 .team-v1__avatar-placeholder {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}

.block-team-v1 .team-v1__name {
  margin: 24px 0 8px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__name {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__position {
  margin: 0 0 16px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__position {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__bio {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  line-clamp: 10;
}

.dark .block-team-v1 .team-v1__bio {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

.block-team-v1 .team-v1__sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.block-team-v1 .team-v1__sheet-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

.block-team-v1 .team-v1__sheet {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  max-height: 86vh;
  overflow: hidden;
  border-radius: 28px 28px 0 0;
  background: var(--color-light-grey, #f7f7f7);
  color: var(--color-black, #333333);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.12);
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1);
}

.block-team-v1 .team-v1__sheet.is-active {
  transform: translateY(0);
}

.block-team-v1 .team-v1__sheet.team-v1__sheet--dragging {
  transition: none;
}

.dark .block-team-v1 .team-v1__sheet {
  background: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.5);
}

.block-team-v1 .team-v1__sheet-handle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 0 6px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: grab;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
}

.block-team-v1 .team-v1__sheet-handle:active {
  cursor: grabbing;
}

.block-team-v1 .team-v1__sheet-handle:focus-visible {
  outline: none;
}

.block-team-v1 .team-v1__sheet-handle-bar {
  display: block;
  width: 44px;
  height: 5px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.24);
}

.block-team-v1 .team-v1__sheet-handle:focus-visible .team-v1__sheet-handle-bar {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 3px;
}

.dark .block-team-v1 .team-v1__sheet-handle-bar {
  background: rgba(255, 255, 255, 0.28);
}

.block-team-v1 .team-v1__sheet-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.block-team-v1 .team-v1__sheet-inner {
  display: grid;
  gap: 24px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 20px 24px 32px;
}

.block-team-v1 .team-v1__sheet--text-only .team-v1__sheet-inner {
  max-width: 840px;
}

.block-team-v1 .team-v1__sheet-main {
  min-width: 0;
}

.block-team-v1 .team-v1__sheet-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--color-white, #ffffff);
}

.dark .block-team-v1 .team-v1__sheet-media {
  background: rgba(255, 255, 255, 0.08);
}

.block-team-v1 .team-v1__sheet-avatar,
.block-team-v1 .team-v1__sheet-avatar-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.block-team-v1 .team-v1__sheet-avatar {
  object-fit: cover;
  object-position: center;
}

.block-team-v1 .team-v1__sheet-avatar-placeholder {
  border: 1px solid var(--color-grey-20, #dcdcdc);
  background: var(--color-white, #ffffff);
}

.dark .block-team-v1 .team-v1__sheet-avatar-placeholder {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
}

.block-team-v1 .team-v1__sheet-name {
  margin: 0 0 10px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(28px, calc(1.6vw + 22px), 46px);
  line-height: 1.2;
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__sheet-name {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__sheet-position {
  margin: 0 0 24px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color-forest-green, #004432);
}

.block-team-v1 .team-v1__sheet-position p {
  margin: 0 0 8px;
}

.block-team-v1 .team-v1__sheet-position p:last-child {
  margin-bottom: 0;
}

.dark .block-team-v1 .team-v1__sheet-position {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__sheet-bio {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.7;
  color: var(--color-grey-80, #4d4d4d);
}

.block-team-v1 .team-v1__sheet-bio p {
  margin: 0 0 16px;
}

.block-team-v1 .team-v1__sheet-bio p:last-child {
  margin-bottom: 0;
}

.dark .block-team-v1 .team-v1__sheet-bio {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

.block-team-v1 .team-v1__sheet-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  padding: 14px 24px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.dark .block-team-v1 .team-v1__sheet-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.block-team-v1 .team-v1__sheet-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  color: var(--color-forest-green, #004432);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.block-team-v1 .team-v1__sheet-close:hover,
.block-team-v1 .team-v1__sheet-close:focus-visible {
  background: rgba(0, 0, 0, 0.15);
  transform: scale(1.08);
}

.block-team-v1 .team-v1__sheet-close:focus-visible {
  outline: 3px solid var(--color-mint-green, #47b27a);
  outline-offset: 3px;
}

.dark .block-team-v1 .team-v1__sheet-close {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-team-v1 .team-v1__sheet-close:hover,
.dark .block-team-v1 .team-v1__sheet-close:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.block-team-v1 .team-v1__cta-row {
  display: flex;
  justify-content: flex-start;
  margin-top: 32px;
}

.block-team-v1 .team-v1__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid var(--color-moss-green, #13735f);
  border-radius: 999px;
  background: transparent;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.block-team-v1 .team-v1__cta:hover,
.block-team-v1 .team-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  border-color: transparent;
  color: var(--color-white, #ffffff);
}

.block-team-v1 .team-v1__cta:focus-visible {
  outline: 3px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-team-v1 .team-v1__cta-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-team-v1 .team-v1__cta:hover .team-v1__cta-icon,
.block-team-v1 .team-v1__cta:focus-visible .team-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-team-v1 .team-v1__cta {
  background: transparent;
  border-color: var(--color-accent-dark, #47b27a);
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-team-v1 .team-v1__cta:hover,
.dark .block-team-v1 .team-v1__cta:focus-visible {
  background: var(--color-accent-dark, #47b27a);
  border-color: transparent;
  color: var(--color-bg-dark, #0f1a14);
}

@media (min-width: 768px) {
  .block-team-v1 .team-v1__inner {
    padding: 64px 48px;
  }

  .block-team-v1 .team-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 48px;
  }

  .block-team-v1 .team-v1__avatar,
  .block-team-v1 .team-v1__avatar-placeholder {
    width: 168px;
    height: 168px;
  }

  .block-team-v1 .team-v1__sheet-handle {
    display: none;
  }

  .block-team-v1 .team-v1__sheet-inner {
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas:
      "media name"
      "media position"
      "bio bio";
    column-gap: 24px;
    row-gap: 4px;
    padding: 48px 48px 36px;
  }

  .block-team-v1 .team-v1__sheet-main {
    display: contents;
  }

  .block-team-v1 .team-v1__sheet--text-only .team-v1__sheet-inner {
    display: block;
  }

  .block-team-v1 .team-v1__sheet--text-only .team-v1__sheet-main {
    display: block;
  }

  .block-team-v1 .team-v1__sheet-media {
    grid-area: media;
    width: 96px;
    height: 96px;
  }

  .block-team-v1 .team-v1__sheet-name {
    grid-area: name;
    align-self: end;
    margin-bottom: 4px;
  }

  .block-team-v1 .team-v1__sheet-position {
    grid-area: position;
    align-self: start;
    margin-bottom: 0;
  }

  .block-team-v1 .team-v1__sheet-bio {
    grid-area: bio;
    margin-top: 20px;
  }

  .block-team-v1 .team-v1__cta-row {
    margin-top: 64px;
  }
}

@media (min-width: 1024px) {
  .block-team-v1 .team-v1__inner {
    padding: 64px 80px;
  }

  .block-team-v1 .team-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    margin-bottom: 48px;
  }

  .block-team-v1 .team-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-team-v1 .team-v1__description-wrap {
    grid-column: 7 / span 6;
  }

  .block-team-v1 .team-v1__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .block-team-v1 .team-v1__sheet-inner {
    padding: 56px 80px 40px;
  }

  .block-team-v1 .team-v1__cta-row {
    justify-content: flex-end;
  }

  .block-team-v1 .team-v1__cta {
    font-size: 18px;
  }
}
/* ── Text (block-text-v1) ──────────────────────────────────────── */

.block-text-v1 {
  background-color: var(--color-white);
}

.dark .block-text-v1 {
  background-color: var(--color-bg-dark);
}

.block-text-v1 .text-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-text-v1 .text-content {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(16px, calc(0.5vw + 14.4px), var(--text-body));
  line-height: var(--text-body--line-height);
  color: var(--color-black);
}

.dark .block-text-v1 .text-content {
  color: var(--color-text-dark);
}

.block-text-v1 .text-content p {
  margin: 0 0 16px;
}

.block-text-v1 .text-content p:last-child {
  margin-bottom: 0;
}

.block-text-v1 .text-content a {
  color: var(--color-moss-green);
  font-weight: 600;
  text-decoration: underline;
}

.dark .block-text-v1 .text-content a {
  color: var(--color-accent-dark);
}

.block-text-v1 .text-content a:hover {
  text-decoration: none;
}

.block-text-v1 .text-content strong {
  font-weight: 700;
}

.block-text-v1 .text-content ul,
.block-text-v1 .text-content ol {
  padding-left: 1.4em;
  margin: 0 0 16px;
}

.block-text-v1 .text-content li {
  margin-bottom: 8px;
}

/* Tablet */
@media (min-width: 768px) {
  .block-text-v1 .text-inner {
    padding: 64px 48px;
  }
}

/* Desktop — body skips first 4 of 12 cols (mirrors titled-text body) */
@media (min-width: 1024px) {
  .block-text-v1 .text-inner {
    padding: 64px 80px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
  }

  .block-text-v1 .text-content {
    grid-column: 5 / -1;
  }
}
/* Timeline (block-timeline-v1) */

.block-timeline-v1 {
  --timeline-v1-bg: var(--color-white, #ffffff);
  --timeline-v1-progress: var(--color-moss-green, #13735f);
  background: var(--timeline-v1-bg);
  color: var(--color-black, #333333);
}

.block-timeline-v1[data-background-color="#FFFFFF"] {
  --timeline-v1-bg: var(--color-white, #ffffff);
}

.block-timeline-v1[data-background-color="#F7F7F7"] {
  --timeline-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-timeline-v1 {
  --timeline-v1-bg: var(--color-bg-dark, #0f1a14);
  background: var(--timeline-v1-bg) !important;
  color: var(--color-text-dark, #f0f4f2);
}

.block-timeline-v1 .timeline-v1__inner {
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  box-sizing: border-box;
}

.block-timeline-v1 .timeline-v1__content {
  display: flex;
  min-width: 0;
  margin-bottom: 40px;
  align-items: flex-start;
}

.block-timeline-v1 .timeline-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.dark .block-timeline-v1 .timeline-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-timeline-v1 .timeline-v1__headline p,
.block-timeline-v1 .timeline-v1__title p {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-timeline-v1 .timeline-v1__list-column {
  display: flex;
  min-width: 0;
  align-items: flex-start;
}

.block-timeline-v1 .timeline-v1__list {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  counter-reset: timeline-v1-step;
  list-style: none;
}

.block-timeline-v1 .timeline-v1__item {
  position: relative;
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 0 0 40px;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  column-gap: 20px;
  counter-increment: timeline-v1-step;
}

.block-timeline-v1 .timeline-v1__item:last-child {
  padding-bottom: 0;
}

.block-timeline-v1 .timeline-v1__item:not(:last-child)::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 48px;
  bottom: 0;
  left: 23px;
  width: 2px;
  opacity: 0;
  background: var(--timeline-v1-progress);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 800ms linear;
}

.block-timeline-v1 .timeline-v1__item.is-line-drawing:not(:last-child)::after {
  opacity: 1;
  transform: scaleY(1);
}

.block-timeline-v1 .timeline-v1__marker {
  position: relative;
  z-index: 1;
  display: block;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
}

.block-timeline-v1 .timeline-v1__marker-core {
  position: absolute;
  z-index: 1;
  top: 4px;
  left: 4px;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 2px solid var(--timeline-v1-progress);
  border-radius: 50%;
  background: var(--color-white, #ffffff);
  color: var(--timeline-v1-progress);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 300ms ease, color 300ms ease;
}

.block-timeline-v1 .timeline-v1__marker-core::before {
  content: counter(timeline-v1-step);
}

.block-timeline-v1 .timeline-v1__marker-ring {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 48px;
  height: 48px;
  opacity: 0;
  overflow: visible;
  pointer-events: none;
  transform: rotate(-90deg);
}

.block-timeline-v1 .timeline-v1__marker-ring-circle {
  fill: none;
  stroke: var(--timeline-v1-progress);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 100 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 700ms ease-in-out;
}

.block-timeline-v1 .timeline-v1__item.is-ring-drawing .timeline-v1__marker-ring,
.block-timeline-v1 .timeline-v1__item.is-active .timeline-v1__marker-ring {
  opacity: 1;
}

.block-timeline-v1 .timeline-v1__item.is-ring-drawing .timeline-v1__marker-ring-circle,
.block-timeline-v1 .timeline-v1__item.is-active .timeline-v1__marker-ring-circle {
  stroke-dashoffset: 0;
}

.block-timeline-v1 .timeline-v1__item.is-active .timeline-v1__marker-core {
  background: var(--timeline-v1-progress);
  color: var(--color-white, #ffffff);
}

.block-timeline-v1 .timeline-v1__item-content {
  min-width: 0;
  padding-top: 8px;
}

.block-timeline-v1 .timeline-v1__title {
  margin: 0;
  color: var(--color-black, #333333);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(22px, calc(0.5vw + 20px), 26px);
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dark .block-timeline-v1 .timeline-v1__title {
  color: var(--color-text-dark, #f0f4f2);
}

.block-timeline-v1 .timeline-v1__body {
  min-width: 0;
  margin-top: 10px;
  color: var(--color-black, #333333);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.block-timeline-v1 .timeline-v1__body.is-visually-empty,
.block-timeline-v1 .timeline-v1__body:empty,
.block-timeline-v1 .timeline-v1__body:has(> p:only-child:empty) {
  display: none;
  margin-top: 0;
}

.dark .block-timeline-v1 .timeline-v1__body {
  color: var(--color-text-dark, #f0f4f2);
}

.block-timeline-v1 .timeline-v1__body p,
.block-timeline-v1 .timeline-v1__body ul,
.block-timeline-v1 .timeline-v1__body ol,
.block-timeline-v1 .timeline-v1__body blockquote {
  margin: 0 0 16px;
}

.block-timeline-v1 .timeline-v1__body ul,
.block-timeline-v1 .timeline-v1__body ol {
  padding-left: 1.4em;
}

.block-timeline-v1 .timeline-v1__body li {
  margin-bottom: 8px;
}

.block-timeline-v1 .timeline-v1__body > :first-child {
  margin-top: 0;
}

.block-timeline-v1 .timeline-v1__body > :last-child,
.block-timeline-v1 .timeline-v1__body li:last-child {
  margin-bottom: 0;
}

.block-timeline-v1 .timeline-v1__body strong,
.block-timeline-v1 .timeline-v1__body b {
  color: inherit;
  font-weight: 700;
}

.block-timeline-v1 .timeline-v1__body a {
  color: var(--color-moss-green, #13735f);
  font-weight: 700;
  text-decoration: underline;
}

.block-timeline-v1 .timeline-v1__body a:hover {
  text-decoration: none;
}

.block-timeline-v1 .timeline-v1__body a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

.dark .block-timeline-v1 .timeline-v1__body a {
  color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-timeline-v1 .timeline-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-timeline-v1 .timeline-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0 80px;
    align-items: stretch;
    gap: 0 32px;
  }

  .block-timeline-v1 .timeline-v1__content {
    grid-column: 1 / 5;
    margin-bottom: 0;
    padding: 64px 0;
  }

  .block-timeline-v1 .timeline-v1__list-column {
    grid-column: 5 / -1;
    padding: 64px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-timeline-v1 .timeline-v1__marker-ring-circle,
  .block-timeline-v1 .timeline-v1__marker-core,
  .block-timeline-v1 .timeline-v1__item:not(:last-child)::after {
    transition: none;
  }
}
/* ── Title (block-title-v1) ────────────────────────────────────── */

.block-title-v1 {
  background-color: var(--color-white);
}

.dark .block-title-v1 {
  background-color: var(--color-bg-dark);
}

.block-title-v1 .title-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-title-v1 .title-inner.title-align-left  { text-align: left; }
.block-title-v1 .title-inner.title-align-center { text-align: center; }
.block-title-v1 .title-inner.title-align-right  { text-align: right; }

.block-title-v1 .title-text {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-forest-green);
  margin: 0;
}

.dark .block-title-v1 .title-text {
  color: var(--color-accent-dark);
}

/* Tablet */
@media (min-width: 768px) {
  .block-title-v1 .title-inner {
    padding: 64px 48px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-title-v1 .title-inner {
    padding: 64px 80px;
  }
}
/* ── Titled Text (block-titled-text-v1) ────────────────────────── */

.block-titled-text-v1 {
  background-color: var(--color-white);
}

.dark .block-titled-text-v1 {
  background-color: var(--color-bg-dark);
}

.block-titled-text-v1 .titled-text-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-titled-text-v1 .titled-text-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-forest-green);
  margin: 0 0 24px;
}

.dark .block-titled-text-v1 .titled-text-title {
  color: var(--color-accent-dark);
}

.block-titled-text-v1 .titled-text-body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--text-body--line-height);
  color: var(--color-black);
}

.dark .block-titled-text-v1 .titled-text-body {
  color: var(--color-text-dark);
}

.block-titled-text-v1 .titled-text-body p {
  margin: 0 0 16px;
}

.block-titled-text-v1 .titled-text-body p:last-child {
  margin-bottom: 0;
}

.block-titled-text-v1 .titled-text-body a {
  color: var(--color-moss-green);
  font-weight: 600;
  text-decoration: underline;
}

.dark .block-titled-text-v1 .titled-text-body a {
  color: var(--color-accent-dark);
}

.block-titled-text-v1 .titled-text-body a:hover {
  text-decoration: none;
}

.block-titled-text-v1 .titled-text-body strong {
  font-weight: 700;
}

.block-titled-text-v1 .titled-text-body ul,
.block-titled-text-v1 .titled-text-body ol {
  padding-left: 1.4em;
  margin: 0 0 16px;
}

.block-titled-text-v1 .titled-text-body li {
  margin-bottom: 8px;
}

/* Tablet */
@media (min-width: 768px) {
  .block-titled-text-v1 .titled-text-inner {
    padding: 64px 48px;
  }
}

/* Desktop — title full-width, body skips first 4 of 12 cols */
@media (min-width: 1024px) {
  .block-titled-text-v1 .titled-text-inner {
    padding: 64px 80px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    row-gap: 32px;
  }

  .block-titled-text-v1 .titled-text-title {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .block-titled-text-v1 .titled-text-body {
    grid-column: 5 / -1;
  }
}


/* all-stories-v1 */
/* ── All Stories (block-all-stories-v1) ──────────────────── */

.block-all-stories-v1 { background: var(--color-light-grey, #F7F7F7); }
.dark .block-all-stories-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-all-stories-v1 .as-search-bar {
  background: var(--color-moss-green, #13735F);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.block-all-stories-v1 .as-search-inner {
  max-width: 1440px; margin: 0 auto; padding: 0 24px;
  height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
}

.block-all-stories-v1 .as-search-title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 15px; font-weight: 700; line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.block-all-stories-v1 .as-search-toggle {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; padding: 0 4px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px; cursor: pointer; transition: color 0.15s;
}
.block-all-stories-v1 .as-search-toggle:hover { color: var(--color-white, #FFFFFF); }

.block-all-stories-v1 .as-mega-panel {
  overflow: hidden; height: 0; opacity: 0; pointer-events: none;
  transition: height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease;
  background: var(--color-moss-green, #13735F);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.block-all-stories-v1 .as-mega-panel.is-open { opacity: 1; pointer-events: auto; }

.block-all-stories-v1 .as-mega-content {
  max-width: 860px; margin: 0 auto; padding: 16px 24px 20px;
  display: flex; flex-direction: column; gap: 14px;
}

.block-all-stories-v1 .as-mega-row {
  display: flex; align-items: center; gap: 10px; width: 100%;
  max-width: 640px; margin: 0 auto;
}

.block-all-stories-v1 .as-mega-icon { color: rgba(255, 255, 255, 0.7); flex-shrink: 0; }

.block-all-stories-v1 .as-mega-input {
  background: none; border: none; outline: none; flex: 1;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
}
.block-all-stories-v1 .as-mega-input::placeholder { color: rgba(255, 255, 255, 0.55); }

.block-all-stories-v1 .as-mega-close {
  background: none; border: none; color: rgba(255, 255, 255, 0.7);
  cursor: pointer; padding: 4px; flex-shrink: 0; transition: color 0.15s;
}
.block-all-stories-v1 .as-mega-close:hover { color: var(--color-white, #FFFFFF); }

.block-all-stories-v1 .as-mega-categories {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;
}

.block-all-stories-v1 .as-mega-cat {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 22px; padding: 5px 14px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  cursor: pointer; transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.block-all-stories-v1 .as-mega-cat:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white, #FFFFFF);
}
.block-all-stories-v1 .as-mega-cat.is-active {
  background: var(--color-forest-green, #004432);
  border-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}

.block-all-stories-v1 .as-mega-filters {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px;
}

.block-all-stories-v1 .as-filter-drop {
  position: relative;
}
.block-all-stories-v1 .as-filter-btn {
  display: flex; align-items: center; gap: 6px;
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 8px;
  padding: 6px 10px 6px 12px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.8125rem; font-weight: 600;
  cursor: pointer; outline: none; white-space: nowrap;
  transition: background-color 0.15s, border-color 0.15s;
}
.block-all-stories-v1 .as-filter-btn:hover,
.block-all-stories-v1 .as-filter-drop.is-open .as-filter-btn {
  background-color: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.4);
}
.block-all-stories-v1 .as-filter-drop.has-value .as-filter-btn {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.55);
}
.block-all-stories-v1 .as-filter-chev {
  flex-shrink: 0; transition: transform 0.15s ease;
}
.block-all-stories-v1 .as-filter-drop.is-open .as-filter-chev {
  transform: rotate(180deg);
}
.block-all-stories-v1 .as-filter-list {
  display: none; position: absolute; top: calc(100% + 6px); left: 0;
  min-width: 140px; max-height: 240px; overflow-y: auto;
  background: var(--color-forest-green, #004432);
  border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px;
  padding: 4px 0; margin: 0; list-style: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  z-index: 100;
}
.block-all-stories-v1 .as-filter-drop.is-open .as-filter-list {
  display: block;
}
.block-all-stories-v1 .as-filter-list li {
  padding: 7px 14px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.8125rem; font-weight: 500;
  cursor: pointer; white-space: nowrap;
  transition: background-color 0.1s;
}
.block-all-stories-v1 .as-filter-list li:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-white, #FFFFFF);
}
.block-all-stories-v1 .as-filter-list li.is-active {
  color: var(--color-white, #FFFFFF); font-weight: 700;
  background-color: rgba(255, 255, 255, 0.15);
}

.block-all-stories-v1 .as-inner { max-width: 860px; margin: 0 auto; padding: 64px 24px; }
.block-all-stories-v1 .as-header { margin-bottom: 24px; }

.block-all-stories-v1 .as-title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}
.block-all-stories-v1 .as-title p { margin: 0; }
.dark .block-all-stories-v1 .as-title { color: var(--color-accent-dark, #47b27a); }

.block-all-stories-v1 .as-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6; color: var(--color-grey-80, #4D4D4D); margin: 16px 0 0;
}
.block-all-stories-v1 .as-desc p { margin: 0; }
.dark .block-all-stories-v1 .as-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-all-stories-v1 .as-no-results {
  font-family: var(--font-body, 'Lato', sans-serif);
  color: var(--color-grey-60, #737373); font-size: 16px;
  padding: 40px 0; text-align: center; display: none;
}
.dark .block-all-stories-v1 .as-no-results { color: rgba(255,255,255,0.4); }
.block-all-stories-v1 .as-no-results.is-visible { display: block; }

.block-all-stories-v1 .as-list { list-style: none; padding: 0; margin: 0; }
.block-all-stories-v1 .as-list li + li { border-top: 1px solid var(--color-grey-20, #DCDCDC); }
.dark .block-all-stories-v1 .as-list li + li { border-color: rgba(255,255,255,0.1); }

.block-all-stories-v1 .as-card {
  display: flex; flex-direction: row; align-items: flex-start; gap: 24px;
  padding: 24px 0; text-decoration: none; color: inherit; cursor: pointer;
}

.block-all-stories-v1 .as-card-img-wrap {
  flex-shrink: 0; width: 280px; aspect-ratio: 16 / 9;
  border-radius: 16px; overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-all-stories-v1 .as-card-img-wrap { background: rgba(255,255,255,0.06); }
.block-all-stories-v1 .as-card-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.45s ease;
}
.block-all-stories-v1 .as-card:hover .as-card-img { transform: scale(1.05); }

.block-all-stories-v1 .as-card-body {
  flex: 1; align-self: stretch; display: flex; flex-direction: column; gap: 6px; min-width: 0;
}

.block-all-stories-v1 .as-card-category {
  display: none; align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px; padding: 4px 10px;
}
.block-all-stories-v1 .as-card-category:not(:empty) { display: inline-block; }
.dark .block-all-stories-v1 .as-card-category {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
}

.block-all-stories-v1 .as-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700; line-height: 1.3;
  color: var(--color-black, #333333); margin: 0;
  transition: color 0.2s ease;
}
.dark .block-all-stories-v1 .as-card-title { color: var(--color-text-dark, #f0f4f2); }
.block-all-stories-v1 .as-card:hover .as-card-title { color: var(--color-forest-green, #004432); }
.dark .block-all-stories-v1 .as-card:hover .as-card-title { color: var(--color-accent-dark, #47B27A); }

.block-all-stories-v1 .as-card-seo {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0;
}
.dark .block-all-stories-v1 .as-card-seo { color: var(--color-text-secondary-dark, rgba(255,255,255,0.62)); }

.block-all-stories-v1 .as-card-date {
  display: block; margin-top: auto;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px; line-height: 1.4; color: var(--color-grey-60, #737373);
}
.dark .block-all-stories-v1 .as-card-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-all-stories-v1 .as-footer { margin-top: 48px; text-align: center; }
.block-all-stories-v1 .as-footer.is-hidden { display: none; }

.block-all-stories-v1 .as-load-more {
  display: inline-flex; align-items: center; gap: 10px;
  padding: .85rem 1.5rem; border-radius: 4rem;
  background-color: var(--color-white, #FFFFFF);
  border: 1px solid var(--color-moss-green, #13735F);
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1.125rem; font-weight: 600; line-height: 1em;
  cursor: pointer; transition: .16s ease-in-out all;
}
.block-all-stories-v1 .as-load-more:hover,
.block-all-stories-v1 .as-load-more:focus-visible {
  background-color: var(--color-moss-green, #13735F);
  border-color: var(--color-moss-green, #13735F);
  color: var(--color-white, #FFFFFF);
}
.block-all-stories-v1 .as-load-more:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F); outline-offset: 4px;
}
.dark .block-all-stories-v1 .as-load-more {
  background-color: transparent;
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-accent-dark, #47B27A);
}
.dark .block-all-stories-v1 .as-load-more:hover,
.dark .block-all-stories-v1 .as-load-more:focus-visible {
  background-color: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}

.block-all-stories-v1.as-animate .as-header { opacity: 0; transition: opacity 0.7s ease; }
.block-all-stories-v1.as-animate .as-header.as-visible { opacity: 1; }
.block-all-stories-v1.as-animate .as-card { opacity: 0; transform: translateX(-8px); transition: opacity 0.5s ease, transform 0.5s ease; }
.block-all-stories-v1.as-animate .as-card.as-visible { opacity: 1; transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .block-all-stories-v1.as-animate .as-header,
  .block-all-stories-v1.as-animate .as-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (min-width: 768px) {
  .block-all-stories-v1 .as-search-inner { padding: 0 48px; }
  .block-all-stories-v1 .as-mega-content { padding: 16px 48px 20px; }
  .block-all-stories-v1 .as-title { font-size: 40px; }
}

@media (min-width: 1024px) {
  .block-all-stories-v1 .as-search-inner { padding: 0 80px; }
  .block-all-stories-v1 .as-mega-content { padding: 16px 80px 20px; }
  .block-all-stories-v1 .as-header { margin-bottom: 40px; }
  .block-all-stories-v1 .as-title { font-size: 46px; }
}

@media (max-width: 767px) {
  .block-all-stories-v1 .as-inner { padding: 48px 24px; }
  .block-all-stories-v1 .as-card { flex-direction: column; gap: 12px; }
  .block-all-stories-v1 .as-card-img-wrap { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 16px; }
  .block-all-stories-v1 .as-mega-categories,
  .block-all-stories-v1 .as-mega-filters { gap: 6px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-all-stories-v1 .as-card-img-wrap { width: 280px; }
}


/* card-timeline-cta-v1 */
/* Card Timeline CTA (block-card-timeline-cta-v1) */

.block-card-timeline-cta-v1 {
  --card-timeline-cta-v1-bg: var(--color-light-grey, #f7f7f7);
  --card-timeline-cta-v1-slide-width: calc(100vw - 96px);
  --card-timeline-cta-v1-track-gap: 24px;
  --card-timeline-cta-v1-track-gutter: 24px;
  overflow: hidden;
  background: var(--card-timeline-cta-v1-bg);
  color: var(--color-black, #333333);
}

.block-card-timeline-cta-v1[data-background-color='#FFFFFF'] {
  --card-timeline-cta-v1-bg: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1[data-background-color='#F7F7F7'] {
  --card-timeline-cta-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-card-timeline-cta-v1 {
  --card-timeline-cta-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  box-sizing: border-box;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__header {
  max-width: 760px;
  margin-bottom: 40px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__headline p,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta-label p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__description {
  margin-top: 24px;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__description p {
  margin: 0 0 12px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__description p:last-child {
  margin-bottom: 0;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__carousel {
  width: 100vw;
  min-width: 0;
  margin-left: calc(50% - 50vw);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__track {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: var(--card-timeline-cta-v1-track-gap);
  width: 100%;
  margin: 0;
  padding: 0 0 0 var(--card-timeline-cta-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-padding-inline-start: var(--card-timeline-cta-v1-track-gutter);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
  list-style: none;
  box-sizing: border-box;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__track::after {
  content: '';
  flex: 0 0 max(
    0px,
    calc(100% - var(--card-timeline-cta-v1-slide-width) - var(--card-timeline-cta-v1-track-gap))
  );
}

.block-card-timeline-cta-v1.ctl-single-card .card-timeline-cta-v1__track {
  overflow-x: hidden;
}

.block-card-timeline-cta-v1.ctl-single-card .card-timeline-cta-v1__track::after {
  display: none;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__track::-webkit-scrollbar {
  display: none;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item {
  --card-timeline-cta-v1-card-bg: var(--color-moss-green, #13735f);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
  display: flex;
  flex: 0 0 var(--card-timeline-cta-v1-slide-width);
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='forest-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-forest-green, #004432);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='mint-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-mint-green, #47b27a);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='red'] {
  --card-timeline-cta-v1-card-bg: var(--color-red, #e52322);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='light-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-light-green, #8acbc1);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='corn-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-corn-green, #94c24a);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='yellow-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-yellow-green, #e6ce00);
  --card-timeline-cta-v1-card-copy: var(--color-black, #333333);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='moss-green'] {
  --card-timeline-cta-v1-card-bg: var(--color-moss-green, #13735f);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__item[data-card-color='dark-red'] {
  --card-timeline-cta-v1-card-bg: var(--color-dark-red, #861135);
  --card-timeline-cta-v1-card-copy: var(--color-white, #ffffff);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border-radius: 16px;
  background: var(--card-timeline-cta-v1-card-bg);
  color: var(--card-timeline-cta-v1-card-copy);
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__title {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__title p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body {
  margin-top: 16px;
  color: inherit;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body p {
  margin: 0 0 12px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body p:last-child {
  margin-bottom: 0;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body a,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__body strong,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__body b {
  color: inherit;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__body a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__nav {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 24px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__nav[hidden] {
  display: none;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__progress {
  display: flex;
  height: 40px;
  min-width: 0;
  flex: 1;
  align-items: center;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill {
  position: relative;
  height: 4px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--ctl-progress, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button {
  display: flex;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__button:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__button {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__button:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__footer {
  margin-top: 32px;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover,
.dark .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover .card-timeline-cta-v1__cta-icon,
.block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible .card-timeline-cta-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-card-timeline-cta-v1 {
    --card-timeline-cta-v1-slide-width: calc((100vw - 128px) / 2);
    --card-timeline-cta-v1-track-gap: 32px;
    --card-timeline-cta-v1-track-gutter: 48px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__inner {
    padding: 64px 48px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
    font-size: 40px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__card {
    padding: 32px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__title {
    font-size: 24px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress {
    width: 220px;
    flex: none;
  }
}

@media (min-width: 1024px) {
  .block-card-timeline-cta-v1 {
    --card-timeline-cta-v1-slide-width: min(405.3333px, calc((100vw - 224px) / 3));
    --card-timeline-cta-v1-track-gutter: max(80px, calc(50vw - 640px));
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__inner {
    padding: 64px 80px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__card {
    padding: 48px;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__headline {
    font-size: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__progress-fill::after,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__button,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta-icon {
    transition: none !important;
  }

  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:hover .card-timeline-cta-v1__cta-icon,
  .block-card-timeline-cta-v1 .card-timeline-cta-v1__cta:focus-visible .card-timeline-cta-v1__cta-icon {
    transform: none !important;
  }
}


/* center-picture-v1 */
/* ── Center Picture (block-center-picture-v1) ───────────────────── */

.block-center-picture-v1 {
  --center-picture-v1-bg: var(--color-white, #FFFFFF);
  --center-picture-v1-padding-top: 64px;
  --center-picture-v1-padding-bottom: 64px;
  background: var(--center-picture-v1-bg);
}

.block-center-picture-v1[data-background-color="#FFFFFF"] {
  --center-picture-v1-bg: var(--color-white, #FFFFFF);
}

.block-center-picture-v1[data-background-color="#F7F7F7"] {
  --center-picture-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-center-picture-v1 {
  --center-picture-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-center-picture-v1[data-padding-top="true"] {
  --center-picture-v1-padding-top: 64px;
}

.block-center-picture-v1[data-padding-top="false"] {
  --center-picture-v1-padding-top: 0px;
}

.block-center-picture-v1[data-padding-bottom="true"] {
  --center-picture-v1-padding-bottom: 64px;
}

.block-center-picture-v1[data-padding-bottom="false"] {
  --center-picture-v1-padding-bottom: 0px;
}

/* Outer: max 1440px centered with responsive padding */
.block-center-picture-v1 .cp-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--center-picture-v1-padding-top) 24px var(--center-picture-v1-padding-bottom);
}

/* Inner: full width, centered (picture spans full padded area) */
.block-center-picture-v1 .cp-inner {
  margin: 0 auto;
}

/* ── Picture wrap ── */

.block-center-picture-v1 .cp-img-wrap {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-center-picture-v1 .cp-img-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.block-center-picture-v1.cp-has-lightbox .cp-img-wrap { cursor: zoom-in; }

/* Blurred background shown only for portrait pictures */
.block-center-picture-v1 .cp-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-center-picture-v1 .cp-img-wrap.cp-portrait .cp-bg { display: block; }

.block-center-picture-v1 .cp-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-center-picture-v1 .cp-img-wrap.cp-portrait .cp-img { object-fit: contain; }

/* ── Placeholder ── */

.block-center-picture-v1 .cp-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-center-picture-v1 .cp-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

/* ── Zoom button — hidden unless lightbox is enabled ── */

.block-center-picture-v1 .cp-zoom-btn {
  display: none;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: zoom-in;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.block-center-picture-v1.cp-has-lightbox .cp-zoom-btn { display: flex; }
.block-center-picture-v1 .cp-img-wrap:hover .cp-zoom-btn,
.block-center-picture-v1 .cp-img-wrap:focus-within .cp-zoom-btn { opacity: 1; }
@media (max-width: 767px) {
  .block-center-picture-v1.cp-has-lightbox .cp-zoom-btn { opacity: 1; }
}
.block-center-picture-v1 .cp-zoom-btn:hover { background: rgba(0, 0, 0, 0.65); }
.block-center-picture-v1 .cp-zoom-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  opacity: 1;
}

/* ── Lightbox — hidden by default, shown via JS class ── */

.block-center-picture-v1 .cp-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.block-center-picture-v1 .cp-lightbox.cp-lb-open { display: flex; }

.block-center-picture-v1 .cp-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: cp-lb-in 0.2s ease;
}
@keyframes cp-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-center-picture-v1 .cp-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  animation: cp-lb-up 0.2s ease;
}
@keyframes cp-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-center-picture-v1 .cp-lb-img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 8px;
  object-fit: contain;
}

.block-center-picture-v1 .cp-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.block-center-picture-v1 .cp-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
.block-center-picture-v1 .cp-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

/* ── Caption ── */

.block-center-picture-v1 .cp-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-center-picture-v1 .cp-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-center-picture-v1 .cp-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-center-picture-v1 .cp-caption a { color: var(--color-accent-dark); }
.block-center-picture-v1 .cp-caption a:hover { text-decoration: none; }

@media (min-width: 768px) {
  .block-center-picture-v1 .cp-outer { padding-left: 48px; padding-right: 48px; }
}

@media (min-width: 1024px) {
  .block-center-picture-v1 .cp-outer {
    padding: var(--center-picture-v1-padding-top) 80px var(--center-picture-v1-padding-bottom);
  }
}


/* center-video-v1 */
/* ── Center Video (block-center-video-v1) ───────────────────── */

.block-center-video-v1 {
  --center-video-v1-bg: var(--color-white, #FFFFFF);
  --center-video-v1-padding-top: 64px;
  --center-video-v1-padding-bottom: 64px;
  background: var(--center-video-v1-bg);
}

.block-center-video-v1[data-background-color="#FFFFFF"] {
  --center-video-v1-bg: var(--color-white, #FFFFFF);
}

.block-center-video-v1[data-background-color="#F7F7F7"] {
  --center-video-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-center-video-v1 {
  --center-video-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-center-video-v1[data-padding-top="true"] {
  --center-video-v1-padding-top: 64px;
}

.block-center-video-v1[data-padding-top="false"] {
  --center-video-v1-padding-top: 0px;
}

.block-center-video-v1[data-padding-bottom="true"] {
  --center-video-v1-padding-bottom: 64px;
}

.block-center-video-v1[data-padding-bottom="false"] {
  --center-video-v1-padding-bottom: 0px;
}

.block-center-video-v1 .cv-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--center-video-v1-padding-top) 24px var(--center-video-v1-padding-bottom);
}

.block-center-video-v1 .sv-inner {
  margin: 0 auto;
}

/* The figure has no inner padding, so keep the cinema button 8px inside the frame. */
.block-center-video-v1 .sv-lights-btn {
  top: 8px;
  right: 8px;
}

@media (min-width: 768px) {
  .block-center-video-v1 .cv-outer {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (min-width: 1024px) {
  .block-center-video-v1 .cv-outer {
    padding: var(--center-video-v1-padding-top) 80px var(--center-video-v1-padding-bottom);
  }
}


/* contact-card-v1 */
/* Contact Card (block-contact-card-v1) */

.block-contact-card-v1 {
  --contact-card-v1-bg: var(--color-light-grey, #f7f7f7);
  --contact-card-v1-text: var(--color-black, #333333);
  --contact-card-v1-green: var(--color-forest-green, #004432);
  --contact-card-v1-link: var(--color-moss-green, #13735f);
  --contact-card-v1-muted: var(--color-grey-80, #4d4d4d);
  --contact-card-v1-panel: #f2f2f2;
  --contact-card-v1-divider: rgba(0, 68, 50, 0.14);
  --contact-card-v1-icon-bg: rgba(0, 68, 50, 0.08);
  --contact-card-v1-avatar-ring: var(--color-white, #ffffff);
  --contact-card-v1-avatar-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
  --contact-card-v1-panel-radius: 8px;
  --contact-card-v1-spine-width: 10px;
  --contact-card-v1-spine-highlight: rgba(255, 255, 255, 0.22);
  --contact-card-v1-spine-stripe: rgba(255, 255, 255, 0.12);
  --contact-card-v1-spine-shadow: rgba(0, 0, 0, 0.16);
  background: var(--contact-card-v1-bg);
  color: var(--contact-card-v1-text);
}

.block-contact-card-v1[data-background-color="#FFFFFF"] {
  --contact-card-v1-bg: var(--color-white, #ffffff);
}

.block-contact-card-v1[data-background-color="#F7F7F7"] {
  --contact-card-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-contact-card-v1 {
  --contact-card-v1-bg: var(--color-bg-dark, #0f1a14);
  --contact-card-v1-text: var(--color-text-dark, #f0f4f2);
  --contact-card-v1-green: var(--color-accent-dark, #47b27a);
  --contact-card-v1-link: var(--color-accent-dark, #47b27a);
  --contact-card-v1-muted: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.64));
  --contact-card-v1-panel: rgba(255, 255, 255, 0.06);
  --contact-card-v1-divider: rgba(255, 255, 255, 0.16);
  --contact-card-v1-icon-bg: rgba(71, 178, 122, 0.16);
  --contact-card-v1-avatar-ring: rgba(255, 255, 255, 0.16);
  --contact-card-v1-avatar-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
  --contact-card-v1-spine-highlight: rgba(255, 255, 255, 0.16);
  --contact-card-v1-spine-stripe: rgba(255, 255, 255, 0.1);
  --contact-card-v1-spine-shadow: rgba(0, 0, 0, 0.34);
}

.block-contact-card-v1 .contact-card-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-contact-card-v1 .contact-card-v1__header {
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  padding: 24px 24px 0 36px;
  border-radius: var(--contact-card-v1-panel-radius) var(--contact-card-v1-panel-radius) 0 0;
  background: var(--contact-card-v1-panel);
}

.block-contact-card-v1 .contact-card-v1__header::before,
.block-contact-card-v1 .contact-card-v1__card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--contact-card-v1-spine-width);
  background:
    linear-gradient(90deg, var(--contact-card-v1-spine-highlight), transparent 38%, var(--contact-card-v1-spine-shadow)),
    repeating-linear-gradient(135deg, transparent 0 9px, var(--contact-card-v1-spine-stripe) 9px 11px),
    linear-gradient(180deg, var(--contact-card-v1-green), var(--contact-card-v1-link));
  box-shadow: inset -1px 0 0 var(--contact-card-v1-spine-shadow);
  pointer-events: none;
}

.block-contact-card-v1 .contact-card-v1__header::before {
  border-top-left-radius: var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__headline {
  margin: 0;
  color: var(--contact-card-v1-green);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
}

.block-contact-card-v1 .contact-card-v1__card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  min-width: 0;
  overflow: hidden;
  padding: 28px 24px 24px 36px;
  border-radius: 0 0 var(--contact-card-v1-panel-radius) var(--contact-card-v1-panel-radius);
  background: var(--contact-card-v1-panel);
}

.block-contact-card-v1 .contact-card-v1__card::before {
  border-bottom-left-radius: var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__card:first-child {
  padding-block: 24px;
  border-radius: var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__card:first-child::before {
  border-radius: var(--contact-card-v1-panel-radius) 0 0 var(--contact-card-v1-panel-radius);
}

.block-contact-card-v1 .contact-card-v1__media {
  width: 120px;
  height: 120px;
  box-sizing: border-box;
  overflow: hidden;
  border: 4px solid var(--contact-card-v1-avatar-ring);
  border-radius: 999px;
  background: var(--color-grey-20, #dcdcdc);
  box-shadow: var(--contact-card-v1-avatar-shadow);
}

.block-contact-card-v1 .contact-card-v1__image,
.block-contact-card-v1 .contact-card-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-contact-card-v1 .contact-card-v1__image {
  object-fit: cover;
  object-position: center;
}

.block-contact-card-v1 .contact-card-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.14)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-contact-card-v1 .contact-card-v1__media,
.dark .block-contact-card-v1 .contact-card-v1__placeholder {
  background: rgba(255, 255, 255, 0.08);
}

.block-contact-card-v1 .contact-card-v1__body {
  min-width: 0;
}

.block-contact-card-v1 .contact-card-v1__name {
  margin: 0;
  color: var(--contact-card-v1-green);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  font-weight: 700;
  line-height: 1.3;
}

.block-contact-card-v1 .contact-card-v1__position {
  margin-top: 14px;
  color: var(--contact-card-v1-text);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.block-contact-card-v1 .contact-card-v1__position p,
.block-contact-card-v1 .contact-card-v1__description p {
  margin: 0;
}

.block-contact-card-v1 .contact-card-v1__links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  max-width: 34em;
  margin-top: 24px;
}

.block-contact-card-v1 .contact-card-v1__contact-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: var(--contact-card-v1-link);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-contact-card-v1 .contact-card-v1__contact-link:hover,
.block-contact-card-v1 .contact-card-v1__contact-link:focus-visible,
.block-contact-card-v1 .contact-card-v1__cta:hover,
.block-contact-card-v1 .contact-card-v1__cta:focus-visible {
  color: var(--contact-card-v1-green);
}

.block-contact-card-v1 .contact-card-v1__contact-link:focus-visible,
.block-contact-card-v1 .contact-card-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.dark .block-contact-card-v1 .contact-card-v1__contact-link:hover,
.dark .block-contact-card-v1 .contact-card-v1__contact-link:focus-visible,
.dark .block-contact-card-v1 .contact-card-v1__cta:hover,
.dark .block-contact-card-v1 .contact-card-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-contact-card-v1 .contact-card-v1__contact-icon {
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  padding: 6px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--contact-card-v1-icon-bg);
}

.block-contact-card-v1 .contact-card-v1__contact-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.block-contact-card-v1 .contact-card-v1__description {
  max-width: 34em;
  margin-top: 40px;
  color: var(--contact-card-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.62;
}

.block-contact-card-v1 .contact-card-v1__cta-row {
  width: 100%;
  max-width: 34em;
  margin-top: 28px;
}

.block-contact-card-v1 .contact-card-v1__cta-row--after-description {
  padding-top: 20px;
  border-top: 1px solid var(--contact-card-v1-divider);
}

.block-contact-card-v1 .contact-card-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--contact-card-v1-link);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-contact-card-v1 .contact-card-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-contact-card-v1 .contact-card-v1__cta:hover .contact-card-v1__cta-icon,
.block-contact-card-v1 .contact-card-v1__cta:focus-visible .contact-card-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) {
  .block-contact-card-v1 .contact-card-v1__inner {
    padding: 64px 48px;
  }

  .block-contact-card-v1 .contact-card-v1__card {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    padding: 32px 32px 32px;
  }

  .block-contact-card-v1 .contact-card-v1__card:first-child {
    padding-block: 32px;
  }

  .block-contact-card-v1 .contact-card-v1__header {
    padding: 32px 32px 0;
  }

}

@media (min-width: 1024px) {
  .block-contact-card-v1 .contact-card-v1__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 0;
    padding: 64px 80px;
  }

  .block-contact-card-v1 .contact-card-v1__header {
    grid-column: 5 / -1;
    margin-bottom: 0;
  }

  .block-contact-card-v1 .contact-card-v1__card {
    grid-column: 5 / -1;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 36px;
    padding: 36px 40px 40px;
  }

  .block-contact-card-v1 .contact-card-v1__card:first-child {
    padding-block: 40px;
  }

  .block-contact-card-v1 .contact-card-v1__header {
    padding: 40px 40px 0;
  }

  .block-contact-card-v1 .contact-card-v1__media {
    margin-top: 4px;
  }

  .block-contact-card-v1 .contact-card-v1__position {
    margin-top: 16px;
  }

  .block-contact-card-v1 .contact-card-v1__contact-icon {
    width: 30px;
    height: 30px;
  }

  .block-contact-card-v1 .contact-card-v1__description {
    margin-top: 48px;
    line-height: 1.55;
  }

  .block-contact-card-v1 .contact-card-v1__cta-row {
    margin-top: 36px;
  }

  .block-contact-card-v1 .contact-card-v1__cta-row--after-description {
    padding-top: 24px;
  }
}

@media (max-width: 767px) {
  .block-contact-card-v1 .contact-card-v1__body {
    text-align: left;
  }

  .block-contact-card-v1 .contact-card-v1__links {
    align-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-contact-card-v1 .contact-card-v1__contact-link,
  .block-contact-card-v1 .contact-card-v1__cta,
  .block-contact-card-v1 .contact-card-v1__cta-icon {
    transition: none !important;
  }

  .block-contact-card-v1 .contact-card-v1__cta:hover .contact-card-v1__cta-icon,
  .block-contact-card-v1 .contact-card-v1__cta:focus-visible .contact-card-v1__cta-icon {
    transform: none !important;
  }
}


/* divider-v1 */
/* ── Divider (block-divider-v1) ─────────────────────────────── */

.block-divider-v1 .dv-inner {
  display: flex;
  padding: 0;
}

.block-divider-v1 .dv-line {
  border: none;
  border-top: 1px solid;
  margin: 0;
  height: 0;
  flex: 1;
}

.block-divider-v1[data-color="grey"]  .dv-line { border-color: var(--color-grey-20, #DCDCDC); }
.block-divider-v1[data-color="white"] .dv-line { border-color: var(--color-white, #FFFFFF); }


.dark .block-divider-v1[data-color="grey"]  .dv-line { border-color: rgba(255, 255, 255, 0.25); }
.dark .block-divider-v1[data-color="white"] .dv-line { border-color: var(--color-white, #FFFFFF); }


/* donation-cta-carousel-v1 */
/* Donation CTA Carousel (block-donation-cta-carousel-v1) */

.block-donation-cta-carousel-v1 {
  --donation-cta-carousel-v1-bg: var(--color-white, #ffffff);
  --donation-cta-carousel-v1-slide-width: calc(100vw - 48px);
  --donation-cta-carousel-v1-track-gap: 24px;
  --donation-cta-carousel-v1-track-gutter: 24px;
  overflow: hidden;
  padding: 64px 0;
  background: var(--donation-cta-carousel-v1-bg);
  color: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1[data-background-color='#FFFFFF'] {
  --donation-cta-carousel-v1-bg: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1[data-background-color='#F7F7F7'] {
  --donation-cta-carousel-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-donation-cta-carousel-v1 {
  --donation-cta-carousel-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__header {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
  box-sizing: border-box;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__block-headline {
  max-width: 760px;
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__block-headline p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__block-headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__carousel {
  width: 100vw;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--donation-cta-carousel-v1-track-gap);
  margin: 0;
  padding: 16px 0 16px var(--donation-cta-carousel-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--donation-cta-carousel-v1-track-gutter) - var(--donation-cta-carousel-v1-track-gap)));
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__track::-webkit-scrollbar {
  display: none;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide {
  --donation-cta-carousel-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
  display: flex;
  flex: 0 0 var(--donation-cta-carousel-v1-slide-width);
  min-width: 0;
  scroll-snap-align: center;
  transform-origin: center center;
}

.block-donation-cta-carousel-v1.dcc-js-ready .donation-cta-carousel-v1__slide {
  will-change: transform;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='forest-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-forest-green, #004432);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='mint-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-mint-green, #47b27a);
  --donation-cta-carousel-v1-card-copy: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='red'] {
  --donation-cta-carousel-v1-card-bg: var(--color-red, #e52322);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='light-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-light-green, #8acbc1);
  --donation-cta-carousel-v1-card-copy: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='corn-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-corn-green, #94c24a);
  --donation-cta-carousel-v1-card-copy: var(--color-black, #333333);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='moss-green'] {
  --donation-cta-carousel-v1-card-bg: var(--color-moss-green, #13735f);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='dark-red'] {
  --donation-cta-carousel-v1-card-bg: var(--color-dark-red, #861135);
  --donation-cta-carousel-v1-card-copy: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 32px;
  overflow: hidden;
  padding: 32px;
  border-radius: 16px;
  background: var(--donation-cta-carousel-v1-card-bg);
  color: var(--donation-cta-carousel-v1-card-copy);
  box-sizing: border-box;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card--text-only .donation-cta-carousel-v1__copy {
  flex: 1;
  justify-content: center;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline {
  margin: 0;
  color: inherit;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline p,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta-label p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body {
  max-width: 72ch;
  margin-top: 24px;
  color: inherit;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body p {
  margin: 0 0 12px;
  color: inherit;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body p:last-child {
  margin-bottom: 0;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline strong,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline b,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline a,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body strong,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body b,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body a {
  color: inherit;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__headline a,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__body a {
  font-weight: inherit;
  text-decoration: underline;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:hover,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible {
  border-color: transparent;
  background: var(--color-moss-green, #13735f);
  color: var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible {
  outline: 3px solid var(--color-white, #ffffff);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--color-forest-green, #004432);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='moss-green'] .donation-cta-carousel-v1__cta:hover:not(:focus-visible),
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide[data-card-color='forest-green'] .donation-cta-carousel-v1__cta:hover:not(:focus-visible) {
  border-color: var(--color-white, #ffffff);
  box-shadow: inset 0 0 0 1px var(--color-white, #ffffff);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta-icon {
  width: 9px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:hover .donation-cta-carousel-v1__cta-icon,
.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible .donation-cta-carousel-v1__cta-icon {
  transform: translateX(3px);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__media {
  display: flex;
  width: 100%;
  height: 180px;
  min-width: 0;
  align-items: center;
  justify-content: center;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__illustration {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__nav {
  display: flex;
  width: var(--donation-cta-carousel-v1-slide-width);
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 16px auto 0;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__nav[hidden] {
  display: none;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress {
  display: flex;
  height: 40px;
  min-width: 0;
  flex: 1;
  align-items: center;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill {
  position: relative;
  height: 4px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--dcc-progress, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button {
  display: flex;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-donation-cta-carousel-v1 {
    --donation-cta-carousel-v1-slide-width: calc(100vw - 96px);
    --donation-cta-carousel-v1-track-gap: 32px;
    --donation-cta-carousel-v1-track-gutter: 48px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
    padding: 64px 48px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__header {
    padding-right: 48px;
    padding-left: 48px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__media {
    height: 240px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress {
    width: 220px;
    flex: none;
  }
}

@media (min-width: 1024px) {
  .block-donation-cta-carousel-v1 {
    --donation-cta-carousel-v1-slide-width: min(842.6667px, calc(66.6667vw - 117.3333px));
    --donation-cta-carousel-v1-track-gutter: calc((100vw - var(--donation-cta-carousel-v1-slide-width)) / 2);
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
    padding: 64px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__header {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media (min-width: 1280px) {
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: 32px;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__copy {
    grid-column: 1 / span 6;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__card--text-only .donation-cta-carousel-v1__copy {
    grid-column: 1 / -1;
    max-width: 72ch;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__media {
    grid-column: 7 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta-icon,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__progress-fill::after,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__button {
    transition: none !important;
  }

  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__slide,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:hover .donation-cta-carousel-v1__cta-icon,
  .block-donation-cta-carousel-v1 .donation-cta-carousel-v1__cta:focus-visible .donation-cta-carousel-v1__cta-icon {
    transform: none !important;
  }
}


/* donation-picture-cta-v1 */
/* Donation Picture CTA (block-donation-picture-cta-v1) */

.block-donation-picture-cta-v1 {
  --donation-picture-cta-v1-bg: var(--color-white, #ffffff);
  background: var(--donation-picture-cta-v1-bg);
  color: var(--color-forest-green, #004432);
}

.block-donation-picture-cta-v1[data-background-color='#FFFFFF'] {
  --donation-picture-cta-v1-bg: var(--color-white, #ffffff);
}

.block-donation-picture-cta-v1[data-background-color='#F7F7F7'] {
  --donation-picture-cta-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-donation-picture-cta-v1 {
  --donation-picture-cta-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__inner {
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__content {
  display: flex;
  min-width: 0;
  min-height: 400px;
  padding: 64px 24px;
  align-items: center;
  box-sizing: border-box;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__copy {
  width: 100%;
  max-width: 560px;
  min-width: 0;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__headline {
  margin: 0 0 24px;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__headline p,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta-label p {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description {
  margin: 0 0 32px;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__description {
  color: var(--color-text-dark, #f0f4f2);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description p {
  margin: 0 0 16px;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description p:last-child {
  margin-bottom: 0;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description ul,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__description ol {
  margin: 0 0 16px;
  padding-left: 1.4em;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description li {
  margin-bottom: 8px;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description strong,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__description b {
  color: inherit;
  font-weight: 700;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description a {
  color: var(--color-moss-green, #13735f);
  font-weight: 700;
  text-decoration: underline;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description a:hover {
  text-decoration: none;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__description a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__description a {
  color: var(--color-accent-dark, #47b27a);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta {
  display: inline-flex;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:hover,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  color: var(--color-white, #ffffff);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 4px;
}

.dark .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta-icon {
  width: 9px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:hover .donation-picture-cta-v1__cta-icon,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible .donation-picture-cta-v1__cta-icon {
  transform: translateX(3px);
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__media-column {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: 0 24px 64px;
  align-items: center;
  box-sizing: border-box;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 8px;
  background: transparent;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__image,
.block-donation-picture-cta-v1 .donation-picture-cta-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__image {
  object-fit: contain;
}

.block-donation-picture-cta-v1 .donation-picture-cta-v1__placeholder {
  background: transparent;
}

@media (min-width: 768px) {
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__content {
    padding: 64px 48px;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__media {
    aspect-ratio: 16 / 9;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__media-column {
    padding: 0 48px 64px;
  }
}

@media (min-width: 1024px) {
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0 80px;
    align-items: stretch;
    gap: 0 32px;
    box-sizing: border-box;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__content {
    grid-column: 1 / 5;
    padding: 80px 0;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__media-column {
    grid-column: 5 / -1;
    padding: 64px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta,
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta-icon {
    transition: none !important;
  }

  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:hover .donation-picture-cta-v1__cta-icon,
  .block-donation-picture-cta-v1 .donation-picture-cta-v1__cta:focus-visible .donation-picture-cta-v1__cta-icon {
    transform: none !important;
  }
}


/* fancy-quote-v1 */

/* Fancy Quote (block-fancy-quote-v1) */
.block-fancy-quote-v1 {
  --fancy-quote-v1-bg: var(--color-white, #ffffff);
  background: var(--fancy-quote-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
}

.block-fancy-quote-v1[data-background-color="#FFFFFF"] {
  --fancy-quote-v1-bg: var(--color-white, #ffffff);
}

.block-fancy-quote-v1[data-background-color="#F7F7F7"] {
  --fancy-quote-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-fancy-quote-v1 {
  --fancy-quote-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-fancy-quote-v1 .fancy-quote-v1__outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 16px;
  box-sizing: border-box;
}

.block-fancy-quote-v1 .fancy-quote-v1__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 16px;
  row-gap: 32px;
  align-items: center;
  margin: 0;
  position: relative;
}

.block-fancy-quote-v1 .fancy-quote-v1__grid::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: var(--color-forest-green, #004432);
}

.dark .block-fancy-quote-v1 .fancy-quote-v1__grid::before {
  background: var(--color-accent-dark, #47b27a);
}

.block-fancy-quote-v1 .fancy-quote-v1__content {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  padding-left: 32px;
  box-sizing: border-box;
}


.block-fancy-quote-v1 .fancy-quote-v1__mark {
  display: block;
  width: 72px;
  height: auto;
  max-width: 36vw;
  margin: 0 0 24px;
  color: var(--color-accent, #47b27a);
}

.block-fancy-quote-v1 .fancy-quote-v1__quote {
  margin: 0;
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--color-black, #333333);
}

.dark .block-fancy-quote-v1 .fancy-quote-v1__quote {
  color: var(--color-text-dark, #f0f4f2);
}

.block-fancy-quote-v1 .fancy-quote-v1__quote p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.block-fancy-quote-v1 .fancy-quote-v1__owner {
  display: block;
  margin-top: 24px;
  min-width: 0;
}

.block-fancy-quote-v1 .fancy-quote-v1__owner[data-show-owner="false"],
.block-fancy-quote-v1 .fancy-quote-v1__owner[data-show-owner="0"],
.block-fancy-quote-v1 .fancy-quote-v1__owner[data-show-owner="off"],
.block-fancy-quote-v1 .fancy-quote-v1__owner[data-show-owner="no"],
.block-fancy-quote-v1 .fancy-quote-v1__owner[data-show-owner=""],
.block-fancy-quote-v1 .fancy-quote-v1__media[data-show-owner="false"],
.block-fancy-quote-v1 .fancy-quote-v1__media[data-show-owner="0"],
.block-fancy-quote-v1 .fancy-quote-v1__media[data-show-owner="off"],
.block-fancy-quote-v1 .fancy-quote-v1__media[data-show-owner="no"],
.block-fancy-quote-v1 .fancy-quote-v1__media[data-show-owner=""] {
  display: none;
}

.block-fancy-quote-v1 .fancy-quote-v1__owner-name {
  display: block;
  margin: 0;
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--color-forest-green, #004432);
  overflow-wrap: anywhere;
}

.dark .block-fancy-quote-v1 .fancy-quote-v1__owner-name {
  color: var(--color-accent-dark, #47b27a);
}

.block-fancy-quote-v1 .fancy-quote-v1__owner-position {
  display: block;
  margin: 4px 0 0;
  font-family: var(--font-body, "Lato", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #333333);
  overflow-wrap: anywhere;
}

.dark .block-fancy-quote-v1 .fancy-quote-v1__owner-position {
  color: var(--color-text-dark, #f0f4f2);
}

.block-fancy-quote-v1 .fancy-quote-v1__owner-position p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.block-fancy-quote-v1 .fancy-quote-v1__media {
  position: relative;
  grid-column: 1 / -1;
  justify-self: center;
  width: min(224px, 100%);
  aspect-ratio: 1;
  color: var(--color-forest-green, #004432);
  isolation: isolate;
}

.dark .block-fancy-quote-v1 .fancy-quote-v1__media {
  color: var(--color-forest-green, #004432);
}

.block-fancy-quote-v1 .fancy-quote-v1__illustration[show-illustration="false"],
.block-fancy-quote-v1 .fancy-quote-v1__illustration[show-illustration="0"],
.block-fancy-quote-v1 .fancy-quote-v1__illustration[show-illustration="off"],
.block-fancy-quote-v1 .fancy-quote-v1__illustration[show-illustration="no"] {
  display: none;
}

.block-fancy-quote-v1 .fancy-quote-v1__illustration {
  position: absolute;
  z-index: 0;
  top: 57%;
  left: 38%;
  width: 94%;
  height: 94%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.block-fancy-quote-v1 .fancy-quote-v1__avatar {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 86%;
  height: 86%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 768px) {
  .block-fancy-quote-v1 .fancy-quote-v1__outer {
    padding: 64px 48px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__content {
    grid-column: span 8;
    padding-left: 64px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__grid:not(:has(.fancy-quote-v1__media)) .fancy-quote-v1__content {
    grid-column: 1 / -1;
    max-width: 900px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__media {
    grid-column: span 4;
    justify-self: end;
    width: min(288px, 100%);
  }

  .block-fancy-quote-v1 .fancy-quote-v1__avatar {
    left: auto;
    right: 0;
    width: min(296px, 86%);
    height: min(296px, 86%);
    transform: translateY(-50%);
  }
}

@media (min-width: 1024px) {
  .block-fancy-quote-v1 .fancy-quote-v1__outer {
    padding: 64px 80px;
  }
}

@media (max-width: 767px) {
  .block-fancy-quote-v1 .fancy-quote-v1__outer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__illustration {
    top: 57%;
    left: 38%;
    width: 94%;
    height: 94%;
    transform: translate(-50%, -50%);
  }

  .block-fancy-quote-v1 .fancy-quote-v1__avatar {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 420px) {
  .block-fancy-quote-v1 .fancy-quote-v1__content {
    padding-left: 24px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__mark {
    width: 56px;
  }

  .block-fancy-quote-v1 .fancy-quote-v1__media {
    width: min(224px, 100%);
  }
}


/* faq-browser-v1 */
/* -- FAQ Browser (block-faq-browser-v1) ------------------------------------- */
.block-faq-browser-v1 {
  background: var(--color-white, #FFFFFF);
  color: var(--color-black, #333333);
}

.dark .block-faq-browser-v1 {
  background: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-faq-browser-v1 .fb-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-faq-browser-v1 .fb-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.block-faq-browser-v1 .fb-category-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 268px;
  padding: 24px;
  border: 1px solid rgba(0, 68, 50, 0.08);
  border-radius: 28px;
  box-sizing: border-box;
  background: var(--color-white, #FFFFFF);
  color: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  opacity: 0;
  transform: translateY(18px);
  animation: fb-slide-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--fb-i, 0) * 70ms);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.32s ease;
  will-change: transform, opacity;
}

.block-faq-browser-v1 .fb-category-card:hover,
.block-faq-browser-v1 .fb-category-card:focus-visible {
  transform: translateY(-4px) scale(1.018);
  box-shadow: 0 24px 60px rgba(20, 24, 22, 0.12);
  outline: 0;
}

.block-faq-browser-v1 .fb-category-card:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

.dark .block-faq-browser-v1 .fb-category-card {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
}

.dark .block-faq-browser-v1 .fb-category-card:hover,
.dark .block-faq-browser-v1 .fb-category-card:focus-visible {
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
}

.block-faq-browser-v1 .fb-category-illu-wrap {
  display: block;
  width: 64px;
  height: 64px;
  overflow: hidden;
}

.block-faq-browser-v1 .fb-category-illu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-white, #FFFFFF);
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 28px;
  font-weight: 700;
}

.dark .block-faq-browser-v1 .fb-category-illu {
  background: rgba(255, 255, 255, 0.08);
}

.block-faq-browser-v1 .fb-category-illu img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block-faq-browser-v1 .fb-category-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.block-faq-browser-v1 .fb-category-name,
.block-faq-browser-v1 .fb-panel h2,
.block-faq-browser-v1 .fb-result-group h2 {
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 22px;
  line-height: 1.18;
  font-weight: 700;
}

.block-faq-browser-v1 .fb-category-name p,
.block-faq-browser-v1 .fb-panel h2 p,
.block-faq-browser-v1 .fb-result-group h2 p {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.block-faq-browser-v1 .fb-category-name {
  margin: 0;
}

.block-faq-browser-v1 .fb-category-desc,
.block-faq-browser-v1 .fb-panel-desc {
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 18px;
  line-height: 1.55;
  color: var(--color-grey-80, #4D4D4D);
}

.dark .block-faq-browser-v1 .fb-category-desc,
.dark .block-faq-browser-v1 .fb-panel-desc {
  color: rgba(255, 255, 255, 0.66);
}

.block-faq-browser-v1 .fb-category-desc p,
.block-faq-browser-v1 .fb-panel-desc p {
  margin: 0;
}

.block-faq-browser-v1 .fb-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.block-faq-browser-v1 .fb-nav {
  position: sticky;
  top: calc(var(--nav-height, 0px) + 24px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.block-faq-browser-v1 .fb-nav-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.block-faq-browser-v1 .fb-nav-indicator {
  position: absolute;
  z-index: 0;
  inset-inline: 0;
  top: 0;
  height: 0;
  border: 1px solid rgba(19, 115, 95, 0.28);
  border-radius: 8px;
  background: rgba(19, 115, 95, 0.08);
  pointer-events: none;
  transform: translateY(0);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), height 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.block-faq-browser-v1 .fb-nav-item,
.block-faq-browser-v1 .fb-back,
.block-faq-browser-v1 .fb-beacon-btn {
  font-family: var(--font-body, Lato, sans-serif);
  cursor: pointer;
}

.block-faq-browser-v1 .fb-faq-row,
.block-faq-browser-v1 .fb-related-item {
  cursor: pointer;
}

.block-faq-browser-v1 .fb-nav-item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 16px;
  text-align: left;
}

.block-faq-browser-v1 .fb-nav-item span {
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: inherit;
  line-height: 1.2;
}

.block-faq-browser-v1 .fb-nav-item span p {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.block-faq-browser-v1 .fb-nav-item.is-active,
.block-faq-browser-v1 .fb-nav-item:hover,
.block-faq-browser-v1 .fb-nav-item:focus-visible {
  outline: 0;
}

.block-faq-browser-v1 .fb-nav-item:hover,
.block-faq-browser-v1 .fb-nav-item:focus-visible {
  color: var(--color-moss-green, #13735F);
}

.block-faq-browser-v1 .fb-nav-item:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 2px;
}

.block-faq-browser-v1 .fb-nav-item small {
  color: var(--color-grey-60, #737373);
}

.block-faq-browser-v1 .fb-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-moss-green, #13735F);
  font-size: 16px;
  font-weight: 700;
  transition: color 0.18s ease, transform 0.18s ease;
}

.block-faq-browser-v1 .fb-back-categories {
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 16px;
}

.block-faq-browser-v1 .fb-back-categories span {
  font-family: var(--font-heading, Sora, sans-serif);
}

.block-faq-browser-v1 .fb-back-icon {
  flex: 0 0 auto;
}

.block-faq-browser-v1 .fb-back-categories:hover,
.block-faq-browser-v1 .fb-back-categories:focus-visible {
  transform: translateX(-4px);
  outline: 0;
}

.block-faq-browser-v1 .fb-back-categories:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  border-radius: 3px;
}

.block-faq-browser-v1 .fb-panel {
  min-width: 0;
}

.block-faq-browser-v1 .fb-panel-head {
  margin-bottom: 32px;
}

.block-faq-browser-v1 .fb-kicker {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 22px;
  padding: 6px 13px;
  border: 1px solid rgba(19, 115, 95, 0.18);
  border-radius: 8px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-moss-green, #13735F);
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(8px) saturate(1.3);
  -webkit-backdrop-filter: blur(8px) saturate(1.3);
}

.dark .block-faq-browser-v1 .fb-kicker {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
}

.block-faq-browser-v1 .fb-kicker p {
  margin: 0;
}

.block-faq-browser-v1 .fb-panel h2,
.block-faq-browser-v1 .fb-result-group h2 {
  margin: 0 0 16px;
  font-size: 40px;
}

.block-faq-browser-v1 .fb-faq-list,
.block-faq-browser-v1 .fb-related-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-grey-20, #DCDCDC);
}

.dark .block-faq-browser-v1 .fb-faq-list,
.dark .block-faq-browser-v1 .fb-related-list {
  border-color: rgba(255, 255, 255, 0.12);
}

.block-faq-browser-v1 .fb-faq-row,
.block-faq-browser-v1 .fb-related-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--color-grey-20, #DCDCDC);
  background: transparent;
  color: inherit;
  text-align: left;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
  opacity: 0;
  transform: translateY(14px);
  animation: fb-slide-up 0.56s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--fb-i, 0) * 45ms);
  transition: color 0.18s ease;
}

.block-faq-browser-v1 .fb-faq-row *,
.block-faq-browser-v1 .fb-related-item * {
  font-family: inherit;
}

.dark .block-faq-browser-v1 .fb-faq-row,
.dark .block-faq-browser-v1 .fb-related-item {
  border-color: rgba(255, 255, 255, 0.12);
}

.block-faq-browser-v1 .fb-faq-row:hover,
.block-faq-browser-v1 .fb-faq-row:focus-visible,
.block-faq-browser-v1 .fb-related-item:hover,
.block-faq-browser-v1 .fb-related-item:focus-visible {
  color: var(--color-moss-green, #13735F);
  outline: 0;
}

.block-faq-browser-v1 .fb-faq-row:focus-visible,
.block-faq-browser-v1 .fb-related-item:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: -2px;
}

.block-faq-browser-v1 .fb-detail h2 {
  max-width: 820px;
  margin-top: 0;
  font-family: Sora, var(--font-heading, sans-serif);
  color: var(--color-forest-green, #004432);
}

.block-faq-browser-v1 .fb-detail h2 * {
  font-family: inherit;
}

.dark .block-faq-browser-v1 .fb-detail h2 {
  color: var(--color-mint-green, #47B27A);
}

.block-faq-browser-v1 .fb-answer {
  max-width: 820px;
  margin-top: 32px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: var(--text-body, 18px);
  line-height: 1.7;
}

.block-faq-browser-v1 .fb-answer img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.block-faq-browser-v1 .fb-related {
  max-width: 820px;
  margin-top: 56px;
}

.block-faq-browser-v1 .fb-related h3 {
  margin: 0 0 18px;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 28px;
}

.block-faq-browser-v1 .fb-related-item {
  font-size: 18px;
}

.block-faq-browser-v1 .fb-search-results {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 900px;
}

.block-faq-browser-v1 .fb-search-empty,
.block-faq-browser-v1 .fb-empty {
  max-width: 760px;
  margin: 0 auto;
  padding: 40px;
  border-radius: 8px;
  background: var(--color-light-grey, #F7F7F7);
  font-family: var(--font-body, Lato, sans-serif);
  text-align: center;
}

.block-faq-browser-v1 .fb-empty {}

.dark .block-faq-browser-v1 .fb-search-empty,
.dark .block-faq-browser-v1 .fb-empty {
  background: rgba(255, 255, 255, 0.06);
}

.block-faq-browser-v1 .fb-search-empty h2 {
  margin: 0 0 12px;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 34px;
}

.block-faq-browser-v1 .fb-beacon-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  margin-right: 18px;
  padding: 0.85rem 1.5rem;
  border: 1px solid var(--color-moss-green, #13735F);
  border-radius: 4rem;
  background: transparent;
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, Sora, sans-serif);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1em;
  cursor: pointer;
  transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.block-faq-browser-v1 .fb-beacon-btn:hover,
.block-faq-browser-v1 .fb-beacon-btn:focus-visible {
  background-color: var(--color-moss-green, #13735F);
  color: var(--color-white, #FFFFFF);
  border-color: var(--color-moss-green, #13735F);
  outline: 0;
}

.block-faq-browser-v1 .fb-beacon-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

@keyframes fb-slide-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fb-detail-in {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.block-faq-browser-v1 .fb-detail .fb-kicker {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.block-faq-browser-v1 .fb-detail h2 {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.07s both;
}

.block-faq-browser-v1 .fb-answer {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.14s both;
}

.block-faq-browser-v1 .fb-related {
  animation: fb-detail-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.21s both;
}

@media (min-width: 768px) {
  .block-faq-browser-v1 .fb-inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-faq-browser-v1 .fb-inner {
    padding: 64px 80px;
  }
}

@media (max-width: 980px) {
  .block-faq-browser-v1 .fb-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .block-faq-browser-v1 .fb-inner {
    padding: 48px 24px;
  }

  .block-faq-browser-v1 .fb-category-grid,
  .block-faq-browser-v1 .fb-layout {
    grid-template-columns: 1fr;
  }

  .block-faq-browser-v1 .fb-category-card {
    min-height: 0;
  }

  .block-faq-browser-v1 .fb-category-name {
    font-size: 20px;
  }

  .block-faq-browser-v1 .fb-nav {
    position: static;
  }

  .block-faq-browser-v1 .fb-nav-list {
    display: none;
  }

  .block-faq-browser-v1 .fb-panel h2,
  .block-faq-browser-v1 .fb-result-group h2 {
    font-size: 32px;
  }

  .block-faq-browser-v1 .fb-faq-row {
    font-size: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-faq-browser-v1 .fb-category-card,
  .block-faq-browser-v1 .fb-faq-row,
  .block-faq-browser-v1 .fb-related-item,
  .block-faq-browser-v1 .fb-nav-indicator,
  .block-faq-browser-v1 .fb-detail .fb-kicker,
  .block-faq-browser-v1 .fb-detail h2,
  .block-faq-browser-v1 .fb-answer,
  .block-faq-browser-v1 .fb-related {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .block-faq-browser-v1 .fb-category-card:hover,
  .block-faq-browser-v1 .fb-category-card:focus-visible,
  .block-faq-browser-v1 .fb-category-card:focus-visible {
    transform: none;
  }
}


/* faq-header-v1 */
/* -- FAQ Header (block-faq-header-v1) -------------------------------------- */
.block-faq-header-v1 {
  position: relative;
  background:
    radial-gradient(circle at 50% 0%, rgba(71, 178, 122, 0.13), transparent 34rem),
    var(--color-light-grey, #F7F7F7);
  color: var(--color-black, #333333);
  overflow: hidden;
}

.dark .block-faq-header-v1 {
  background:
    radial-gradient(circle at 50% 0%, rgba(71, 178, 122, 0.16), transparent 34rem),
    var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

/* Tree ring background */
.block-faq-header-v1 .fh-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.block-faq-header-v1 .fh-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 720px;
  height: 720px;
  margin-left: -360px;
  margin-top: -360px;
  border-radius: 22% 78% 65% 35% / 60% 40% 75% 25%;
  border: 1.5px solid rgba(71, 178, 122, 0.5);
  animation: fh-ring-expand 9s linear infinite;
}

.dark .block-faq-header-v1 .fh-ring {
  border-color: rgba(71, 178, 122, 0.3);
}

/* Same shape, different phase → rings khớp nhau như thiết diện thân cây thực */
.block-faq-header-v1 .fh-ring:nth-child(1) { animation-delay:     0s; }
.block-faq-header-v1 .fh-ring:nth-child(2) { animation-delay: -1.125s; }
.block-faq-header-v1 .fh-ring:nth-child(3) { animation-delay:  -2.25s; }
.block-faq-header-v1 .fh-ring:nth-child(4) { animation-delay: -3.375s; }
.block-faq-header-v1 .fh-ring:nth-child(5) { animation-delay:   -4.5s; }
.block-faq-header-v1 .fh-ring:nth-child(6) { animation-delay: -5.625s; }
.block-faq-header-v1 .fh-ring:nth-child(7) { animation-delay:  -6.75s; }
.block-faq-header-v1 .fh-ring:nth-child(8) { animation-delay: -7.875s; }

@keyframes fh-ring-expand {
  0%   { transform: scale(0.06); opacity: 0; }
  8%   { opacity: 0.52; }
  82%  { opacity: 0.38; }
  100% { transform: scale(1);    opacity: 0; }
}

.block-faq-header-v1 .fh-inner {
  position: relative;
  z-index: 1;
  width: min(100%, 900px);
  margin: 0 auto;
  padding: clamp(72px, 12vw, 140px) 24px clamp(56px, 8vw, 96px);
  text-align: center;
}

.block-faq-header-v1 .fh-eyebrow,
.block-faq-header-v1 .fh-greeting,
.block-faq-header-v1 .fh-title,
.block-faq-header-v1 .fh-intro,
.block-faq-header-v1 .fh-search-form,
.block-faq-header-v1 .fh-suggested {
  opacity: 0;
  transform: translateY(14px);
  animation: fh-rise 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.block-faq-header-v1 .fh-eyebrow { animation-delay: 0.02s; }
.block-faq-header-v1 .fh-greeting { animation-delay: 0.08s; }
.block-faq-header-v1 .fh-title { animation-delay: 0.14s; }
.block-faq-header-v1 .fh-intro { animation-delay: 0.2s; }
.block-faq-header-v1 .fh-search-form { animation-delay: 0.28s; }
.block-faq-header-v1 .fh-suggested { animation-delay: 0.36s; }

@keyframes fh-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.block-faq-header-v1 .fh-eyebrow {
  display: inline-flex;
  margin: 0 0 22px;
  padding: 6px 13px;
  border: 1px solid rgba(19, 115, 95, 0.18);
  border-radius: 8px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-moss-green, #13735F);
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(8px) saturate(1.3);
  -webkit-backdrop-filter: blur(8px) saturate(1.3);
}

.dark .block-faq-header-v1 .fh-eyebrow {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
}

.block-faq-header-v1 .fh-greeting {
  margin: 0;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 750;
  line-height: 1.04;
  letter-spacing: 0;
}

.block-faq-header-v1 .fh-title {
  max-width: 680px;
  margin: 14px auto 0;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-grey-80, #4D4D4D);
}

.block-faq-header-v1 .fh-intro {
  max-width: 640px;
  margin: 12px auto 0;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.65;
  color: var(--color-grey-60, #737373);
}

.dark .block-faq-header-v1 .fh-title,
.dark .block-faq-header-v1 .fh-intro {
  color: rgba(255, 255, 255, 0.82);
}

.block-faq-header-v1 .fh-title p,
.block-faq-header-v1 .fh-greeting p,
.block-faq-header-v1 .fh-eyebrow p,
.block-faq-header-v1 .fh-intro p {
  margin: 0;
}

.block-faq-header-v1 .fh-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(100%, 640px);
  margin: 38px auto 0;
  padding: 16px 18px;
  border: 1px solid rgba(0, 68, 50, 0.12);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 24px 70px rgba(0, 68, 50, 0.11);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}

.dark .block-faq-header-v1 .fh-search-form {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.block-faq-header-v1 .fh-search-form:focus-within {
  border-color: rgba(19, 115, 95, 0.38);
  box-shadow: 0 28px 80px rgba(0, 68, 50, 0.15);
}

.dark .block-faq-header-v1 .fh-search-form:focus-within {
  border-color: rgba(71, 178, 122, 0.42);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.block-faq-header-v1 .fh-search-icon {
  flex: 0 0 auto;
  color: rgba(0, 68, 50, 0.5);
}

.dark .block-faq-header-v1 .fh-search-icon {
  color: rgba(255, 255, 255, 0.45);
}

.block-faq-header-v1 .fh-search-input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: clamp(18px, 2vw, 22px);
  color: inherit;
}

.block-faq-header-v1 .fh-search-input::placeholder {
  color: rgba(77, 77, 77, 0.52);
}

.dark .block-faq-header-v1 .fh-search-input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.block-faq-header-v1 .fh-search-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  color: var(--color-white, #FFFFFF);
  background: var(--color-forest-green, #004432);
  cursor: pointer;
  transition: background 0.16s ease, transform 0.16s ease;
}

.block-faq-header-v1 .fh-search-button:hover,
.block-faq-header-v1 .fh-search-button:focus-visible {
  background: var(--color-moss-green, #13735F);
  transform: translateY(-1px);
}

.block-faq-header-v1 .fh-suggested {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  width: min(100%, 640px);
  margin: 18px auto 0;
}

.block-faq-header-v1 .fh-suggested:empty {
  display: none;
}

.block-faq-header-v1 .fh-suggested-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 22px;
  padding: 8px 14px;
  color: rgba(0, 68, 50, 0.88);
  background: rgba(255, 255, 255, 0.58);
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.block-faq-header-v1 .fh-suggested-chip:hover,
.block-faq-header-v1 .fh-suggested-chip:focus,
.block-faq-header-v1 .fh-suggested-chip:focus-visible {
  border-color: rgba(0, 68, 50, 0.26);
  color: var(--color-forest-green, #004432);
  background: rgba(255, 255, 255, 0.86);
  transform: translateY(-1px);
}

.dark .block-faq-header-v1 .fh-suggested-chip {
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.07);
}

.dark .block-faq-header-v1 .fh-suggested-chip:hover,
.dark .block-faq-header-v1 .fh-suggested-chip:focus,
.dark .block-faq-header-v1 .fh-suggested-chip:focus-visible {
  color: var(--color-white, #FFFFFF);
  background: rgba(255, 255, 255, 0.13);
}

@media (max-width: 767px) {
  .block-faq-header-v1 .fh-inner {
    padding: 64px 18px 48px;
  }

  .block-faq-header-v1 .fh-search-form {
    margin-top: 30px;
    padding: 13px 14px;
    border-radius: 24px;
  }

  .block-faq-header-v1 .fh-search-button {
    width: 38px;
    height: 38px;
  }

  .block-faq-header-v1 .fh-suggested {
    justify-content: center;
  }
}

/* ── Collapse when searching ──────────────────────────────── */
.block-faq-header-v1 .fh-eyebrow,
.block-faq-header-v1 .fh-greeting,
.block-faq-header-v1 .fh-title,
.block-faq-header-v1 .fh-intro,
.block-faq-header-v1 .fh-suggested {
  max-height: 500px;
  overflow: hidden;
  transition: opacity 0.25s ease, max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1), margin 0.32s ease;
}

.block-faq-header-v1 .fh-inner {
  transition: padding 0.32s ease;
}

.block-faq-header-v1.is-searching .fh-eyebrow,
.block-faq-header-v1.is-searching .fh-greeting,
.block-faq-header-v1.is-searching .fh-title,
.block-faq-header-v1.is-searching .fh-intro,
.block-faq-header-v1.is-searching .fh-suggested {
  animation: none;
  opacity: 0;
  max-height: 0;
  margin: 0;
  padding: 0;
}

.block-faq-header-v1.is-searching .fh-inner {
  padding: 40px 24px 40px;
}

.block-faq-header-v1.is-searching .fh-search-form {
  margin: 0 auto;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .block-faq-header-v1 .fh-ring {
    animation: none;
    opacity: 0;
  }

  .block-faq-header-v1 .fh-eyebrow,
  .block-faq-header-v1 .fh-greeting,
  .block-faq-header-v1 .fh-title,
  .block-faq-header-v1 .fh-intro,
  .block-faq-header-v1 .fh-search-form,
  .block-faq-header-v1 .fh-suggested {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .block-faq-header-v1 .fh-inner,
  .block-faq-header-v1 .fh-search-form {
    transition: none;
  }
}


/* help-cta-v1 */
/* -- Help CTA (block-help-cta-v1) ------------------------------------------ */
.block-help-cta-v1 {
  background: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}

.block-help-cta-v1.hc-no-beacon {
  display: none;
}

.block-help-cta-v1 .hc-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 72px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
}

.block-help-cta-v1 .hc-title {
  margin: 0;
  font-family: var(--font-heading, Sora, sans-serif);
  font-size: 42px;
  line-height: 1.1;
}

.block-help-cta-v1 .hc-title p,
.block-help-cta-v1 .hc-body p {
  margin: 0;
}

.block-help-cta-v1 .hc-body {
  max-width: 620px;
  margin-top: 16px;
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}

.block-help-cta-v1 .hc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--color-white, #FFFFFF);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-body, Lato, sans-serif);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.block-help-cta-v1 .hc-button:hover,
.block-help-cta-v1 .hc-button:focus-visible {
  background: var(--color-mint-green, #47B27A);
  color: var(--color-white, #FFFFFF);
  outline: 0;
}

@media (max-width: 767px) {
  .block-help-cta-v1 .hc-inner {
    grid-template-columns: 1fr;
    padding: 56px 20px;
  }

  .block-help-cta-v1 .hc-title {
    font-size: 34px;
  }
}


/* hero-picture-v1 */
/* ── Hero Picture (block-hero-picture-v1) ─────────────────────── */

.block-hero-picture-v1 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-height: 100svh;
  margin-top: calc(-1 * var(--nav-height, 0px));
}

.block-hero-picture-v1 .hero-picture-v1__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  background-color: var(--color-forest-green);
}

.block-hero-picture-v1 .hero-picture-v1__picture,
.block-hero-picture-v1 .hero-picture-v1__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.block-hero-picture-v1 .hero-picture-v1__picture {
  display: block;
}

.block-hero-picture-v1 .hero-picture-v1__picture--mobile {
  display: none;
}

.block-hero-picture-v1 .hero-picture-v1__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.block-hero-picture-v1 .hero-picture-v1__placeholder {
  background-color: var(--color-forest-green);
}

.block-hero-picture-v1 .hero-picture-v1__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 15%, rgba(0, 0, 0, 0.88) 100%);
  pointer-events: none;
}

.block-hero-picture-v1 .hero-picture-v1__content {
  position: relative;
  z-index: 3;
  width: 100%;
  min-width: 0;
  padding: 64px 24px 128px;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0,
    rgba(0, 0, 0, 0.55) 64px,
    rgba(0, 0, 0, 0.55) 100%
  );
  text-align: center;
}

.block-hero-picture-v1 .hero-picture-v1__title {
  margin: 0 0 16px;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: clamp(40px, calc(3.5vw + 22px), var(--text-h1));
  font-weight: 700;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.block-hero-picture-v1 .hero-picture-v1__title p,
.block-hero-picture-v1 .hero-picture-v1__title > * {
  margin: 0;
}

.block-hero-picture-v1 .hero-picture-v1__subtitle {
  margin: 0 0 32px;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--font-heading);
  font-size: clamp(20px, calc(1.2vw + 16px), var(--text-h4));
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.block-hero-picture-v1 .hero-picture-v1__subtitle p,
.block-hero-picture-v1 .hero-picture-v1__subtitle > * {
  margin: 0;
}

.block-hero-picture-v1 .hero-picture-v1__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  height: auto;
  padding: 12px 24px;
  border-radius: 9999px;
  background-color: var(--color-yellow-green);
  color: var(--color-forest-green);
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-hero-picture-v1 .hero-picture-v1__button:hover,
.block-hero-picture-v1 .hero-picture-v1__button:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
}

.block-hero-picture-v1 .hero-picture-v1__button:focus-visible {
  outline: 3px solid var(--color-white, #fff);
  outline-offset: 2px;
  box-shadow: 0 0 0 8px var(--color-forest-green, #004432);
}

.block-hero-picture-v1 .hero-picture-v1__button p,
.block-hero-picture-v1 .hero-picture-v1__button > * {
  display: inline;
  margin: 0;
}

.block-hero-picture-v1 .hero-picture-v1__button-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-hero-picture-v1 .hero-picture-v1__button:hover .hero-picture-v1__button-icon,
.block-hero-picture-v1 .hero-picture-v1__button:focus-visible .hero-picture-v1__button-icon {
  transform: translateX(3px);
}

.block-hero-picture-v1 .hero-picture-v1__illustration {
  position: absolute;
  top: calc(100% - 116px);
  left: 50%;
  z-index: 10;
  overflow: visible;
  transform: translateX(-50%);
  pointer-events: none;
}

.block-hero-picture-v1 .hero-picture-v1__illustration-svg {
  display: block;
  overflow: visible;
}

.block-hero-picture-v1 .hero-picture-v1__illustration-path {
  fill: none;
  stroke: var(--color-mint-green);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.block-hero-picture-v1 .hero-picture-v1__vine-stem {
  stroke-width: 4;
}

@media (max-width: 767px) {
  .block-hero-picture-v1 .hero-picture-v1__picture--desktop {
    display: none;
  }

  .block-hero-picture-v1 .hero-picture-v1__picture--mobile {
    display: block;
  }
}

@media (min-width: 768px) {
  .block-hero-picture-v1 .hero-picture-v1__content {
    padding: 80px 48px 128px;
  }
}

@media (min-width: 1024px) {
  .block-hero-picture-v1 .hero-picture-v1__content {
    padding: 96px 80px 128px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-hero-picture-v1 .hero-picture-v1__button,
  .block-hero-picture-v1 .hero-picture-v1__button-icon {
    transition: none;
  }

  .block-hero-picture-v1 .hero-picture-v1__button:hover .hero-picture-v1__button-icon,
  .block-hero-picture-v1 .hero-picture-v1__button:focus-visible .hero-picture-v1__button-icon {
    transform: none;
  }
}


/* hero-video-v1 */
/* ── Hero Video (block-hero-video-v1) ──────────────────────────── */

.block-hero-video-v1 {
  position: relative;
  width: 100%;
  min-height: 100svh;
  margin-top: calc(-1 * var(--nav-height, 0px));
}

/* Clip wrapper — contains video + overlay so vine can escape below */
.block-hero-video-v1 .hero-video-clip {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.block-hero-video-v1 .hero-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.block-hero-video-v1 .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 15%, rgba(0, 0, 0, 0.88) 100%);
  z-index: 1;
  pointer-events: none;
}

/* Content */
.block-hero-video-v1 .hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 64px 24px 128px;
  text-align: center;
}

.block-hero-video-v1 .hero-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(40px, calc(3.5vw + 22px), var(--text-h1));
  line-height: 1.05;
  color: var(--color-white);
  margin: 0 0 16px;
}

.block-hero-video-v1 .hero-title p,
.block-hero-video-v1 .hero-title > * { margin: 0; }

.block-hero-video-v1 .hero-subtitle {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(20px, calc(1.2vw + 16px), var(--text-h4));
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 32px;
}

.block-hero-video-v1 .hero-subtitle p,
.block-hero-video-v1 .hero-subtitle > * { margin: 0; }

.block-hero-video-v1 .hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 24px;
  border-radius: 9999px;
  background-color: var(--color-yellow-green);
  color: var(--color-forest-green);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 16px;
  line-height: 1em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.block-hero-video-v1 .hero-btn:hover,
.block-hero-video-v1 .hero-btn:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
}

.block-hero-video-v1 .hero-btn:focus-visible {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
}

.block-hero-video-v1 .hero-btn p,
.block-hero-video-v1 .hero-btn > * { margin: 0; display: inline; }

.block-hero-video-v1 .hero-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-hero-video-v1 .hero-btn:hover .hero-btn-icon,
.block-hero-video-v1 .hero-btn:focus-visible .hero-btn-icon {
  transform: translateX(3px);
}

/* Play area */
.block-hero-video-v1 .hero-play-area {
  position: absolute;
  bottom: 24px;
  right: 24px;
  z-index: 5;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.block-hero-video-v1 .hero-play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  color: var(--color-white);
  cursor: pointer;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.block-hero-video-v1 .hero-play-btn:hover {
  background-color: rgba(255, 255, 255, 0.28);
  border-color: var(--color-white);
  transform: scale(1.07);
}

.block-hero-video-v1 .hero-play-btn:focus-visible {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
}

/* Info / privacy notice */
.block-hero-video-v1 .hero-info-wrap {
  position: relative;
}

.block-hero-video-v1 .hero-info-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.block-hero-video-v1 .hero-info-btn:hover,
.block-hero-video-v1 .hero-info-btn:focus-visible {
  border-color: rgba(255, 255, 255, 0.9);
  color: var(--color-white);
}

.block-hero-video-v1 .hero-info-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  right: 0;
  width: 220px;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.5;
  padding: 10px 12px;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.block-hero-video-v1 .hero-info-wrap:hover .hero-info-tooltip,
.block-hero-video-v1 .hero-info-btn:focus-visible ~ .hero-info-tooltip,
.block-hero-video-v1 .hero-info-tooltip.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Vine illustration — starts below button, grows downward on scroll */
/* top = section_height - (padding-bottom 128px - gap 12px) = 100% - 116px */
.block-hero-video-v1 .hero-illu {
  position: absolute;
  top: calc(100% - 116px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
  overflow: visible;
}

.block-hero-video-v1 .hero-illu-svg {
  display: block;
  overflow: visible;
}

.block-hero-video-v1 .hero-illu-path {
  stroke: var(--color-mint-green);
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.block-hero-video-v1 .vine-stem   { stroke-width: 4; }
.block-hero-video-v1 .vine-branch { stroke-width: 3; }
.block-hero-video-v1 .vine-sub    { stroke-width: 2.5; }

/* Lightbox */
.block-hero-video-v1 .hero-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-hero-video-v1 .hero-lightbox[hidden] {
  display: none;
}

.block-hero-video-v1 .hero-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(2, 10, 4, 0.93);
  cursor: pointer;
  animation: hero-vid-lb-in 0.2s ease;
}

@keyframes hero-vid-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-hero-video-v1 .hero-lightbox-content {
  position: relative;
  z-index: 1;
  width: 96vw;
  max-width: 1440px;
  animation: hero-vid-lb-up 0.2s ease;
}

@keyframes hero-vid-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-hero-video-v1 .hero-lightbox-frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.block-hero-video-v1 .hero-lightbox-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 6px;
}

.block-hero-video-v1 .hero-lightbox-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--color-white);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.block-hero-video-v1 .hero-lightbox-close:hover {
  background-color: rgba(255, 255, 255, 0.22);
}

.block-hero-video-v1 .hero-lightbox-close:focus-visible {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
}

.block-hero-video-v1 .hero-lightbox-hint {
  text-align: center;
  color: rgba(255, 255, 255, 0.38);
  font-family: var(--font-body);
  font-size: clamp(0.9375rem, 2vw, 1.125rem);
  margin: 14px 0 0;
  letter-spacing: 0.03em;
  pointer-events: none;
  user-select: none;
}

/* Forest atmosphere */
.block-hero-video-v1 .hero-lb-forest {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.block-hero-video-v1 .hero-lb-canopy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(160px, 24vh, 270px);
  display: block;
}

@keyframes lb-fly-glow {
  0%, 100% { opacity: 0.08; box-shadow: 0 0 3px 1px rgba(160, 240, 100, 0.2); }
  50%       { opacity: 0.85; box-shadow: 0 0 7px 3px rgba(190, 255, 130, 0.65); }
}
@keyframes lb-fly-float {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(var(--fly-dx), calc(var(--fly-dy) * 0.5)); }
  66%  { transform: translate(calc(var(--fly-dx) * -0.3), var(--fly-dy)); }
  100% { transform: translate(0, 0); }
}
.block-hero-video-v1 .hero-lb-fly {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #c6f080;
  pointer-events: none;
  animation:
    lb-fly-glow var(--fly-glow, 2s) ease-in-out infinite,
    lb-fly-float var(--fly-float, 5s) ease-in-out infinite;
}

/* Tablet */
@media (min-width: 768px) {
  .block-hero-video-v1 .hero-content {
    padding: 80px 48px 128px;
  }


}

/* Desktop */
@media (min-width: 1024px) {
  .block-hero-video-v1 .hero-content {
    padding: 96px 80px 128px;
  }


}

/* ── Falling leaves (spawned by JS when progress bar reaches 100%) ── */

@keyframes wi-leaf-fall {
  0%   { transform: translateY(-30px) translateX(0) rotate(0deg); opacity: 0; }
  8%   { opacity: 0.85; }
  92%  { opacity: 0.7; }
  100% { transform: translateY(100vh) translateX(var(--leaf-drift, 40px)) rotate(480deg); opacity: 0; }
}

.wi-leaf {
  position: fixed;
  top: 0;
  width: 10px;
  height: 16px;
  border-radius: 80% 0 80% 0;
  pointer-events: none;
  z-index: 9999;
  animation: wi-leaf-fall linear both;
  --leaf-drift: 40px;
}


/* illustrated-page-header-v1 */
/* ── Illustrated Page Header (block-illustrated-page-header-v1) ── */

.block-illustrated-page-header-v1 {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
  --illustrated-page-header-v1-breadcrumb-color: rgba(255, 255, 255, 0.86);
}

/* Decorative illustration — exact Simple CTA geometry. */
.block-illustrated-page-header-v1 .illustrated-page-header-v1__illustration {
  position: absolute;
  inset: 0;
  overflow: hidden;
  color: var(--color-mint-green, #47B27A);
  pointer-events: none;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__illustration-svg {
  position: absolute;
  top: max(-310%, -1240px);
  left: 4%;
  width: auto;
  height: min(653%, 2612px);
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

/* Presets — shared with Simple CTA V1. */
.block-illustrated-page-header-v1,
.block-illustrated-page-header-v1[data-preset="forest-mint"] {
  background-color: var(--color-forest-green, #004432);
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__illustration,
.block-illustrated-page-header-v1[data-preset="forest-mint"] .illustrated-page-header-v1__illustration {
  color: var(--color-mint-green, #47B27A);
}

.block-illustrated-page-header-v1[data-preset="forest-light"] { background-color: var(--color-forest-green, #004432); }
.block-illustrated-page-header-v1[data-preset="forest-light"] .illustrated-page-header-v1__illustration { color: var(--color-light-green, #8ACBC1); }

.block-illustrated-page-header-v1[data-preset="forest-yellow"] { background-color: var(--color-forest-green, #004432); }
.block-illustrated-page-header-v1[data-preset="forest-yellow"] .illustrated-page-header-v1__illustration { color: var(--color-yellow-green, #E6CE00); }

.block-illustrated-page-header-v1[data-preset="forest-blue"] { background-color: var(--color-forest-green, #004432); }
.block-illustrated-page-header-v1[data-preset="forest-blue"] .illustrated-page-header-v1__illustration { color: var(--color-blue, #477EC0); }

.block-illustrated-page-header-v1[data-preset="moss-mint"] { background-color: var(--color-moss-green, #13735F); }
.block-illustrated-page-header-v1[data-preset="moss-mint"] .illustrated-page-header-v1__illustration { color: var(--color-mint-green, #47B27A); }

.block-illustrated-page-header-v1[data-preset="moss-blue"] { background-color: var(--color-moss-green, #13735F); }
.block-illustrated-page-header-v1[data-preset="moss-blue"] .illustrated-page-header-v1__illustration { color: var(--color-blue, #477EC0); }

.block-illustrated-page-header-v1[data-preset="moss-red"] { background-color: var(--color-moss-green, #13735F); }
.block-illustrated-page-header-v1[data-preset="moss-red"] .illustrated-page-header-v1__illustration { color: var(--color-red, #E52322); }

.block-illustrated-page-header-v1[data-preset="darkred-mint"] { background-color: var(--color-dark-red, #861135); }
.block-illustrated-page-header-v1[data-preset="darkred-mint"] .illustrated-page-header-v1__illustration { color: var(--color-mint-green, #47B27A); }

.block-illustrated-page-header-v1[data-preset="darkred-corn"] { background-color: var(--color-dark-red, #861135); }
.block-illustrated-page-header-v1[data-preset="darkred-corn"] .illustrated-page-header-v1__illustration { color: var(--color-corn-green, #94C24A); }

.block-illustrated-page-header-v1[data-preset="darkred-blue"] { background-color: var(--color-dark-red, #861135); }
.block-illustrated-page-header-v1[data-preset="darkred-blue"] .illustrated-page-header-v1__illustration { color: var(--color-blue, #477EC0); }

.block-illustrated-page-header-v1 .illustrated-page-header-v1__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb {
  width: 100%;
  margin: 0 0 64px;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-item {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: 6px;
  min-width: 0;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home svg {
  display: block;
  width: auto;
  height: 14px;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-separator {
  display: block;
  flex-shrink: 0;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link,
.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  max-width: min(320px, 60vw);
  overflow: hidden;
  color: var(--illustrated-page-header-v1-breadcrumb-color);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link {
  position: relative;
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home:hover,
.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link:hover {
  color: var(--color-white, #FFFFFF);
  opacity: 1;
}

.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-home:focus-visible,
.block-illustrated-page-header-v1 .page-header-v1__breadcrumb-link:focus-visible {
  outline: 2px solid var(--color-white, #FFFFFF);
  outline-offset: 3px;
  border-radius: 2px;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline {
  width: 100%;
  margin: 0;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(36px, calc(3vw + 20px), 60px);
  font-weight: 700;
  line-height: 1.15;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: wrap;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline {
  width: 100%;
  margin-top: 16px;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: pretty;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline > *,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline > * {
  margin: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline > * + *,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline > * + * {
  margin-top: 8px;
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline a,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline a,
.block-illustrated-page-header-v1 strong,
.block-illustrated-page-header-v1 b {
  color: var(--color-white, #FFFFFF);
}

.block-illustrated-page-header-v1 .illustrated-page-header-v1__headline a,
.block-illustrated-page-header-v1 .illustrated-page-header-v1__subheadline a {
  font-weight: inherit;
  text-decoration: underline;
}

@media (min-width: 768px) {
  .block-illustrated-page-header-v1 .illustrated-page-header-v1__inner {
    padding: 64px 48px;
  }

  .block-illustrated-page-header-v1 .page-header-v1__breadcrumb {
    margin-bottom: 128px;
  }
}

@media (min-width: 1024px) {
  .block-illustrated-page-header-v1 .illustrated-page-header-v1__inner {
    padding-right: 80px;
    padding-left: 80px;
  }
}


/* impact-stats-v1 */
/* ── Impact Statistics (block-impact-stats-v1) ──────────────────── */

.block-impact-stats-v1 {
  --impact-stats-v1-bg: var(--color-light-grey, #f7f7f7);
  background: var(--impact-stats-v1-bg);
  container-type: inline-size;
}

.block-impact-stats-v1[data-background-color="#FFFFFF"] {
  --impact-stats-v1-bg: var(--color-white, #ffffff);
}

.block-impact-stats-v1[data-background-color="#F7F7F7"] {
  --impact-stats-v1-bg: var(--color-light-grey, #f7f7f7);
}

.block-impact-stats-v1 .stats-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
}

/* ── Headline ── */

.block-impact-stats-v1 .stats-headline,
.block-impact-stats-v1 .stats-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
  text-align: center;
  margin: 0 0 48px;
}

/* ── Stat grid ── */

.block-impact-stats-v1 .stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  text-align: center;
}

.block-impact-stats-v1 .stat-number {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: 1.1;
  color: var(--color-moss-green);
  margin: 0 0 8px;
  min-width: 0;
  overflow-wrap: break-word;
}

.block-impact-stats-v1 .stat-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
  margin: 0 0 16px;
}

.block-impact-stats-v1 .stat-description {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-black, #333333);
  margin: 0;
}

.block-impact-stats-v1 .stats-headline p,
.block-impact-stats-v1 .stats-title p,
.block-impact-stats-v1 .stat-title p,
.block-impact-stats-v1 .stat-description p {
  margin: 0;
}

/* ── Footer ── */

.block-impact-stats-v1 .stats-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
}

.block-impact-stats-v1 .stats-footer:not(:has(*)) {
  display: none;
}

.block-impact-stats-v1 .progressbar-wrap {
  width: 100%;
}

.block-impact-stats-v1 .progressbar {
  background-color: var(--color-white);
  border-radius: 63px;
  height: 48px;
  overflow: hidden;
}

.block-impact-stats-v1 .progressbar-fill {
  background-color: var(--color-forest-green);
  border-radius: 47px;
  height: 100%;
  transition: width 0.6s ease;
  min-width: 0;
}

@keyframes wi-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes wi-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(116, 198, 157, 0.7); }
  70%  { box-shadow: 0 0 0 18px rgba(116, 198, 157, 0); }
  100% { box-shadow: 0 0 0 0 rgba(116, 198, 157, 0); }
}

.block-impact-stats-v1 .progressbar-fill.is-complete {
  background: linear-gradient(
    90deg,
    var(--color-forest-green) 0%,
    var(--color-forest-green) 30%,
    var(--color-mint-green) 50%,
    var(--color-forest-green) 70%,
    var(--color-forest-green) 100%
  );
  background-size: 200% 100%;
  animation: wi-shimmer 1.6s ease-in-out 0.8s 1 forwards;
}

.block-impact-stats-v1 .progressbar.is-complete {
  box-shadow: 0 0 0 2px var(--color-mint-green);
  animation: wi-pulse 2s ease-out 0s infinite;
}

/* Button */

.block-impact-stats-v1 .stats-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.85rem 1.5rem;
  background-color: var(--color-white);
  color: var(--color-moss-green);
  border: 1px solid var(--color-moss-green);
  border-radius: 4rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
  line-height: 1em;
  text-decoration: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: 0.16s ease-in-out all;
}

.block-impact-stats-v1 .stats-btn:hover,
.block-impact-stats-v1 .stats-btn:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
  border-color: var(--color-moss-green);
}

.block-impact-stats-v1 .stats-btn:focus-visible {
  outline: 3px solid var(--color-moss-green);
  outline-offset: 4px;
}

.block-impact-stats-v1 .stats-btn:focus:not(:focus-visible) {
  outline: none;
}

.block-impact-stats-v1 .stats-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-impact-stats-v1 .stats-btn:hover .stats-btn-icon {
  transform: translateX(3px);
}

/* Centered button when no progress bar */
.block-impact-stats-v1 .stats-footer.center-btn,
.block-impact-stats-v1 .stats-footer:not(:has(.progressbar-wrap)) {
  justify-content: center;
}

/* Tablet */
@media (min-width: 768px) {
  .block-impact-stats-v1 .stats-inner {
    padding: 64px 48px;
  }

  .block-impact-stats-v1 .stats-grid {
    gap: 32px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-impact-stats-v1 .stats-inner {
    padding: 64px 80px;
  }

  .block-impact-stats-v1 .stats-footer {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }

  .block-impact-stats-v1 .progressbar-wrap {
    flex: 1;
  }

  .block-impact-stats-v1 .stats-footer.center-btn,
  .block-impact-stats-v1 .stats-footer:not(:has(.progressbar-wrap)) {
    justify-content: center;
  }
}

/* Container queries — grid columns based on block width, not screen width */
@container (min-width: 540px) {
  .block-impact-stats-v1 .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@container (min-width: 760px) {
  .block-impact-stats-v1 .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}


/* latest-news-v1 */
/* ── Latest News (block-latest-news-v1) ──────────────────── */

.block-latest-news-v1 { background: var(--color-light-grey, #F7F7F7); }
.dark .block-latest-news-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-latest-news-v1 .ln-inner {
  max-width: 960px; margin: 0 auto; padding: 64px 24px;
}

/* Header */
.block-latest-news-v1 .ln-header { margin-bottom: 48px; }

.block-latest-news-v1 .ln-title {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700; line-height: 1.15;
  color: var(--color-forest-green, #004432); margin: 0 0 16px;
}
.dark .block-latest-news-v1 .ln-title { color: var(--color-accent-dark, #47b27a); }

.block-latest-news-v1 .ln-title-bird {
  height: 0.85em; width: auto; flex-shrink: 0; fill: currentColor; transform: translateY(-2px);
}

/* Scroll animations */
.block-latest-news-v1.ln-animate .ln-header { opacity: 0; transition: opacity 0.7s ease; }
.block-latest-news-v1.ln-animate .ln-header.ln-visible { opacity: 1; }
.block-latest-news-v1.ln-animate .ln-card { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.block-latest-news-v1.ln-animate .ln-card.ln-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .block-latest-news-v1.ln-animate .ln-header,
  .block-latest-news-v1.ln-animate .ln-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}

.block-latest-news-v1 .ln-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6; color: var(--color-grey-80, #4D4D4D); margin: 0; text-align: center;
}
.block-latest-news-v1 .ln-desc p { margin: 0; }
.dark .block-latest-news-v1 .ln-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

/* Grid */
.block-latest-news-v1 .ln-grid { display: flex; flex-direction: column; gap: 24px; }

/* Cards shared */
.block-latest-news-v1 .ln-card {
  display: flex; text-decoration: none; color: inherit;
  border-radius: 16px; overflow: hidden;
  background: var(--color-white, #FFFFFF);
  transition: transform 0.2s ease, box-shadow 0.2s ease; cursor: pointer;
}
.dark .block-latest-news-v1 .ln-card { background: var(--color-surface-dark, #1a2920); }
.block-latest-news-v1 .ln-card:hover {
  transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0, 68, 50, 0.12);
}
.dark .block-latest-news-v1 .ln-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.35); }
.block-latest-news-v1 .ln-card:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432); outline-offset: 3px;
}
.dark .block-latest-news-v1 .ln-card:focus-visible { outline-color: var(--color-mint-green, #78c5a0); }

/* Image wrap */
.block-latest-news-v1 .ln-card-img-wrap {
  overflow: hidden; position: relative; background: var(--color-grey-20, #DCDCDC);
}
.dark .block-latest-news-v1 .ln-card-img-wrap { background: rgba(255,255,255,0.06); }
.block-latest-news-v1 .ln-card-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.45s ease;
}
.block-latest-news-v1 .ln-card:hover .ln-card-img { transform: scale(1.05); }

/* Hero card */
.block-latest-news-v1 .ln-card--hero { flex-direction: row; }
.block-latest-news-v1 .ln-card--hero .ln-card-img-wrap { width: 55%; flex-shrink: 0; aspect-ratio: 16 / 9; }
.block-latest-news-v1 .ln-card--hero .ln-card-body {
  flex: 1; padding: 40px 48px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 12px;
}
.block-latest-news-v1 .ln-card--hero .ln-card-date {
  margin-top: auto;
}

/* Sub-grid */
.block-latest-news-v1 .ln-sub-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.block-latest-news-v1 .ln-card--sub { flex-direction: column; }
.block-latest-news-v1 .ln-card--sub .ln-card-img-wrap {
  width: 100%; aspect-ratio: 16 / 9; flex-shrink: 0;
}
.block-latest-news-v1 .ln-card--sub .ln-card-body {
  flex: 1; padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 8px;
}
.block-latest-news-v1 .ln-card--sub .ln-card-date { margin-top: auto; }

/* Card content */
.block-latest-news-v1 .ln-card-category {
  display: none; align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border-radius: 8px; padding: 4px 10px;
}
.block-latest-news-v1 .ln-card-category:not(:empty) { display: inline-block; }
.dark .block-latest-news-v1 .ln-card-category {
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}

.block-latest-news-v1 .ln-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700; color: var(--color-black, #333333); margin: 0; line-height: 1.3;
}
.dark .block-latest-news-v1 .ln-card-title { color: var(--color-text-dark, #f0f4f2); }

.block-latest-news-v1 .ln-card-seo {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0;
}
.dark .block-latest-news-v1 .ln-card-seo { color: var(--color-text-secondary-dark, rgba(255,255,255,0.62)); }

.block-latest-news-v1 .ln-card-date {
  display: block;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px; color: var(--color-grey-60, #737373);
}
.dark .block-latest-news-v1 .ln-card-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

/* Mobile */
@media (max-width: 767px) {
  .block-latest-news-v1 .ln-inner { padding: 48px 24px; }
  .block-latest-news-v1 .ln-card--hero { flex-direction: column; min-height: auto; }
  .block-latest-news-v1 .ln-card--hero .ln-card-img-wrap { width: 100%; aspect-ratio: 16 / 9; }
  .block-latest-news-v1 .ln-card--hero .ln-card-body { padding: 24px 20px 28px; }
  .block-latest-news-v1 .ln-sub-grid { grid-template-columns: 1fr; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-latest-news-v1 .ln-title { font-size: 40px; }
  .block-latest-news-v1 .ln-card--hero .ln-card-body { padding: 32px 36px; }
}

@media (min-width: 1024px) {
  .block-latest-news-v1 .ln-title { font-size: 46px; }
}


/* latest-story-card-list-v1 */
/* Latest Story Card List (block-latest-story-card-list-v1) */

.block-latest-story-card-list-v1 {
  --latest-story-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
  --latest-story-card-list-v1-card-bg: var(--color-white, #ffffff);
  background: var(--latest-story-card-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-latest-story-card-list-v1[data-background-color="#FFFFFF"] {
  --latest-story-card-list-v1-bg: var(--color-white, #ffffff);
}

.block-latest-story-card-list-v1[data-background-color="#F7F7F7"] {
  --latest-story-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-latest-story-card-list-v1 {
  --latest-story-card-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --latest-story-card-list-v1-card-bg: var(--color-surface-dark, #1a2920);
  color: var(--color-text-dark, #f0f4f2);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__header {
  margin-bottom: 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__headline p {
  margin: 0;
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__item {
  min-width: 0;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--latest-story-card-list-v1-card-bg);
  box-shadow: 0 1px 2px rgba(0, 68, 50, 0.08);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:focus-visible,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__image,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:hover .latest-story-card-list-v1__image,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:focus-visible .latest-story-card-list-v1__image {
  transform: scale(1.04);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title p,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__description p,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta p {
  margin: 0;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:hover,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:hover,
.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__date {
  color: var(--color-grey-60, #737373);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__category {
  display: inline-block;
  align-self: flex-start;
  padding: 4px 10px;
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px;
  background: rgba(0, 68, 50, 0.07);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__date {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__category {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.85);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__description {
  display: -webkit-box;
  margin-top: 12px;
  overflow: hidden;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__footer {
  padding: 0 24px 24px;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover .latest-story-card-list-v1__cta-icon,
.block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible .latest-story-card-list-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover,
.dark .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

@media (min-width: 768px) {
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__inner {
    padding: 64px 48px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
    font-size: 40px;
  }
}

@media (min-width: 1024px) {
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__inner {
    padding: 64px 80px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__header {
    margin-bottom: 40px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item {
    grid-column: span 2;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(2),
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__item:first-child:nth-last-child(2) ~ .latest-story-card-list-v1__item {
    grid-column: span 3;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__headline {
    font-size: 46px;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__title {
    font-size: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__image,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__title-link,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta-icon {
    transition: none !important;
  }

  .block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:hover .latest-story-card-list-v1__image,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__media-link:focus-visible .latest-story-card-list-v1__image,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:hover .latest-story-card-list-v1__cta-icon,
  .block-latest-story-card-list-v1 .latest-story-card-list-v1__cta:focus-visible .latest-story-card-list-v1__cta-icon {
    transform: none !important;
  }
}


/* logoed-text-v1 */
.block-logoed-text-v1 {
  background-color: var(--color-light-grey, #F7F7F7);
}
.dark .block-logoed-text-v1 {
  background-color: var(--color-surface-dark, #1a2920);
}
.block-logoed-text-v1 .lt-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.block-logoed-text-v1 .lt-logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 160px;
  padding: 24px;
  border-radius: 12px;
  background-color: var(--color-white, #FFFFFF);
  margin: 0;
  flex-shrink: 0;
}
.dark .block-logoed-text-v1 .lt-logo-box {
  background-color: var(--color-bg-dark, #0f1a14);
}
.block-logoed-text-v1 .lt-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.block-logoed-text-v1 .lt-logo-placeholder {
  width: 100%;
  height: 100%;
  background-color: var(--color-grey-20, #DCDCDC);
  border-radius: 8px;
}
.block-logoed-text-v1 .lt-body {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 400;
  font-size: clamp(16px, calc(0.25vw + 15px), var(--text-body, 18px));
  line-height: var(--text-body--line-height, 1.6);
  color: var(--color-black, #333333);
}
.dark .block-logoed-text-v1 .lt-body {
  color: var(--color-text-dark, #f0f4f2);
}
.block-logoed-text-v1 .lt-body p { margin: 0 0 16px; }
.block-logoed-text-v1 .lt-body p:last-child { margin-bottom: 0; }
.block-logoed-text-v1 .lt-body a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-logoed-text-v1 .lt-body a { color: var(--color-accent-dark, #47B27A); }
.block-logoed-text-v1 .lt-body a:hover { text-decoration: none; }
.block-logoed-text-v1 .lt-body a:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 2px;
  border-radius: 2px;
}
.dark .block-logoed-text-v1 .lt-body a:focus-visible {
  outline-color: var(--color-accent-dark, #47B27A);
}
.block-logoed-text-v1 .lt-body strong { font-weight: 700; }
.block-logoed-text-v1 .lt-body ul,
.block-logoed-text-v1 .lt-body ol { padding-left: 1.4em; margin: 0 0 16px; }
.block-logoed-text-v1 .lt-body li { margin-bottom: 8px; }
@media (min-width: 768px) {
  .block-logoed-text-v1 .lt-inner { padding: 64px 48px; }
}
@media (min-width: 1024px) {
  .block-logoed-text-v1 .lt-inner {
    padding: 64px 80px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    align-items: center;
  }
  .block-logoed-text-v1 .lt-logo-box {
    grid-column: 1 / 4;
    width: auto;
    height: 180px;
  }
  .block-logoed-text-v1 .lt-body {
    grid-column: 5 / -1;
  }
}

/* manual-stats-v1 */
/* ── Manual Statistics (block-manual-stats-v1) ──────────────────── */

.block-manual-stats-v1 {
  --manual-stats-v1-bg: var(--color-light-grey, #f7f7f7);
  background: var(--manual-stats-v1-bg);
  container-type: inline-size;
}

.block-manual-stats-v1[data-background-color="#FFFFFF"] {
  --manual-stats-v1-bg: var(--color-white, #ffffff);
}

.block-manual-stats-v1[data-background-color="#F7F7F7"] {
  --manual-stats-v1-bg: var(--color-light-grey, #f7f7f7);
}

.block-manual-stats-v1 .stats-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
}

/* ── Headline ── */

.block-manual-stats-v1 .stats-headline,
.block-manual-stats-v1 .stats-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
  text-align: center;
  margin: 0 0 48px;
}

/* ── Stat grid ── */

.block-manual-stats-v1 .stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  text-align: center;
}

.block-manual-stats-v1 .stat-number {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: 1.1;
  color: var(--color-moss-green);
  margin: 0 0 8px;
  min-width: 0;
  overflow-wrap: break-word;
}

.block-manual-stats-v1 .stat-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
  margin: 0 0 16px;
}

.block-manual-stats-v1 .stat-description {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-black, #333333);
  margin: 0;
}

.block-manual-stats-v1 .stats-headline p,
.block-manual-stats-v1 .stats-title p,
.block-manual-stats-v1 .stat-title p,
.block-manual-stats-v1 .stat-description p {
  margin: 0;
}

/* ── Footer ── */

.block-manual-stats-v1 .stats-footer {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

/* Button */

.block-manual-stats-v1 .stats-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.85rem 1.5rem;
  background-color: var(--color-white);
  color: var(--color-moss-green);
  border: 1px solid var(--color-moss-green);
  border-radius: 4rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
  line-height: 1em;
  text-decoration: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: 0.16s ease-in-out all;
}

.block-manual-stats-v1 .stats-btn:hover,
.block-manual-stats-v1 .stats-btn:focus-visible {
  background-color: var(--color-moss-green);
  color: var(--color-white);
  border-color: var(--color-moss-green);
}

.block-manual-stats-v1 .stats-btn:focus-visible {
  outline: 3px solid var(--color-moss-green);
  outline-offset: 4px;
}

.block-manual-stats-v1 .stats-btn:focus:not(:focus-visible) {
  outline: none;
}

.block-manual-stats-v1 .stats-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-manual-stats-v1 .stats-btn:hover .stats-btn-icon {
  transform: translateX(3px);
}

/* Tablet */
@media (min-width: 768px) {
  .block-manual-stats-v1 .stats-inner {
    padding: 64px 48px;
  }

  .block-manual-stats-v1 .stats-grid {
    gap: 32px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-manual-stats-v1 .stats-inner {
    padding: 64px 80px;
  }
}

/* Container queries — grid columns based on block width, not screen width */
@container (min-width: 540px) {
  .block-manual-stats-v1 .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@container (min-width: 760px) {
  .block-manual-stats-v1 .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}


/* more-stories-v1 */
/* ── More Stories (block-more-stories-v1) ──────────────────── */

.block-more-stories-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-more-stories-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-more-stories-v1 .ms-inner {
  max-width: 860px; margin: 0 auto; padding: 64px 24px;
}

.block-more-stories-v1 .ms-title {
  margin: 0 0 24px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}
.block-more-stories-v1 .ms-title p { margin: 0; }
.dark .block-more-stories-v1 .ms-title { color: var(--color-accent-dark, #47b27a); }

.block-more-stories-v1 .ms-list { list-style: none; padding: 0; margin: 0; }
.block-more-stories-v1 .ms-list li + li { border-top: 1px solid var(--color-grey-20, #DCDCDC); }
.dark .block-more-stories-v1 .ms-list li + li { border-color: rgba(255,255,255,0.1); }

.block-more-stories-v1 .ms-card {
  display: flex; flex-direction: row; align-items: flex-start; gap: 24px;
  padding: 24px 0; text-decoration: none; color: inherit; cursor: pointer;
}

.block-more-stories-v1 .ms-card-img-wrap {
  flex-shrink: 0; width: 280px; aspect-ratio: 16 / 9;
  border-radius: 16px; overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-more-stories-v1 .ms-card-img-wrap { background: rgba(255,255,255,0.06); }
.block-more-stories-v1 .ms-card-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.45s ease;
}
.block-more-stories-v1 .ms-card:hover .ms-card-img { transform: scale(1.05); }

.block-more-stories-v1 .ms-card-body {
  flex: 1; align-self: stretch; display: flex; flex-direction: column; gap: 6px; min-width: 0;
}

.block-more-stories-v1 .ms-card-category {
  display: none; align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px; padding: 4px 10px;
}
.block-more-stories-v1 .ms-card-category:not(:empty) { display: inline-block; }
.dark .block-more-stories-v1 .ms-card-category {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
}

.block-more-stories-v1 .ms-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700; line-height: 1.3;
  color: var(--color-black, #333333); margin: 0;
  transition: color 0.2s ease;
}
.dark .block-more-stories-v1 .ms-card-title { color: var(--color-text-dark, #f0f4f2); }
.block-more-stories-v1 .ms-card:hover .ms-card-title { color: var(--color-forest-green, #004432); }
.dark .block-more-stories-v1 .ms-card:hover .ms-card-title { color: var(--color-accent-dark, #47B27A); }

.block-more-stories-v1 .ms-card-seo {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0;
}
.dark .block-more-stories-v1 .ms-card-seo { color: var(--color-text-secondary-dark, rgba(255,255,255,0.62)); }

.block-more-stories-v1 .ms-card-date {
  display: block; margin-top: auto;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px; line-height: 1.4; color: var(--color-grey-60, #737373);
}
.dark .block-more-stories-v1 .ms-card-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-more-stories-v1 .ms-footer { margin-top: 48px; text-align: center; }

.block-more-stories-v1 .ms-view-all {
  display: inline-flex; align-items: center; gap: 10px;
  padding: .85rem 1.5rem; border-radius: 4rem;
  background-color: var(--color-white, #FFFFFF);
  border: 1px solid var(--color-moss-green, #13735F);
  color: var(--color-moss-green, #13735F);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1.125rem; font-weight: 600; line-height: 1em;
  text-decoration: none; cursor: pointer;
  transition: .16s ease-in-out all;
}
.block-more-stories-v1 .ms-view-all:hover,
.block-more-stories-v1 .ms-view-all:focus-visible {
  background-color: var(--color-moss-green, #13735F);
  border-color: var(--color-moss-green, #13735F);
  color: var(--color-white, #FFFFFF);
}
.block-more-stories-v1 .ms-view-all:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F); outline-offset: 4px;
}
.dark .block-more-stories-v1 .ms-view-all {
  background-color: transparent;
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-accent-dark, #47B27A);
}
.dark .block-more-stories-v1 .ms-view-all:hover,
.dark .block-more-stories-v1 .ms-view-all:focus-visible {
  background-color: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}


.block-more-stories-v1.ms-animate .ms-title { opacity: 0; transition: opacity 0.7s ease; }
.block-more-stories-v1.ms-animate .ms-title.ms-visible { opacity: 1; }
.block-more-stories-v1.ms-animate .ms-card {
  opacity: 0; transform: translateX(-8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.block-more-stories-v1.ms-animate .ms-card.ms-visible { opacity: 1; transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .block-more-stories-v1.ms-animate .ms-title,
  .block-more-stories-v1.ms-animate .ms-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (max-width: 767px) {
  .block-more-stories-v1 .ms-inner { padding: 48px 24px; }
  .block-more-stories-v1 .ms-card { flex-direction: column; gap: 12px; }
  .block-more-stories-v1 .ms-card-img-wrap { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 16px; }
}

@media (min-width: 768px) {
  .block-more-stories-v1 .ms-title { font-size: 40px; }
}

@media (min-width: 1024px) {
  .block-more-stories-v1 .ms-title {
    margin-bottom: 40px;
    font-size: 46px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-more-stories-v1 .ms-card-img-wrap { width: 280px; }
}


/* newsletter-subscribe-v1 */
/* Newsletter Subscribe (block-newsletter-subscribe-v1) */

.block-newsletter-subscribe-v1 {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
  --newsletter-subscribe-v1-surface: rgba(255, 255, 255, 0.08);
  --newsletter-subscribe-v1-surface-hover: rgba(255, 255, 255, 0.12);
  --newsletter-subscribe-v1-text: var(--color-white, #ffffff);
  --newsletter-subscribe-v1-muted: rgba(255, 255, 255, 0.9);
  --newsletter-subscribe-v1-soft: rgba(255, 255, 255, 0.18);
  --newsletter-subscribe-v1-line: rgba(255, 255, 255, 0.44);
  --newsletter-subscribe-v1-link: var(--color-white, #ffffff);
  --newsletter-subscribe-v1-accent: var(--color-white, #ffffff);
  --newsletter-subscribe-v1-error: #ffe5e5;
  position: relative;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  max-width: 100%;
  background-color: var(--newsletter-subscribe-v1-bg);
  color: var(--newsletter-subscribe-v1-text);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  overflow: clip;
  contain: paint;
  clip-path: inset(0);
  color: var(--newsletter-subscribe-v1-illu);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__bg-svg {
  position: absolute;
  height: 653%;
  width: auto;
  top: -310%;
  left: 4%;
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

.block-newsletter-subscribe-v1,
.block-newsletter-subscribe-v1[data-preset="forest-mint"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
}

.block-newsletter-subscribe-v1[data-preset="forest-light"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-light-green, #8acbc1);
}

.block-newsletter-subscribe-v1[data-preset="forest-yellow"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-yellow-green, #e6ce00);
}

.block-newsletter-subscribe-v1[data-preset="forest-blue"] {
  --newsletter-subscribe-v1-bg: var(--color-forest-green, #004432);
  --newsletter-subscribe-v1-illu: var(--color-blue, #477ec0);
}

.block-newsletter-subscribe-v1[data-preset="moss-mint"] {
  --newsletter-subscribe-v1-bg: var(--color-moss-green, #13735f);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
}

.block-newsletter-subscribe-v1[data-preset="moss-blue"] {
  --newsletter-subscribe-v1-bg: var(--color-moss-green, #13735f);
  --newsletter-subscribe-v1-illu: var(--color-blue, #477ec0);
}

.block-newsletter-subscribe-v1[data-preset="moss-red"] {
  --newsletter-subscribe-v1-bg: var(--color-moss-green, #13735f);
  --newsletter-subscribe-v1-illu: var(--color-red, #e52322);
}

.block-newsletter-subscribe-v1[data-preset="darkred-mint"] {
  --newsletter-subscribe-v1-bg: var(--color-dark-red, #861135);
  --newsletter-subscribe-v1-illu: var(--color-mint-green, #47b27a);
}

.block-newsletter-subscribe-v1[data-preset="darkred-corn"] {
  --newsletter-subscribe-v1-bg: var(--color-dark-red, #861135);
  --newsletter-subscribe-v1-illu: var(--color-corn-green, #94c24a);
}

.block-newsletter-subscribe-v1[data-preset="darkred-blue"] {
  --newsletter-subscribe-v1-bg: var(--color-dark-red, #861135);
  --newsletter-subscribe-v1-illu: var(--color-blue, #477ec0);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 36px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__copy {
  position: relative;
  max-width: 800px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__headline {
  margin: 0;
  color: var(--newsletter-subscribe-v1-text);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.12;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description {
  max-width: 720px;
  margin-top: 22px;
  color: var(--newsletter-subscribe-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message p {
  margin: 0;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description p + p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent p + p,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message p + p {
  margin-top: 12px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__panel {
  position: relative;
  padding-top: 30px;
  border-top: 1px solid var(--newsletter-subscribe-v1-line);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__hp,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__error-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__field {
  min-width: 0;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__label {
  display: block;
  margin-bottom: 8px;
  color: var(--newsletter-subscribe-v1-text);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  transition: border-color 0.15s, background 0.15s;
  box-sizing: border-box;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input:focus {
  outline: none;
  border-color: var(--color-mint-green, #47B27A);
  background: rgba(255, 255, 255, 0.12);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input[aria-invalid="true"],
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__input.newsletter-subscribe-v1__input--invalid {
  border-color: var(--newsletter-subscribe-v1-error);
  box-shadow: 0 0 0 4px rgba(255, 180, 180, 0.18);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent {
  color: var(--newsletter-subscribe-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent a,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message a {
  color: var(--newsletter-subscribe-v1-link);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__consent a:focus-visible,
.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message a:focus-visible {
  outline: 2px solid var(--newsletter-subscribe-v1-accent);
  outline-offset: 4px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__error {
  min-height: 20px;
  margin: -8px 0 -4px;
  color: var(--newsletter-subscribe-v1-error);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit {
  width: 100%;
  height: 40px;
  padding: 0 clamp(12px, 1.5vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  background: transparent;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(13px, 0.9vw, 14px);
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  letter-spacing: 0.01em;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit p {
  margin: 0;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit:hover {
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.08);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit:focus-visible {
  outline: 2px solid var(--color-white, #ffffff);
  outline-offset: 2px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__submit.is-loading .newsletter-subscribe-v1__submit-label {
  opacity: 0.72;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding-top: 4px;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success[hidden] {
  display: none;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--newsletter-subscribe-v1-line);
  border-radius: 8px;
  background: var(--newsletter-subscribe-v1-surface);
  color: var(--newsletter-subscribe-v1-text);
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-title {
  margin: 0;
  color: var(--newsletter-subscribe-v1-text);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

.block-newsletter-subscribe-v1 .newsletter-subscribe-v1__success-message {
  margin-top: 8px;
  color: var(--newsletter-subscribe-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
    padding: 72px 48px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__headline {
    font-size: 42px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__description {
    font-size: 18px;
  }
}

@media (min-width: 1024px) {
  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
    grid-template-columns: minmax(0, 1fr) 1px minmax(300px, 420px);
    column-gap: 28px;
    row-gap: 56px;
    align-items: center;
    padding: 88px 80px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner::before {
    content: "";
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    width: 1px;
    background: var(--newsletter-subscribe-v1-line);
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__copy {
    grid-column: 1;
    grid-row: 1;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__headline {
    font-size: 50px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__panel {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 100%;
    max-width: 420px;
    padding-top: 0;
    padding-left: 0;
    border-top: 0;
    border-left: 0;
  }
}

@media (min-width: 1280px) {
  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__inner {
    column-gap: 36px;
    row-gap: 72px;
  }

  .block-newsletter-subscribe-v1 .newsletter-subscribe-v1__panel {
    max-width: 400px;
  }
}


/* page-card-list-v1 */
/* Page Card List (block-page-card-list-v1) */

.block-page-card-list-v1 {
  --page-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
  --page-card-list-v1-card-bg: var(--color-white, #ffffff);
  background: var(--page-card-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-page-card-list-v1[data-background-color="#FFFFFF"] {
  --page-card-list-v1-bg: var(--color-white, #ffffff);
}

.block-page-card-list-v1[data-background-color="#F7F7F7"] {
  --page-card-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-page-card-list-v1 {
  --page-card-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --page-card-list-v1-card-bg: var(--color-surface-dark, #1a2920);
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-card-list-v1 .page-card-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-page-card-list-v1 .page-card-list-v1__header {
  margin-bottom: 24px;
}

.block-page-card-list-v1 .page-card-list-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-page-card-list-v1 .page-card-list-v1__headline p {
  margin: 0;
}

.dark .block-page-card-list-v1 .page-card-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-card-list-v1 .page-card-list-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-page-card-list-v1 .page-card-list-v1__item {
  min-width: 0;
}

.block-page-card-list-v1 .page-card-list-v1__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--page-card-list-v1-card-bg);
  box-shadow: 0 1px 2px rgba(0, 68, 50, 0.08);
}

.dark .block-page-card-list-v1 .page-card-list-v1__card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
}

.block-page-card-list-v1 .page-card-list-v1__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.block-page-card-list-v1 .page-card-list-v1__title-link:focus-visible,
.block-page-card-list-v1 .page-card-list-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-card-list-v1 .page-card-list-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-page-card-list-v1 .page-card-list-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-page-card-list-v1 .page-card-list-v1__image,
.block-page-card-list-v1 .page-card-list-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-card-list-v1 .page-card-list-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-page-card-list-v1 .page-card-list-v1__media-link:hover .page-card-list-v1__image,
.block-page-card-list-v1 .page-card-list-v1__media-link:focus-visible .page-card-list-v1__image {
  transform: scale(1.04);
}

.block-page-card-list-v1 .page-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-page-card-list-v1 .page-card-list-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-page-card-list-v1 .page-card-list-v1__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
}

.block-page-card-list-v1 .page-card-list-v1__title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.block-page-card-list-v1 .page-card-list-v1__title p,
.block-page-card-list-v1 .page-card-list-v1__description p,
.block-page-card-list-v1 .page-card-list-v1__cta p {
  margin: 0;
}

.block-page-card-list-v1 .page-card-list-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-card-list-v1 .page-card-list-v1__title-link:hover,
.block-page-card-list-v1 .page-card-list-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-page-card-list-v1 .page-card-list-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-card-list-v1 .page-card-list-v1__title-link:hover,
.dark .block-page-card-list-v1 .page-card-list-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-card-list-v1 .page-card-list-v1__description {
  display: -webkit-box;
  margin-top: 12px;
  overflow: hidden;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
}

.dark .block-page-card-list-v1 .page-card-list-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.block-page-card-list-v1 .page-card-list-v1__footer {
  padding: 0 24px 24px;
}

.block-page-card-list-v1 .page-card-list-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-card-list-v1 .page-card-list-v1__cta:hover,
.block-page-card-list-v1 .page-card-list-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-page-card-list-v1 .page-card-list-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-page-card-list-v1 .page-card-list-v1__cta:hover .page-card-list-v1__cta-icon,
.block-page-card-list-v1 .page-card-list-v1__cta:focus-visible .page-card-list-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-page-card-list-v1 .page-card-list-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-card-list-v1 .page-card-list-v1__cta:hover,
.dark .block-page-card-list-v1 .page-card-list-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

@media (min-width: 768px) {
  .block-page-card-list-v1 .page-card-list-v1__inner {
    padding: 64px 48px;
  }

  .block-page-card-list-v1 .page-card-list-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-page-card-list-v1 .page-card-list-v1__headline {
    font-size: 40px;
  }
}

@media (min-width: 1024px) {
  .block-page-card-list-v1 .page-card-list-v1__inner {
    padding: 64px 80px;
  }

  .block-page-card-list-v1 .page-card-list-v1__header {
    margin-bottom: 40px;
  }

  .block-page-card-list-v1 .page-card-list-v1__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
  }

  .block-page-card-list-v1 .page-card-list-v1__item {
    grid-column: span 2;
  }

  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(1) {
    grid-column: 1 / -1;
  }

  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(2),
  .block-page-card-list-v1 .page-card-list-v1__item:first-child:nth-last-child(2) ~ .page-card-list-v1__item {
    grid-column: span 3;
  }

  .block-page-card-list-v1 .page-card-list-v1__headline {
    font-size: 46px;
  }

  .block-page-card-list-v1 .page-card-list-v1__title {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-page-card-list-v1 .page-card-list-v1__image,
  .block-page-card-list-v1 .page-card-list-v1__title-link,
  .block-page-card-list-v1 .page-card-list-v1__cta,
  .block-page-card-list-v1 .page-card-list-v1__cta-icon {
    transition: none !important;
  }

  .block-page-card-list-v1 .page-card-list-v1__media-link:hover .page-card-list-v1__image,
  .block-page-card-list-v1 .page-card-list-v1__media-link:focus-visible .page-card-list-v1__image,
  .block-page-card-list-v1 .page-card-list-v1__cta:hover .page-card-list-v1__cta-icon,
  .block-page-card-list-v1 .page-card-list-v1__cta:focus-visible .page-card-list-v1__cta-icon {
    transform: none !important;
  }
}


/* page-carousel-v1 */
/* Page Carousel (block-page-carousel-v1) */

.block-page-carousel-v1 {
  --page-carousel-v1-bg: var(--color-white, #ffffff);
  --page-carousel-v1-slide-width: calc(100vw - 48px);
  --page-carousel-v1-track-gap: 24px;
  --page-carousel-v1-track-gutter: 24px;
  background: var(--page-carousel-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
  padding: 64px 0;
}

.block-page-carousel-v1[data-background-color="#FFFFFF"] {
  --page-carousel-v1-bg: var(--color-white, #ffffff);
}

.block-page-carousel-v1[data-background-color="#F7F7F7"] {
  --page-carousel-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-page-carousel-v1 {
  --page-carousel-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-carousel-v1 .page-carousel-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.block-page-carousel-v1 .page-carousel-v1__header {
  display: grid;
  gap: 24px;
}

.block-page-carousel-v1 .page-carousel-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-page-carousel-v1 .page-carousel-v1__headline p,
.block-page-carousel-v1 .page-carousel-v1__intro p,
.block-page-carousel-v1 .page-carousel-v1__title p,
.block-page-carousel-v1 .page-carousel-v1__description p,
.block-page-carousel-v1 .page-carousel-v1__cta p {
  margin: 0;
}

.dark .block-page-carousel-v1 .page-carousel-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-carousel-v1 .page-carousel-v1__intro {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.block-page-carousel-v1 .page-carousel-v1__intro p + p {
  margin-top: 12px;
}

.dark .block-page-carousel-v1 .page-carousel-v1__intro {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-page-carousel-v1 .page-carousel-v1__carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-page-carousel-v1 .page-carousel-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--page-carousel-v1-track-gap);
  margin: 0;
  padding: 16px 0 0 var(--page-carousel-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-page-carousel-v1 .page-carousel-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--page-carousel-v1-track-gutter) - var(--page-carousel-v1-track-gap)));
}

.block-page-carousel-v1 .page-carousel-v1__track::-webkit-scrollbar {
  display: none;
}

.block-page-carousel-v1 .page-carousel-v1__slide {
  flex: 0 0 var(--page-carousel-v1-slide-width);
  min-width: 0;
  scroll-snap-align: center;
  transform-origin: center center;
}

.block-page-carousel-v1.pc-js-ready .page-carousel-v1__slide {
  will-change: transform;
}

.block-page-carousel-v1 .page-carousel-v1__media-link,
.block-page-carousel-v1 .page-carousel-v1__media {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 8px;
}

.block-page-carousel-v1 .page-carousel-v1__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-page-carousel-v1 .page-carousel-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-page-carousel-v1 .page-carousel-v1__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  -webkit-backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.block-page-carousel-v1.pc-js-ready .page-carousel-v1__slide:not(.pc-active) .page-carousel-v1__media::after {
  opacity: 1;
}

.block-page-carousel-v1 .page-carousel-v1__image,
.block-page-carousel-v1 .page-carousel-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-carousel-v1 .page-carousel-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-page-carousel-v1 .page-carousel-v1__media-link:hover .page-carousel-v1__image,
.block-page-carousel-v1 .page-carousel-v1__media-link:focus-visible .page-carousel-v1__image {
  transform: scale(1.025);
}

.block-page-carousel-v1 .page-carousel-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-page-carousel-v1 .page-carousel-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-page-carousel-v1 .page-carousel-v1__content {
  max-width: 760px;
  margin-top: 24px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.block-page-carousel-v1.pc-js-ready .page-carousel-v1__slide:not(.pc-active) .page-carousel-v1__content {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
}

.block-page-carousel-v1 .page-carousel-v1__title {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.22;
  color: var(--color-forest-green, #004432);
}

.dark .block-page-carousel-v1 .page-carousel-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-carousel-v1 .page-carousel-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-carousel-v1 .page-carousel-v1__title-link:hover,
.block-page-carousel-v1 .page-carousel-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-page-carousel-v1 .page-carousel-v1__title-link:hover,
.dark .block-page-carousel-v1 .page-carousel-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-carousel-v1 .page-carousel-v1__description {
  display: -webkit-box;
  max-width: 72ch;
  margin-top: 14px;
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
}

.dark .block-page-carousel-v1 .page-carousel-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-page-carousel-v1 .page-carousel-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-carousel-v1 .page-carousel-v1__cta:hover,
.block-page-carousel-v1 .page-carousel-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.dark .block-page-carousel-v1 .page-carousel-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-carousel-v1 .page-carousel-v1__cta:hover,
.dark .block-page-carousel-v1 .page-carousel-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-carousel-v1 .page-carousel-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-page-carousel-v1 .page-carousel-v1__cta:hover .page-carousel-v1__cta-icon,
.block-page-carousel-v1 .page-carousel-v1__cta:focus-visible .page-carousel-v1__cta-icon {
  transform: translateX(3px);
}

.block-page-carousel-v1 .page-carousel-v1__title-link:focus-visible,
.block-page-carousel-v1 .page-carousel-v1__cta:focus-visible,
.block-page-carousel-v1 .page-carousel-v1__media-link:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-carousel-v1 .page-carousel-v1__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: var(--page-carousel-v1-slide-width);
  margin: 20px auto 0;
}

.block-page-carousel-v1 .page-carousel-v1__progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-page-carousel-v1 .page-carousel-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-page-carousel-v1 .page-carousel-v1__progress-fill {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-page-carousel-v1 .page-carousel-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-page-carousel-v1 .page-carousel-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--pc-p, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-page-carousel-v1 .page-carousel-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-page-carousel-v1 .page-carousel-v1__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-page-carousel-v1 .page-carousel-v1__btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-page-carousel-v1 .page-carousel-v1__btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-page-carousel-v1 .page-carousel-v1__btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-page-carousel-v1 .page-carousel-v1__btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-page-carousel-v1 .page-carousel-v1__btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-page-carousel-v1 .page-carousel-v1__btn:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-page-carousel-v1 {
    --page-carousel-v1-slide-width: calc(100vw - 96px);
    --page-carousel-v1-track-gap: 32px;
    --page-carousel-v1-track-gutter: 48px;
  }

  .block-page-carousel-v1 .page-carousel-v1__inner {
    padding: 0 48px 32px;
  }

  .block-page-carousel-v1 .page-carousel-v1__content {
    margin-top: 28px;
  }

  .block-page-carousel-v1 .page-carousel-v1__progress {
    flex: none;
    width: 220px;
  }
}

@media (min-width: 1024px) {
  .block-page-carousel-v1 {
    --page-carousel-v1-slide-width: min(960px, calc(100vw - 160px));
    --page-carousel-v1-track-gutter: max(80px, calc(50vw - 480px));
  }

  .block-page-carousel-v1 .page-carousel-v1__inner {
    padding: 0 80px 32px;
  }

  .block-page-carousel-v1 .page-carousel-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-page-carousel-v1 .page-carousel-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-page-carousel-v1 .page-carousel-v1__intro {
    grid-column: 7 / span 6;
  }

}

@media (prefers-reduced-motion: reduce) {
  .block-page-carousel-v1 .page-carousel-v1__media::after,
  .block-page-carousel-v1 .page-carousel-v1__image,
  .block-page-carousel-v1 .page-carousel-v1__content,
  .block-page-carousel-v1 .page-carousel-v1__cta,
  .block-page-carousel-v1 .page-carousel-v1__cta-icon,
  .block-page-carousel-v1 .page-carousel-v1__title-link,
  .block-page-carousel-v1 .page-carousel-v1__progress-fill::after,
  .block-page-carousel-v1 .page-carousel-v1__btn {
    transition: none !important;
  }

  .block-page-carousel-v1 .page-carousel-v1__media-link:hover .page-carousel-v1__image,
  .block-page-carousel-v1 .page-carousel-v1__media-link:focus-visible .page-carousel-v1__image,
  .block-page-carousel-v1 .page-carousel-v1__cta:hover .page-carousel-v1__cta-icon,
  .block-page-carousel-v1 .page-carousel-v1__cta:focus-visible .page-carousel-v1__cta-icon {
    transform: none !important;
  }
}


/* page-header-v1 */
/* ── Page Header (block-page-header-v1) ───────────────────────── */

.block-page-header-v1 {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  min-height: calc(
    100svh
    - var(--nav-height, 60px)
    - var(--wi-info-banner-offset, 0px)
  );
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}

.block-page-header-v1 .page-header-v1__media {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}

.block-page-header-v1 .page-header-v1__picture,
.block-page-header-v1 .page-header-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-header-v1 .page-header-v1__picture {
  overflow: hidden;
}

.block-page-header-v1 .page-header-v1__picture--mobile {
  display: none;
}

.block-page-header-v1 .page-header-v1__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.block-page-header-v1 .page-header-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), transparent 55%),
    var(--color-grey-20, #DCDCDC);
}

.block-page-header-v1 .page-header-v1__text-panel {
  width: 100%;
  background: var(--page-header-v1-panel-bg, var(--color-white, #FFFFFF));
  color: var(--color-forest-green, #004432);
}

.block-page-header-v1[data-background-color="#FFFFFF"] .page-header-v1__text-panel {
  --page-header-v1-panel-bg: var(--color-white, #FFFFFF);
}

.block-page-header-v1[data-background-color="#F7F7F7"] .page-header-v1__text-panel {
  --page-header-v1-panel-bg: var(--color-light-grey, #F7F7F7);
}

.block-page-header-v1 .page-header-v1__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 24px;
}

.block-page-header-v1 .page-header-v1__breadcrumb {
  width: 100%;
  margin: 0 0 32px;
  color: var(--color-forest-green, #004432);
}

.block-page-header-v1 .page-header-v1__breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.block-page-header-v1 .page-header-v1__breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex-shrink: 1;
}

.block-page-header-v1 .page-header-v1__breadcrumb-home {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--color-forest-green, #004432);
  text-decoration: none;
  transition: color 0.15s ease;
}

.block-page-header-v1 .page-header-v1__breadcrumb-home svg {
  display: block;
  width: auto;
  height: 14px;
}

.block-page-header-v1 .page-header-v1__breadcrumb-separator {
  display: block;
  flex-shrink: 0;
  color: var(--color-grey-60, #737373);
}

.block-page-header-v1 .page-header-v1__breadcrumb-link,
.block-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  max-width: min(320px, 60vw);
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.block-page-header-v1 .page-header-v1__breadcrumb-link {
  position: relative;
  color: var(--color-forest-green, #004432);
  text-decoration: none;
  transition: color 0.15s ease;
}

.block-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  color: var(--color-grey-80, #4D4D4D);
}

.block-page-header-v1 .page-header-v1__breadcrumb-home:hover,
.block-page-header-v1 .page-header-v1__breadcrumb-link:hover {
  color: var(--color-moss-green, #13735F);
}

.block-page-header-v1 .page-header-v1__breadcrumb-home:focus-visible,
.block-page-header-v1 .page-header-v1__breadcrumb-link:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  border-radius: 2px;
}

.block-page-header-v1 .page-header-v1__headline {
  width: 100%;
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(36px, calc(3vw + 20px), 60px);
  font-weight: 700;
  line-height: 1.05;
  color: var(--color-forest-green, #004432);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: wrap;
}

.block-page-header-v1 .page-header-v1__headline > *,
.block-page-header-v1 .page-header-v1__subheadline > * {
  margin: 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
}

.block-page-header-v1 .page-header-v1__headline > * + *,
.block-page-header-v1 .page-header-v1__subheadline > * + * {
  margin-top: 8px;
}

.block-page-header-v1 .page-header-v1__subheadline {
  width: 100%;
  margin-top: 16px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-forest-green, #004432);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  text-wrap: wrap;
}

.dark .block-page-header-v1 {
  background: var(--color-surface-dark, #1a2920);
}

.dark .block-page-header-v1 .page-header-v1__media,
.dark .block-page-header-v1 .page-header-v1__placeholder {
  background: var(--color-surface-dark, #1a2920);
}

.dark .block-page-header-v1[data-background-color="#FFFFFF"] .page-header-v1__text-panel {
  background: var(--color-bg-dark, #0f1a14);
}

.dark .block-page-header-v1[data-background-color="#F7F7F7"] .page-header-v1__text-panel {
  background: var(--color-surface-dark, #1a2920);
}

.dark .block-page-header-v1 .page-header-v1__headline,
.dark .block-page-header-v1 .page-header-v1__subheadline {
  color: var(--color-accent-dark, #47B27A);
}

.dark .block-page-header-v1 .page-header-v1__breadcrumb-home,
.dark .block-page-header-v1 .page-header-v1__breadcrumb-link {
  color: var(--color-accent-dark, #47B27A);
}

.dark .block-page-header-v1 .page-header-v1__breadcrumb-separator,
.dark .block-page-header-v1 .page-header-v1__breadcrumb-item--current span[aria-current] {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

@media (max-width: 767px) {
  .block-page-header-v1 .page-header-v1__picture--desktop {
    display: none;
  }

  .block-page-header-v1 .page-header-v1__picture--mobile {
    display: block;
  }
}

@media (min-width: 768px) {
  .block-page-header-v1 .page-header-v1__inner {
    padding: 40px 48px;
  }

  .block-page-header-v1 .page-header-v1__breadcrumb {
    margin-bottom: 40px;
  }
}

@media (min-width: 1024px) {
  .block-page-header-v1 .page-header-v1__inner {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@supports (height: 100dvh) {
  .block-page-header-v1 {
    min-height: calc(
      100dvh
      - var(--nav-height, 60px)
      - var(--wi-info-banner-offset, 0px)
    );
  }
}


/* page-overview-v1 */
/* Page Overview (block-page-overview-v1) */

.block-page-overview-v1 {
  --page-overview-v1-bg: var(--color-white, #ffffff);
  background: var(--page-overview-v1-bg);
  color: var(--color-black, #333333);
}

.block-page-overview-v1[data-background-color="#FFFFFF"] {
  --page-overview-v1-bg: var(--color-white, #ffffff);
}

.block-page-overview-v1[data-background-color="#F7F7F7"] {
  --page-overview-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-page-overview-v1 {
  --page-overview-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-overview-v1 .page-overview-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-page-overview-v1 .page-overview-v1__header {
  margin-bottom: 32px;
}

.block-page-overview-v1 .page-overview-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.dark .block-page-overview-v1 .page-overview-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-page-overview-v1 .page-overview-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-page-overview-v1 .page-overview-v1__item {
  min-width: 0;
}

.block-page-overview-v1 .page-overview-v1__media-link {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 8px;
}

.block-page-overview-v1 .page-overview-v1__media-link:focus-visible,
.block-page-overview-v1 .page-overview-v1__title-link:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-overview-v1 .page-overview-v1__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-page-overview-v1 .page-overview-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-page-overview-v1 .page-overview-v1__image,
.block-page-overview-v1 .page-overview-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-page-overview-v1 .page-overview-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-page-overview-v1 .page-overview-v1__media-link:hover .page-overview-v1__image,
.block-page-overview-v1 .page-overview-v1__media-link:focus-visible .page-overview-v1__image {
  transform: scale(1.03);
}

.block-page-overview-v1 .page-overview-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-page-overview-v1 .page-overview-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-page-overview-v1 .page-overview-v1__title {
  margin: 16px 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(20px, calc(1.25vw + 16px), 24px);
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.block-page-overview-v1 .page-overview-v1__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-overview-v1 .page-overview-v1__title-link:hover,
.block-page-overview-v1 .page-overview-v1__title-link:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.dark .block-page-overview-v1 .page-overview-v1__title {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-overview-v1 .page-overview-v1__title-link:hover,
.dark .block-page-overview-v1 .page-overview-v1__title-link:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-page-overview-v1 .page-overview-v1__title p,
.block-page-overview-v1 .page-overview-v1__description p {
  margin: 0;
}

.block-page-overview-v1 .page-overview-v1__description {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.dark .block-page-overview-v1 .page-overview-v1__description {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.6));
}

.block-page-overview-v1 .page-overview-v1__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.18s ease;
}

.block-page-overview-v1 .page-overview-v1__cta:hover,
.block-page-overview-v1 .page-overview-v1__cta:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-page-overview-v1 .page-overview-v1__cta:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-page-overview-v1 .page-overview-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.block-page-overview-v1 .page-overview-v1__cta:hover .page-overview-v1__cta-icon,
.block-page-overview-v1 .page-overview-v1__cta:focus-visible .page-overview-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-page-overview-v1 .page-overview-v1__cta {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-page-overview-v1 .page-overview-v1__cta:hover,
.dark .block-page-overview-v1 .page-overview-v1__cta:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

@media (min-width: 768px) {
  .block-page-overview-v1 .page-overview-v1__inner {
    padding: 64px 48px;
  }

  .block-page-overview-v1 .page-overview-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 48px;
  }
}

@media (min-width: 1024px) {
  .block-page-overview-v1 .page-overview-v1__inner {
    padding: 64px 80px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-page-overview-v1 .page-overview-v1__image,
  .block-page-overview-v1 .page-overview-v1__cta,
  .block-page-overview-v1 .page-overview-v1__cta-icon,
  .block-page-overview-v1 .page-overview-v1__title-link {
    transition: none !important;
  }

  .block-page-overview-v1 .page-overview-v1__media-link:hover .page-overview-v1__image,
  .block-page-overview-v1 .page-overview-v1__media-link:focus-visible .page-overview-v1__image,
  .block-page-overview-v1 .page-overview-v1__cta:hover .page-overview-v1__cta-icon,
  .block-page-overview-v1 .page-overview-v1__cta:focus-visible .page-overview-v1__cta-icon {
    transform: none !important;
  }
}


/* partner-logos-v1 */
/* ── Partner Logos (block-partner-logos-v1) ─────────────────────── */

.block-partner-logos-v1 {
  background-color: var(--color-light-grey);
  overflow-x: clip;
}

.dark .block-partner-logos-v1 {
  background-color: var(--color-bg-dark);
}

.block-partner-logos-v1 .cl-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-partner-logos-v1 .cl-cat-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(28px, calc(1.6vw + 23px), 46px);
  line-height: 1.15;
  color: var(--color-forest-green);
  margin: 0 0 32px;
}

.block-partner-logos-v1 .cl-cat-name p,
.block-partner-logos-v1 .cl-cat-name > * {
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}

.dark .block-partner-logos-v1 .cl-cat-name {
  color: var(--color-accent-dark);
}

.block-partner-logos-v1 .cl-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-text-secondary);
  margin: -16px 0 32px;
}

.dark .block-partner-logos-v1 .cl-desc {
  color: var(--color-text-secondary-dark);
}

.block-partner-logos-v1 .cl-desc p { margin: 0 0 12px; }
.block-partner-logos-v1 .cl-desc p:last-child { margin-bottom: 0; }

/* Logo grid */
.block-partner-logos-v1 .cl-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Logo item — small mobile: 2 cols */
.block-partner-logos-v1 .cl-item {
  flex: 0 0 calc(50% - 6px);
}

/* Mobile 480px+: 3 cols */
@media (min-width: 480px) {
  .block-partner-logos-v1 .cl-item { flex: 0 0 calc(33.333% - 8px); }
}

/* Logo figure */
.block-partner-logos-v1 .cl-figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 12px;
  background-color: var(--color-white);
  transition: transform 0.15s ease;
  margin: 0;
  height: 80px;
  cursor: pointer;
  touch-action: manipulation;
}

.dark .block-partner-logos-v1 .cl-figure {
  background-color: var(--color-surface-dark);
}

.block-partner-logos-v1 .cl-figure:hover {
  transform: scale(1.05);
}

.block-partner-logos-v1 .cl-figure:active {
  transform: scale(0.97);
  transition-duration: 0.08s;
}


/* Logo image */
.block-partner-logos-v1 .cl-logo {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Tooltip — visible on hover, hidden from screen readers */
.block-partner-logos-v1 .cl-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.82);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: clamp(11px, 1vw, 13px);
  line-height: 1.4;
  padding: 5px 10px;
  border-radius: 6px;
  white-space: nowrap;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 10;
}

.block-partner-logos-v1 .cl-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.82);
}

.block-partner-logos-v1 .cl-figure:hover .cl-tooltip,
.block-partner-logos-v1 .cl-figure:focus-within .cl-tooltip,
.block-partner-logos-v1 .cl-figure.is-open .cl-tooltip {
  opacity: 1;
}

/* Tablet — 4 cols */
@media (min-width: 768px) {
  .block-partner-logos-v1 .cl-inner { padding: 64px 48px; }
  .block-partner-logos-v1 .cl-item { flex: 0 0 calc(25% - 9px); }
}

/* Desktop — 6 cols */
@media (min-width: 1024px) {
  .block-partner-logos-v1 .cl-inner { padding: 64px 80px; }
  .block-partner-logos-v1 .cl-item { flex: 0 0 calc(16.666% - 10px); }
}

/* ── Detail panel ── */
.block-partner-logos-v1 .cl-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.block-partner-logos-v1 .cl-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

.block-partner-logos-v1 .cl-panel {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  max-height: 86vh;
  background: var(--color-light-grey);
  border-radius: 28px 28px 0 0;
  overflow: hidden;
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.12);
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1);
}

.dark .block-partner-logos-v1 .cl-panel {
  background: var(--color-bg-dark);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.5);
}

.block-partner-logos-v1 .cl-panel.is-active {
  transform: translateY(0);
}

.block-partner-logos-v1 .cl-panel-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
}

.block-partner-logos-v1 .cl-panel-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px 32px;
}

@media (min-width: 768px) {
  .block-partner-logos-v1 .cl-panel-inner { padding: 48px 48px 36px; }
}

@media (min-width: 1024px) {
  .block-partner-logos-v1 .cl-panel-inner { padding: 56px 80px 40px; }
}

.block-partner-logos-v1 .cl-panel-cat {
  display: block;
  font-family: var(--font-body);
  font-size: clamp(11px, 1vw, 12px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-moss-green);
  margin-bottom: 8px;
}

.dark .block-partner-logos-v1 .cl-panel-cat {
  color: var(--color-accent-dark);
}

.block-partner-logos-v1 .cl-panel-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  background: var(--color-white);
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 16px;
}

/* Mobile: logo-wrap flush to panel edges (no gap) */
@media (max-width: 639px) {
  .block-partner-logos-v1 .cl-panel-logo-wrap {
    margin-top: -8px;
    margin-left: -24px;
    margin-right: -24px;
    width: calc(100% + 48px);
    border-radius: 0;
  }
}

.dark .block-partner-logos-v1 .cl-panel-logo-wrap {
  background: var(--color-surface-dark);
}

.block-partner-logos-v1 .cl-panel-logo {
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.block-partner-logos-v1 .cl-panel-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(28px, calc(1.6vw + 22px), 46px);
  line-height: 1.2;
  color: var(--color-forest-green);
  margin: 0 0 8px;
}

.dark .block-partner-logos-v1 .cl-panel-name {
  color: var(--color-text-dark);
}

.block-partner-logos-v1 .cl-panel-facts {
  font-family: var(--font-body);
  font-size: clamp(14px, calc(0.3vw + 13px), 16px);
  line-height: 1.65;
  color: var(--color-text-body);
  margin-bottom: 24px;
}

.dark .block-partner-logos-v1 .cl-panel-facts {
  color: var(--color-text-dark);
}

.block-partner-logos-v1 .cl-panel-facts p { margin: 0 0 10px; }
.block-partner-logos-v1 .cl-panel-facts p:last-child { margin-bottom: 0; }

.block-partner-logos-v1 .cl-panel-divider {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0 0 28px;
}

.dark .block-partner-logos-v1 .cl-panel-divider {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.block-partner-logos-v1 .cl-panel-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.dark .block-partner-logos-v1 .cl-panel-desc {
  color: var(--color-text-secondary-dark);
}

.block-partner-logos-v1 .cl-panel-desc p { margin: 0 0 12px; }
.block-partner-logos-v1 .cl-panel-desc p:last-child { margin-bottom: 0; }

/* Desktop — name full-width on top, logo-col+facts side by side below; mobile: logoCol → cat (eyebrow) → name → facts */
@media (min-width: 640px) {
  .block-partner-logos-v1 .cl-panel-inner {
    display: grid;
    grid-template-columns: 160px 1fr;
    grid-template-areas:
      "cat   cat"
      "name  name"
      "logo  facts"
      "div   div"
      "desc  desc";
    column-gap: 40px;
  }
  .block-partner-logos-v1 .cl-panel-cat      { grid-area: cat; }
  .block-partner-logos-v1 .cl-panel-logo-wrap { grid-area: logo; margin-bottom: 0; align-self: center; }
  .block-partner-logos-v1 .cl-panel-logo     { max-height: 120px; }
  .block-partner-logos-v1 .cl-panel-name     { grid-area: name; align-self: start; margin-bottom: 20px; }
  .block-partner-logos-v1 .cl-panel-facts    { grid-area: facts; align-self: center; margin-bottom: 0; }
  .block-partner-logos-v1 .cl-panel-divider  { grid-area: div; margin-top: 24px; }
  .block-partner-logos-v1 .cl-panel-desc     { grid-area: desc; }
}

.block-partner-logos-v1 .cl-panel-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1rem;
  color: var(--color-moss-green);
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color 0.15s ease;
}

.block-partner-logos-v1 .cl-panel-link:hover { color: var(--color-forest-green); }

.dark .block-partner-logos-v1 .cl-panel-link { color: var(--color-accent-dark); }

.block-partner-logos-v1 .cl-link-chevron {
  display: inline-flex;
  transition: transform 0.15s ease;
}

.block-partner-logos-v1 .cl-panel-link:hover .cl-link-chevron { transform: translateX(3px); }

.block-partner-logos-v1 .cl-panel-footer {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 14px 24px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.dark .block-partner-logos-v1 .cl-panel-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.block-partner-logos-v1 .cl-panel-close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  border: none;
  color: var(--color-forest-green);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.dark .block-partner-logos-v1 .cl-panel-close {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-dark);
}

.block-partner-logos-v1 .cl-panel-close:hover {
  background: rgba(0, 0, 0, 0.15);
  transform: scale(1.08);
}


/* partner-stats-v1 */
/* ── Partner Stats (block-partner-stats-v1) ──────────── */

.block-partner-stats-v1 {
  background-color: var(--color-white, #fff);
}

.block-partner-stats-v1 .cs-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

/* ── Intro ── */

.block-partner-stats-v1 .cs-intro {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-bottom: 48px;
}


.block-partner-stats-v1 .cs-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(28px, calc(2.5vw + 20px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-forest-green);
  margin: 0;
}

.block-partner-stats-v1 .cs-title p,
.block-partner-stats-v1 .cs-title > * { margin: 0; }

.block-partner-stats-v1 .cs-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: var(--text-body--line-height);
  color: var(--color-black);
  margin: 0;
}

.block-partner-stats-v1 .cs-desc p { margin: 0 0 12px; }
.block-partner-stats-v1 .cs-desc p:last-child { margin-bottom: 0; }

/* ── Stats grid ── */

.block-partner-stats-v1 .cs-grid {
  display: grid;
  grid-template-columns: 1fr;
  background-color: var(--color-grey-20);
  border-top: 1px solid var(--color-grey-20);
  border-bottom: 1px solid var(--color-grey-20);
  gap: 1px;
}

.block-partner-stats-v1 .cs-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 0;
  background-color: var(--color-white, #fff);
}


/* ── Number column ── */

.block-partner-stats-v1 .cs-card-stat {
  display: block;
}

.block-partner-stats-v1 .cs-number {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: 1.1;
  letter-spacing: -2px;
  color: var(--color-moss-green);
}

/* ── Info column ── */

.block-partner-stats-v1 .cs-card-info {
  display: contents;
}

.block-partner-stats-v1 .cs-cat-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(20px, calc(1.2vw + 16px), var(--text-h4));
  line-height: 1.25;
  color: var(--color-forest-green);
  margin: 0 0 12px;
}

.block-partner-stats-v1 .cs-cat-name p,
.block-partner-stats-v1 .cs-cat-name > * { margin: 0; }

.block-partner-stats-v1 .cs-cat-desc {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: var(--text-body--line-height);
  color: var(--color-black);
  margin: 0 0 20px;
}

/* ── Dark mode ── */

.dark .block-partner-stats-v1 {
  background-color: var(--color-bg-dark, #0f1a14);
}

.dark .block-partner-stats-v1 .cs-card {
  background-color: var(--color-bg-dark, #0f1a14);
}

.dark .block-partner-stats-v1 .cs-grid {
  background-color: rgba(255, 255, 255, 0.08);
}

.dark .block-partner-stats-v1 .cs-title { color: var(--color-text-dark, #f0f4f2); }
.dark .block-partner-stats-v1 .cs-desc { color: var(--color-text-dark, #f0f4f2); }
.dark .block-partner-stats-v1 .cs-number { color: var(--color-accent-dark, #47B27A); }
.dark .block-partner-stats-v1 .cs-cat-name { color: var(--color-text-dark, #f0f4f2); }
.dark .block-partner-stats-v1 .cs-cat-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

/* ── Tablet (768px) ── */

@media (min-width: 768px) {
  .block-partner-stats-v1 .cs-inner { padding: 64px 48px; }

  .block-partner-stats-v1 .cs-intro {
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
  }

  .block-partner-stats-v1 .cs-intro-left { flex: 0 0 45%; }
  .block-partner-stats-v1 .cs-intro-right { flex: 1; padding-top: 12px; }

  .block-partner-stats-v1 .cs-card {
    padding: 32px 0;
  }
}

/* ── Desktop (1024px) ── */

@media (min-width: 1024px) {
  .block-partner-stats-v1 .cs-inner { padding: 64px 80px; }

  .block-partner-stats-v1 .cs-intro {
    gap: 80px;
    padding-bottom: 64px;
  }

  .block-partner-stats-v1 .cs-intro-left { flex: 0 0 45%; }

  .block-partner-stats-v1 .cs-grid {
    grid-template-columns: 1fr 1fr;
    background-color: transparent;
    gap: 0;
    border-bottom: none;
  }

  .block-partner-stats-v1 .cs-card {
    padding: 32px 48px;
    border-bottom: 1px solid var(--color-grey-20);
  }

  /* vertical divider — all left-col cards */
  .block-partner-stats-v1 .cs-card:nth-child(2n+1) {
    border-right: 1px solid var(--color-grey-20);
  }
}

@media (min-width: 1024px) {
  .dark .block-partner-stats-v1 .cs-grid { background-color: transparent; }

  .dark .block-partner-stats-v1 .cs-card {
    border-bottom-color: rgba(255, 255, 255, 0.08);
  }

  .dark .block-partner-stats-v1 .cs-card:nth-child(2n+1) {
    border-right-color: rgba(255, 255, 255, 0.08);
  }
}


/* portrait-picture-gallery-v1 */
/* Portrait Picture Gallery (block-portrait-picture-gallery-v1) */

.block-portrait-picture-gallery-v1 {
  --portrait-picture-gallery-v1-bg: var(--color-white, #ffffff);
  --portrait-picture-gallery-v1-card-width: min(76vw, 320px);
  --portrait-picture-gallery-v1-card-width: min(76vw, 45.333svh, 320px);
  --portrait-picture-gallery-v1-gap: 12px;
  --portrait-picture-gallery-v1-track-gutter: max(24px, calc((100vw - var(--portrait-picture-gallery-v1-card-width)) / 2));
  background: var(--portrait-picture-gallery-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
  padding: 64px 0;
}

.block-portrait-picture-gallery-v1[data-background-color="#FFFFFF"] {
  --portrait-picture-gallery-v1-bg: var(--color-white, #ffffff);
}

.block-portrait-picture-gallery-v1[data-background-color="#F7F7F7"] {
  --portrait-picture-gallery-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-portrait-picture-gallery-v1 {
  --portrait-picture-gallery-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__header {
  display: grid;
  gap: 24px;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline p,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro p,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption p {
  margin: 0;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro p + p {
  margin-top: 12px;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--portrait-picture-gallery-v1-gap);
  margin: 0;
  padding: 16px 0 8px var(--portrait-picture-gallery-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--portrait-picture-gallery-v1-track-gutter) - var(--portrait-picture-gallery-v1-gap)));
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__track::-webkit-scrollbar {
  display: none;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__slide {
  position: relative;
  flex: 0 0 var(--portrait-picture-gallery-v1-card-width);
  width: var(--portrait-picture-gallery-v1-card-width);
  min-width: 0;
  scroll-snap-align: center;
  perspective: 1100px;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
  backface-visibility: hidden;
  transform: translateZ(0);
  transform-style: preserve-3d;
  box-shadow: 0 18px 48px rgba(0, 68, 50, 0.12);
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide.ppg-near .portrait-picture-gallery-v1__media {
  will-change: transform;
}

.block-portrait-picture-gallery-v1.ppg-static-cover-flow .portrait-picture-gallery-v1__slide.ppg-near .portrait-picture-gallery-v1__media {
  will-change: auto;
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.26);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide:not(.ppg-active) .portrait-picture-gallery-v1__media::after {
  opacity: 1;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__image,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__placeholder {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background {
  z-index: 0;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
  pointer-events: none;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__image {
  z-index: 1;
  object-fit: contain;
  object-position: center;
  filter: none;
  transition: filter 0.25s ease;
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide.ppg-near:not(.ppg-active) .portrait-picture-gallery-v1__image {
  filter: blur(10px) brightness(0.62) saturate(0.85);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__placeholder {
  position: relative;
  background:
    linear-gradient(155deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.14)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__placeholder {
  background:
    linear-gradient(155deg, rgba(71, 178, 122, 0.14), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
  width: 100%;
  margin-top: 18px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption p + p {
  margin-top: 12px;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-portrait-picture-gallery-v1.ppg-js-ready .portrait-picture-gallery-v1__slide:not(.ppg-active) .portrait-picture-gallery-v1__caption {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: var(--portrait-picture-gallery-v1-card-width);
  margin: 20px auto 0;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--ppg-p, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:hover:not(:disabled):not([aria-disabled="true"]) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:disabled,
.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn[aria-disabled="true"] {
  opacity: 0.4;
  cursor: default;
}

.block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:hover:not(:disabled):not([aria-disabled="true"]) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-portrait-picture-gallery-v1 {
    --portrait-picture-gallery-v1-card-width: min(52vw, 400px);
    --portrait-picture-gallery-v1-card-width: min(52vw, 45.333svh, 400px);
    --portrait-picture-gallery-v1-gap: 24px;
    --portrait-picture-gallery-v1-track-gutter: max(48px, calc((100vw - var(--portrait-picture-gallery-v1-card-width)) / 2));
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__inner {
    padding: 0 48px 32px;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
    margin-top: 22px;
  }
}

@media (max-width: 767px), (pointer: coarse) {
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
    box-shadow: 0 10px 24px rgba(0, 68, 50, 0.1);
  }

  .dark .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background {
    filter: blur(18px) brightness(0.6);
  }
}

@media (min-width: 1024px) {
  .block-portrait-picture-gallery-v1 {
    --portrait-picture-gallery-v1-card-width: min(34vw, 48vh, 440px);
    --portrait-picture-gallery-v1-gap: 32px;
    --portrait-picture-gallery-v1-track-gutter: max(80px, calc((100vw - var(--portrait-picture-gallery-v1-card-width)) / 2));
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__inner {
    padding: 0 80px 32px;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__intro {
    grid-column: 7 / span 6;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption {
    margin-top: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media {
    transform: none !important;
  }

  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__media::after,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__background,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__image,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__caption,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__progress-fill::after,
  .block-portrait-picture-gallery-v1 .portrait-picture-gallery-v1__btn {
    transition: none !important;
  }
}


/* quote-block-v1 */
/* Quote (block-quote-v1) */
.block-quote-v1 {
  --quote-v1-bg: var(--color-white, #ffffff);
  background: var(--quote-v1-bg);
  color: var(--color-black, #333333);
}

.block-quote-v1[data-background-color="#FFFFFF"] {
  --quote-v1-bg: var(--color-white, #ffffff);
}

.block-quote-v1[data-background-color="#F7F7F7"] {
  --quote-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-quote-v1 {
  --quote-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-quote-v1 .quote-v1__outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 16px;
}

.block-quote-v1 .quote-v1__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 16px;
  row-gap: 0;
  margin: 0;
}

.block-quote-v1 .quote-v1__content {
  grid-column: 1 / -1;
  min-width: 0;
  border-left: 1px solid var(--color-forest-green, #004432);
  padding-left: 32px;
  box-sizing: border-box;
  margin: 0;
}

.dark .block-quote-v1 .quote-v1__content {
  border-left-color: var(--color-accent-dark, #47b27a);
}

.block-quote-v1 .quote-v1__spacer {
  display: none;
}

.block-quote-v1 .quote-v1__quote {
  margin: 0;
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--color-black, #333333);
}

.dark .block-quote-v1 .quote-v1__quote {
  color: var(--color-text-dark, #f0f4f2);
}

.block-quote-v1 .quote-v1__quote p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.block-quote-v1 .quote-v1__owner {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 16px;
  margin-top: 24px;
  min-width: 0;
}

.block-quote-v1 .quote-v1__owner[data-show-owner="false"],
.block-quote-v1 .quote-v1__owner[data-show-owner="0"],
.block-quote-v1 .quote-v1__owner[data-show-owner="off"],
.block-quote-v1 .quote-v1__owner[data-show-owner="no"],
.block-quote-v1 .quote-v1__owner[data-show-owner=""] {
  display: none;
}

.block-quote-v1 .quote-v1__avatar {
  width: 88px;
  height: 88px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

.block-quote-v1 .quote-v1__owner-copy {
  min-width: 0;
}

.block-quote-v1 .quote-v1__owner-name {
  display: block;
  margin: 0;
  font-family: var(--font-heading, "Sora", sans-serif);
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--color-forest-green, #004432);
  overflow-wrap: anywhere;
}

.dark .block-quote-v1 .quote-v1__owner-name {
  color: var(--color-accent-dark, #47b27a);
}

.block-quote-v1 .quote-v1__owner-position {
  margin: 0;
  font-family: var(--font-body, "Lato", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #333333);
  overflow-wrap: anywhere;
}

.dark .block-quote-v1 .quote-v1__owner-position {
  color: var(--color-text-dark, #f0f4f2);
}

.block-quote-v1 .quote-v1__owner-position p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

@media (min-width: 768px) {
  .block-quote-v1 .quote-v1__outer {
    padding: 64px 48px;
  }

  .block-quote-v1 .quote-v1__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-quote-v1 .quote-v1__content {
    grid-column: span 8;
    padding-left: 64px;
  }

  .block-quote-v1 .quote-v1__spacer {
    display: block;
    grid-column: span 4;
  }

  .block-quote-v1 .quote-v1__owner {
    gap: 24px;
  }

  .block-quote-v1 .quote-v1__owner[data-show-owner="false"],
.block-quote-v1 .quote-v1__owner[data-show-owner="0"],
.block-quote-v1 .quote-v1__owner[data-show-owner="off"],
.block-quote-v1 .quote-v1__owner[data-show-owner="no"],
.block-quote-v1 .quote-v1__owner[data-show-owner=""] {
  display: none;
}

.block-quote-v1 .quote-v1__avatar {
    width: 112px;
    height: 112px;
  }
}

@media (min-width: 1024px) {
  .block-quote-v1 .quote-v1__outer {
    padding: 64px 80px;
  }
}

@media (max-width: 767px) {
  .block-quote-v1 .quote-v1__outer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 420px) {
  .block-quote-v1 .quote-v1__content {
    padding-left: 24px;
  }

  .block-quote-v1 .quote-v1__owner {
    align-items: center;
  }
}

/* recent-donations-v1 */
/* Recent Donations Train (block-recent-donations-v1) */

.block-recent-donations-v1 {
  --recent-donations-v1-bg: var(--color-light-grey, #f7f7f7);
  --recent-donations-v1-card-bg: var(--color-white, #ffffff);
  --recent-donations-v1-border: rgba(0, 68, 50, 0.14);
  --recent-donations-v1-muted: #666666;
  --recent-donations-v1-duration: 180s;
  --recent-donations-v1-duration-alt: 202s;
  --recent-donations-v1-delay-alt: -85s;
  --recent-donations-v1-gap: 48px;
  overflow-x: clip;
  overflow-y: visible;
  background: var(--recent-donations-v1-bg);
  color: var(--color-black, #333333);
}

.block-recent-donations-v1[data-background-color="#FFFFFF"] {
  --recent-donations-v1-bg: var(--color-white, #ffffff);
}

.block-recent-donations-v1[data-background-color="#F7F7F7"] {
  --recent-donations-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-recent-donations-v1 {
  --recent-donations-v1-bg: var(--color-bg-dark, #0f1a14);
  --recent-donations-v1-card-bg: var(--color-white, #ffffff);
  --recent-donations-v1-border: rgba(255, 255, 255, 0.14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-recent-donations-v1 .recent-donations-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-recent-donations-v1 .recent-donations-v1__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}

.block-recent-donations-v1 .recent-donations-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3, 46px));
  font-weight: 700;
  line-height: var(--text-h3--line-height, 1.15);
}

.block-recent-donations-v1 .recent-donations-v1__headline p,
.block-recent-donations-v1 .recent-donations-v1__cta p {
  margin: 0;
}

.dark .block-recent-donations-v1 .recent-donations-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-recent-donations-v1 .recent-donations-v1__count {
  display: none;
  align-items: baseline;
  gap: 6px;
  margin: 8px 0 0;
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.45;
}

.block-recent-donations-v1 .recent-donations-v1__count[data-has-count="true"] {
  display: flex;
}

.block-recent-donations-v1 .recent-donations-v1__count-number {
  color: inherit;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.dark .block-recent-donations-v1 .recent-donations-v1__count {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.56));
}

.dark .block-recent-donations-v1 .recent-donations-v1__count-number {
  color: inherit;
}

.block-recent-donations-v1 .recent-donations-v1__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-yellow-green, #e6ce00);
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.block-recent-donations-v1 .recent-donations-v1__cta:hover,
.block-recent-donations-v1 .recent-donations-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  border-color: transparent;
  color: var(--color-white, #ffffff);
}

.block-recent-donations-v1 .recent-donations-v1__cta:focus-visible {
  outline: 3px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-recent-donations-v1 .recent-donations-v1__cta-icon {
  flex-shrink: 0;
  width: 9px;
  height: 14px;
  transition: transform 0.2s ease;
}

.block-recent-donations-v1 .recent-donations-v1__cta:hover .recent-donations-v1__cta-icon,
.block-recent-donations-v1 .recent-donations-v1__cta:focus-visible .recent-donations-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-recent-donations-v1 .recent-donations-v1__cta {
  background: var(--color-yellow-green, #e6ce00);
  border-color: transparent;
  color: var(--color-forest-green, #004432);
}

.dark .block-recent-donations-v1 .recent-donations-v1__cta:hover,
.dark .block-recent-donations-v1 .recent-donations-v1__cta:focus-visible {
  background: var(--color-accent-dark, #47b27a);
  border-color: transparent;
  color: var(--color-bg-dark, #0f1a14);
}

.block-recent-donations-v1 .recent-donations-v1__rail {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  min-height: 286px;
  padding: 2px 0;
  overflow-x: clip;
  overflow-y: visible;
  overflow-clip-margin-block: 16px;
}

.block-recent-donations-v1 .recent-donations-v1__rail::before,
.block-recent-donations-v1 .recent-donations-v1__rail::after {
  display: none;
}

.block-recent-donations-v1 .recent-donations-v1__empty {
  margin: 0;
  padding: 28px;
  border: 1px dashed var(--recent-donations-v1-border);
  border-radius: 8px;
  color: var(--color-grey-60, #737373);
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

.block-recent-donations-v1 .recent-donations-v1__empty[hidden],
.block-recent-donations-v1 .recent-donations-v1__train[hidden] {
  display: none;
}

.dark .block-recent-donations-v1 .recent-donations-v1__empty {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
}

.block-recent-donations-v1 .recent-donations-v1__train {
  position: relative;
  overflow-x: clip;
  overflow-y: visible;
  overflow-clip-margin-block: 16px;
  padding: 0;
}

.block-recent-donations-v1 .recent-donations-v1__train:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-recent-donations-v1 .recent-donations-v1__track {
  display: flex;
  width: max-content;
  animation: recent-donations-v1-marquee var(--recent-donations-v1-duration) linear infinite;
  will-change: transform;
}

.block-recent-donations-v1 .recent-donations-v1__track[data-rd-lane="2"] {
  display: none;
}

.block-recent-donations-v1 .recent-donations-v1__group {
  display: flex;
  flex: 0 0 auto;
  gap: var(--recent-donations-v1-gap);
  padding-right: var(--recent-donations-v1-gap);
}

.block-recent-donations-v1 .recent-donations-v1__car {
  display: grid;
  grid-template-rows: auto auto auto;
  align-items: stretch;
  width: clamp(248px, 20vw, 304px);
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: var(--recent-donations-v1-card-bg);
  box-shadow: 0 2px 8px rgba(0, 68, 50, 0.12);
}

.dark .block-recent-donations-v1 .recent-donations-v1__car {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.26);
}

.block-recent-donations-v1 .recent-donations-v1__animal {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(0, 68, 50, 0.08);
}

.block-recent-donations-v1 .recent-donations-v1__animal-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dark .block-recent-donations-v1 .recent-donations-v1__animal {
  background: rgba(255, 255, 255, 0.08);
}

.block-recent-donations-v1 .recent-donations-v1__amount {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
  min-height: 0;
  padding: 8px 20px 22px;
  border-radius: 0;
  background: transparent;
  color: var(--color-forest-green, #004432);
}

.block-recent-donations-v1 .recent-donations-v1__amount-value {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}

.block-recent-donations-v1 .recent-donations-v1__amount-unit {
  margin-top: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}

.block-recent-donations-v1 .recent-donations-v1__amount-unit sup {
  position: relative;
  top: -0.35em;
  margin-left: 1px;
  font-size: 0.62em;
  line-height: 0;
}

.dark .block-recent-donations-v1 .recent-donations-v1__amount {
  color: var(--color-forest-green, #004432);
}

.block-recent-donations-v1 .recent-donations-v1__car-body {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding: 20px 20px 0;
}

.block-recent-donations-v1 .recent-donations-v1__donor {
  overflow: hidden;
  margin: 0;
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.block-recent-donations-v1 .recent-donations-v1__date {
  display: inline-flex;
  align-items: baseline;
  margin-top: 0;
  color: var(--recent-donations-v1-muted);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}

.block-recent-donations-v1 .recent-donations-v1__date::before {
  content: '|';
  margin-right: 8px;
}

.dark .block-recent-donations-v1 .recent-donations-v1__donor {
  color: var(--color-grey-60, #737373);
}

.dark .block-recent-donations-v1 .recent-donations-v1__date {
  color: var(--color-grey-60, #737373);
}

@keyframes recent-donations-v1-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(var(--recent-donations-v1-loop-offset, -50%), 0, 0);
  }
}

@media (max-width: 767px) {
  .block-recent-donations-v1 .recent-donations-v1__header {
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
    margin-bottom: 24px;
  }

  .block-recent-donations-v1 .recent-donations-v1__rail {
    min-height: 0;
    padding: 0;
  }

  .block-recent-donations-v1 .recent-donations-v1__cta {
    justify-self: start;
    width: fit-content;
    max-width: 100%;
  }

  .block-recent-donations-v1 .recent-donations-v1__car {
    grid-template-rows: auto auto auto;
    width: min(72vw, 260px);
  }

  .block-recent-donations-v1 .recent-donations-v1__animal {
    width: 100%;
  }

  .block-recent-donations-v1 .recent-donations-v1__amount {
    padding: 7px 16px 18px;
  }

  .block-recent-donations-v1 .recent-donations-v1__amount-value {
    font-size: 25px;
  }

  .block-recent-donations-v1 .recent-donations-v1__amount-unit {
    font-size: 17px;
  }

  .block-recent-donations-v1 .recent-donations-v1__car-body {
    gap: 5px;
    padding: 16px 16px 0;
  }

  .block-recent-donations-v1 .recent-donations-v1__donor {
    font-size: 12px;
  }

  .block-recent-donations-v1 .recent-donations-v1__date {
    font-size: 12px;
  }

  .block-recent-donations-v1 .recent-donations-v1__date::before {
    margin-right: 6px;
  }
}

@media (min-width: 768px) {
  .block-recent-donations-v1 .recent-donations-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-recent-donations-v1 .recent-donations-v1__inner {
    padding: 64px 80px;
  }

  .block-recent-donations-v1 .recent-donations-v1__cta {
    font-size: 18px;
  }

  .block-recent-donations-v1 .recent-donations-v1__track[data-rd-lane="2"] {
    display: flex;
    margin-top: 48px;
    animation-duration: var(--recent-donations-v1-duration-alt);
    animation-delay: var(--recent-donations-v1-delay-alt);
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-recent-donations-v1 .recent-donations-v1__train {
    overflow: visible;
  }

  .block-recent-donations-v1 .recent-donations-v1__track {
    width: auto;
    animation: none;
  }

  .block-recent-donations-v1 .recent-donations-v1__track[data-rd-lane="2"],
  .block-recent-donations-v1 .recent-donations-v1__group[data-rd-clone] {
    display: none;
  }

  .block-recent-donations-v1 .recent-donations-v1__group {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    padding-right: 0;
  }
}


/* region-list-v1 */
/* Region List (block-region-list-v1) */

.block-region-list-v1 {
  --region-list-v1-bg: var(--color-light-grey, #f7f7f7);
  --region-list-v1-card-bg: var(--color-white, #ffffff);
  --region-list-v1-muted: var(--color-grey-80, #4d4d4d);
  background: var(--region-list-v1-bg);
  color: var(--color-black, #333333);
}

.block-region-list-v1[data-background-color="#FFFFFF"] {
  --region-list-v1-bg: var(--color-white, #ffffff);
}

.block-region-list-v1[data-background-color="#F7F7F7"] {
  --region-list-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-region-list-v1 {
  --region-list-v1-bg: var(--color-bg-dark, #0f1a14);
  --region-list-v1-card-bg: var(--color-surface-dark, #1a2920);
  --region-list-v1-muted: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.62));
  color: var(--color-text-dark, #f0f4f2);
}

.block-region-list-v1 .region-list-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-region-list-v1 .region-list-v1__header {
  display: grid;
  gap: 12px;
  margin-bottom: 32px;
}

.block-region-list-v1 .region-list-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3, 46px));
  font-weight: 700;
  line-height: var(--text-h3--line-height, 1.1);
}

.block-region-list-v1 .region-list-v1__headline p,
.block-region-list-v1 .region-list-v1__cta p {
  margin: 0;
}

.dark .block-region-list-v1 .region-list-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-region-list-v1 .region-list-v1__count {
  display: none;
  margin: 0;
  color: var(--region-list-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
}

.block-region-list-v1 .region-list-v1__count[data-has-count="true"] {
  display: flex;
  gap: 6px;
}

.block-region-list-v1 .region-list-v1__count-number {
  color: inherit;
  font-weight: 700;
}

.block-region-list-v1 .region-list-v1__empty {
  margin: 0;
  padding: 24px;
  border: 1px dashed var(--color-grey-20, #dcdcdc);
  border-radius: 8px;
  color: var(--region-list-v1-muted);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
}

.dark .block-region-list-v1 .region-list-v1__empty {
  border-color: rgba(255, 255, 255, 0.16);
}

.block-region-list-v1 .region-list-v1__empty[hidden],
.block-region-list-v1 .region-list-v1__list[hidden] {
  display: none;
}

.block-region-list-v1 .region-list-v1__list {
  display: grid;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-region-list-v1 .region-list-v1__item {
  min-width: 0;
}

.block-region-list-v1 .region-list-v1__card {
  overflow: hidden;
  border-radius: 16px;
  background: var(--region-list-v1-card-bg);
  box-shadow: 0 2px 8px rgba(0, 68, 50, 0.1);
}

.dark .block-region-list-v1 .region-list-v1__card {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.block-region-list-v1 .region-list-v1__hero {
  position: relative;
  min-height: 400px;
  overflow: hidden;
  background: var(--color-forest-green, #004432);
  isolation: isolate;
}

.block-region-list-v1 .region-list-v1__picture,
.block-region-list-v1 .region-list-v1__image,
.block-region-list-v1 .region-list-v1__image-placeholder,
.block-region-list-v1 .region-list-v1__overlay {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.block-region-list-v1 .region-list-v1__image {
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease;
}

.block-region-list-v1 .region-list-v1__card:hover .region-list-v1__image {
  transform: scale(1.02);
}

.block-region-list-v1 .region-list-v1__image-placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.32), rgba(0, 68, 50, 0.9)),
    var(--color-forest-green, #004432);
}

.block-region-list-v1 .region-list-v1__overlay {
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 28, 21, 0.64) 0%, rgba(0, 35, 26, 0.35) 42%, rgba(0, 28, 21, 0.82) 100%);
}

.block-region-list-v1 .region-list-v1__hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 400px;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px;
  color: var(--color-white, #ffffff);
}

.block-region-list-v1 .region-list-v1__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.block-region-list-v1 .region-list-v1__meta p {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  font-family: var(--font-body, 'Lato', sans-serif);
}

.block-region-list-v1 .region-list-v1__meta p:last-child {
  text-align: right;
}

.block-region-list-v1 .region-list-v1__meta strong {
  color: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.block-region-list-v1 .region-list-v1__meta span {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.block-region-list-v1 .region-list-v1__meta span sub {
  font-size: 0.7em;
  line-height: 0;
  vertical-align: sub;
}

.block-region-list-v1 .region-list-v1__impact {
  margin-top: 64px;
}

.block-region-list-v1 .region-list-v1__name {
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
}

.block-region-list-v1 .region-list-v1__editorial {
  padding: 32px 40px 36px;
  background: var(--color-white, #ffffff);
  color: var(--color-black, #333333);
}

.block-region-list-v1 .region-list-v1__description {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  color: var(--color-grey-80, #4d4d4d);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.block-region-list-v1 .region-list-v1__description > :first-child {
  margin-top: 0;
}

.block-region-list-v1 .region-list-v1__description > :last-child {
  margin-bottom: 0;
}

.block-region-list-v1 .region-list-v1__progress {
  position: relative;
  box-sizing: border-box;
  height: 16px;
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  background: var(--color-forest-green, #004432);
}

.block-region-list-v1 .region-list-v1__progress-fill {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--color-mint-green, #47b27a);
  transition: width 0.6s ease;
}

.block-region-list-v1 .region-list-v1__areas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 16px;
}

.block-region-list-v1 .region-list-v1__areas p {
  margin: 0;
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.block-region-list-v1 .region-list-v1__areas p:last-child {
  text-align: right;
}

.block-region-list-v1 .region-list-v1__areas strong {
  color: inherit;
}

.block-region-list-v1 .region-list-v1__areas p:first-child,
.block-region-list-v1 .region-list-v1__areas p:first-child strong {
  color: var(--color-light-green, #8acbc1);
}

.block-region-list-v1 .region-list-v1__cta {
  display: flex;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  align-self: flex-start;
  gap: 12px;
  margin-top: 24px;
  margin-left: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.block-region-list-v1 .region-list-v1__cta:hover,
.block-region-list-v1 .region-list-v1__cta:focus-visible {
  color: var(--color-moss-green, #13735f);
}

.block-region-list-v1 .region-list-v1__cta:first-child {
  margin-top: 0;
}

.block-region-list-v1 .region-list-v1__cta:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--color-forest-green, #004432);
  outline-offset: 4px;
}

.block-region-list-v1 .region-list-v1__cta-icon {
  width: 7px;
  height: 11px;
  flex: 0 0 auto;
  transition: transform 0.18s ease;
}

.block-region-list-v1 .region-list-v1__cta:hover .region-list-v1__cta-icon,
.block-region-list-v1 .region-list-v1__cta:focus-visible .region-list-v1__cta-icon {
  transform: translateX(3px);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .block-region-list-v1 .region-list-v1__inner {
    padding: 80px 48px;
  }
}

@media (min-width: 1024px) {
  .block-region-list-v1 .region-list-v1__inner {
    padding: 80px;
  }
}

@media (max-width: 767px) {
  .block-region-list-v1 .region-list-v1__hero,
  .block-region-list-v1 .region-list-v1__hero-content {
    min-height: 440px;
  }

  .block-region-list-v1 .region-list-v1__hero-content {
    padding: 32px 24px;
  }

  .block-region-list-v1 .region-list-v1__meta {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .block-region-list-v1 .region-list-v1__meta p:last-child {
    text-align: left;
  }

  .block-region-list-v1 .region-list-v1__impact {
    margin-top: 48px;
  }

  .block-region-list-v1 .region-list-v1__name {
    font-size: 24px;
  }

  .block-region-list-v1 .region-list-v1__editorial {
    padding: 24px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .block-region-list-v1 .region-list-v1__image,
  .block-region-list-v1 .region-list-v1__progress-fill,
  .block-region-list-v1 .region-list-v1__cta-icon {
    transition: none;
  }

  .block-region-list-v1 .region-list-v1__card:hover .region-list-v1__image,
  .block-region-list-v1 .region-list-v1__cta:hover .region-list-v1__cta-icon,
  .block-region-list-v1 .region-list-v1__cta:focus-visible .region-list-v1__cta-icon {
    transform: none;
  }
}


/* right-picture-v1 */
/* ── Right Picture (block-right-picture-v1) ───────────────────── */

.block-right-picture-v1 {
  --right-picture-v1-bg: var(--color-white, #FFFFFF);
  --right-picture-v1-padding-top: 64px;
  --right-picture-v1-padding-bottom: 64px;
  background: var(--right-picture-v1-bg);
}

.block-right-picture-v1[data-background-color="#FFFFFF"] {
  --right-picture-v1-bg: var(--color-white, #FFFFFF);
}

.block-right-picture-v1[data-background-color="#F7F7F7"] {
  --right-picture-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-right-picture-v1 {
  --right-picture-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-right-picture-v1[data-padding-top="true"] {
  --right-picture-v1-padding-top: 64px;
}

.block-right-picture-v1[data-padding-top="false"] {
  --right-picture-v1-padding-top: 0px;
}

.block-right-picture-v1[data-padding-bottom="true"] {
  --right-picture-v1-padding-bottom: 64px;
}

.block-right-picture-v1[data-padding-bottom="false"] {
  --right-picture-v1-padding-bottom: 0px;
}

/* Outer mirrors global block responsive padding for right-edge alignment */
.block-right-picture-v1 .rp-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--right-picture-v1-padding-top) 24px var(--right-picture-v1-padding-bottom);
}

.block-right-picture-v1 .rp-inner {
  margin: 0;
}

/* ── Picture wrap ── */

.block-right-picture-v1 .rp-img-wrap {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-right-picture-v1 .rp-img-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.block-right-picture-v1.rp-has-lightbox .rp-img-wrap { cursor: zoom-in; }

/* Blurred background shown only for portrait pictures */
.block-right-picture-v1 .rp-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-right-picture-v1 .rp-img-wrap.rp-portrait .rp-bg { display: block; }

.block-right-picture-v1 .rp-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-right-picture-v1 .rp-img-wrap.rp-portrait .rp-img { object-fit: contain; }

/* ── Placeholder ── */

.block-right-picture-v1 .rp-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-right-picture-v1 .rp-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

/* ── Zoom button — hidden unless lightbox is enabled ── */

.block-right-picture-v1 .rp-zoom-btn {
  display: none;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: zoom-in;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.block-right-picture-v1.rp-has-lightbox .rp-zoom-btn { display: flex; }
.block-right-picture-v1 .rp-img-wrap:hover .rp-zoom-btn,
.block-right-picture-v1 .rp-img-wrap:focus-within .rp-zoom-btn { opacity: 1; }
@media (max-width: 767px) {
  .block-right-picture-v1.rp-has-lightbox .rp-zoom-btn { opacity: 1; }
}
.block-right-picture-v1 .rp-zoom-btn:hover { background: rgba(0, 0, 0, 0.65); }
.block-right-picture-v1 .rp-zoom-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  opacity: 1;
}

/* ── Lightbox — hidden by default, shown via JS class ── */

.block-right-picture-v1 .rp-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.block-right-picture-v1 .rp-lightbox.rp-lb-open { display: flex; }

.block-right-picture-v1 .rp-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: rp-lb-in 0.2s ease;
}
@keyframes rp-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-right-picture-v1 .rp-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  animation: rp-lb-up 0.2s ease;
}
@keyframes rp-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-right-picture-v1 .rp-lb-img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 8px;
  object-fit: contain;
}

.block-right-picture-v1 .rp-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.block-right-picture-v1 .rp-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
.block-right-picture-v1 .rp-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

/* ── Caption ── */

.block-right-picture-v1 .rp-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-right-picture-v1 .rp-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-right-picture-v1 .rp-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-right-picture-v1 .rp-caption a { color: var(--color-accent-dark); }
.block-right-picture-v1 .rp-caption a:hover { text-decoration: none; }

@media (min-width: 768px) {
  .block-right-picture-v1 .rp-outer { padding-left: 48px; padding-right: 48px; }
}

@media (min-width: 1024px) {
  .block-right-picture-v1 .rp-outer {
    padding: var(--right-picture-v1-padding-top) 80px var(--right-picture-v1-padding-bottom);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
  }

  .block-right-picture-v1 .rp-inner {
    grid-column: 5 / -1;
  }
}



/* right-video-v1 */
/* ── Right Video (block-right-video-v1) ─────────────────────── */

.block-right-video-v1 {
  --right-video-v1-bg: var(--color-white, #FFFFFF);
  --right-video-v1-padding-top: 64px;
  --right-video-v1-padding-bottom: 64px;
  background: var(--right-video-v1-bg);
}

.block-right-video-v1[data-background-color="#FFFFFF"] {
  --right-video-v1-bg: var(--color-white, #FFFFFF);
}

.block-right-video-v1[data-background-color="#F7F7F7"] {
  --right-video-v1-bg: var(--color-light-grey, #F7F7F7);
}

.dark .block-right-video-v1 {
  --right-video-v1-bg: var(--color-bg-dark, #0f1a14);
}

.block-right-video-v1[data-padding-top="true"] {
  --right-video-v1-padding-top: 64px;
}

.block-right-video-v1[data-padding-top="false"] {
  --right-video-v1-padding-top: 0px;
}

.block-right-video-v1[data-padding-bottom="true"] {
  --right-video-v1-padding-bottom: 64px;
}

.block-right-video-v1[data-padding-bottom="false"] {
  --right-video-v1-padding-bottom: 0px;
}

.block-right-video-v1 .rv-outer {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--right-video-v1-padding-top) 24px var(--right-video-v1-padding-bottom);
}

.block-right-video-v1 .sv-inner {
  margin: 0;
}

/* The figure has no inner padding, so keep the cinema button 8px inside the frame. */
.block-right-video-v1 .sv-lights-btn {
  top: 8px;
  right: 8px;
}

@media (min-width: 768px) {
  .block-right-video-v1 .rv-outer {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (min-width: 1024px) {
  .block-right-video-v1 .rv-outer {
    padding: var(--right-video-v1-padding-top) 80px var(--right-video-v1-padding-bottom);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
  }

  .block-right-video-v1 .sv-inner {
    grid-column: 5 / -1;
  }
}


/* simple-cta-v1 */
/* ── Simple CTA (block-simple-cta-v1) ─────────────────────── */

.block-simple-cta-v1 {
  position: relative;
  background-color: var(--color-forest-green);
  overflow: hidden;
  min-height: 400px;
  display: flex;
  align-items: center;
}

/* Decorative illustration */
.block-simple-cta-v1 .cta-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  color: var(--color-mint-green); /* default illu color; overridden per preset */
}

.block-simple-cta-v1 .cta-bg-svg {
  position: absolute;
  height: 653%;
  width: auto;
  top: -310%;
  left: 4%;
  transform: rotate(57.787deg);
  opacity: 0.2;
  fill: currentColor;
}

/* ── Presets ──────────────────────────────────────────────── */
/* Default = forest-mint (no data-preset or explicit value) */
.block-simple-cta-v1,
.block-simple-cta-v1[data-preset="forest-mint"] {
  background-color: var(--color-forest-green);
}
.block-simple-cta-v1 .cta-bg,
.block-simple-cta-v1[data-preset="forest-mint"] .cta-bg {
  color: var(--color-mint-green);
}

.block-simple-cta-v1[data-preset="forest-light"] { background-color: var(--color-forest-green); }
.block-simple-cta-v1[data-preset="forest-light"] .cta-bg { color: var(--color-light-green); }

.block-simple-cta-v1[data-preset="forest-yellow"] { background-color: var(--color-forest-green); }
.block-simple-cta-v1[data-preset="forest-yellow"] .cta-bg { color: var(--color-yellow-green); }

.block-simple-cta-v1[data-preset="forest-blue"] { background-color: var(--color-forest-green); }
.block-simple-cta-v1[data-preset="forest-blue"] .cta-bg { color: var(--color-blue); }

.block-simple-cta-v1[data-preset="moss-mint"] { background-color: var(--color-moss-green); }
.block-simple-cta-v1[data-preset="moss-mint"] .cta-bg { color: var(--color-mint-green); }

.block-simple-cta-v1[data-preset="moss-blue"] { background-color: var(--color-moss-green); }
.block-simple-cta-v1[data-preset="moss-blue"] .cta-bg { color: var(--color-blue); }

.block-simple-cta-v1[data-preset="moss-red"] { background-color: var(--color-moss-green); }
.block-simple-cta-v1[data-preset="moss-red"] .cta-bg { color: var(--color-red); }

.block-simple-cta-v1[data-preset="darkred-mint"] { background-color: var(--color-dark-red); }
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-bg { color: var(--color-mint-green); }
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-btn:hover,
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-btn:focus-visible,
.block-simple-cta-v1[data-preset="darkred-mint"] .cta-btn:focus { color: var(--color-dark-red); }

.block-simple-cta-v1[data-preset="darkred-corn"] { background-color: var(--color-dark-red); }
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-bg { color: var(--color-corn-green); }
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-btn:hover,
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-btn:focus-visible,
.block-simple-cta-v1[data-preset="darkred-corn"] .cta-btn:focus { color: var(--color-dark-red); }

.block-simple-cta-v1[data-preset="darkred-blue"] { background-color: var(--color-dark-red); }
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-bg { color: var(--color-blue); }
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-btn:hover,
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-btn:focus-visible,
.block-simple-cta-v1[data-preset="darkred-blue"] .cta-btn:focus { color: var(--color-dark-red); }

/* Inner layout */
.block-simple-cta-v1 .cta-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Force all inline text to white — block has colored bg so global mint/moss rules don't apply */
.block-simple-cta-v1 strong,
.block-simple-cta-v1 b,
.block-simple-cta-v1 a:not([class]) {
  color: var(--color-white);
}

/* Richtext links use class .lexkit-link — not matched by a:not([class]), so override separately */
.block-simple-cta-v1 .cta-body a,
.block-simple-cta-v1 .cta-heading a {
  color: var(--color-white);
  text-decoration: underline;
  font-weight: inherit;
}

.block-simple-cta-v1 .cta-body p {
  margin: 0 0 12px;
}
.block-simple-cta-v1 .cta-body p:last-child {
  margin-bottom: 0;
}

/* Heading */
.block-simple-cta-v1 .cta-heading {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-white);
  margin: 0;
}

/* Body text */
.block-simple-cta-v1 .cta-body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--text-body--line-height);
  color: var(--color-white);
  margin: 0 0 24px;
}

/* CTA button */
.block-simple-cta-v1 .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0.85rem 1.5rem;
  border: 1px solid var(--color-white);
  border-radius: 4rem;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1em;
  text-decoration: none;
  transition: 0.16s ease-in-out all;
}

.block-simple-cta-v1 .cta-btn:hover,
.block-simple-cta-v1 .cta-btn:focus-visible,
.block-simple-cta-v1 .cta-btn:focus {
  background-color: var(--color-white);
  color: var(--color-forest-green);
  border-color: var(--color-white);
}

.block-simple-cta-v1 .cta-btn:focus-visible,
.block-simple-cta-v1 .cta-btn:focus {
  outline: 3px solid #47B27A;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(71, 178, 122, 0.4);
}

.block-simple-cta-v1 .cta-btn:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.block-simple-cta-v1 .cta-btn-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-simple-cta-v1 .cta-btn:hover .cta-btn-icon {
  transform: translateX(3px);
}

/* Tablet */
@media (min-width: 768px) {
  .block-simple-cta-v1 .cta-inner {
    padding: 64px 48px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-simple-cta-v1 .cta-inner {
    flex-direction: row;
    align-items: center;
    padding: 80px;
    gap: 80px;
  }
  .block-simple-cta-v1 .cta-left {
    flex: 0 0 45%;
    align-self: flex-start;
  }
  .block-simple-cta-v1 .cta-right {
    flex: 1;
  }
}


/* social-sharing-v1 */
/* ── Social Sharing v1 ────────────────────────────────────────── */
.block-social-sharing-v1 {
  background: var(--color-white, #FFFFFF);
}
.dark .block-social-sharing-v1 {
  background: var(--color-bg-dark, #0f1a14);
}

.block-social-sharing-v1 .ss-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 24px;
}

.block-social-sharing-v1 .ss-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid var(--color-grey-20, #DCDCDC);
  border-bottom: 1px solid var(--color-grey-20, #DCDCDC);
}
.dark .block-social-sharing-v1 .ss-row {
  border-color: rgba(255, 255, 255, 0.1);
}

.block-social-sharing-v1 .ss-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: var(--color-black, #333333);
  margin: 0;
}
.dark .block-social-sharing-v1 .ss-title {
  color: var(--color-text-dark, #f0f4f2);
}

.block-social-sharing-v1 .ss-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.block-social-sharing-v1 .ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--color-moss-green, #13735F);
  background: var(--color-white, #FFFFFF);
  color: var(--color-moss-green, #13735F);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  outline: none;
}
.block-social-sharing-v1 .ss-btn:hover,
.block-social-sharing-v1 .ss-btn:focus-visible {
  background: var(--color-forest-green, #004432);
  border-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}
.block-social-sharing-v1 .ss-btn:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 2px;
}
.dark .block-social-sharing-v1 .ss-btn {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.5);
}
.dark .block-social-sharing-v1 .ss-btn:hover,
.dark .block-social-sharing-v1 .ss-btn:focus-visible {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}
.block-social-sharing-v1 .ss-copy-btn.ss-copied {
  background: var(--color-mint-green, #47B27A);
  border-color: var(--color-mint-green, #47B27A);
  color: var(--color-forest-green, #004432);
}
.dark .block-social-sharing-v1 .ss-copy-btn.ss-copied {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}

@media (max-width: 767px) {
  .block-social-sharing-v1 .ss-inner {
    padding: 24px 24px;
  }
}

/* standard-picture-gallery-v1 */
/* Standard Picture Gallery (block-standard-picture-gallery-v1) */

.block-standard-picture-gallery-v1 {
  --standard-picture-gallery-v1-bg: var(--color-white, #ffffff);
  --standard-picture-gallery-v1-slide-width: calc(100vw - 48px);
  --standard-picture-gallery-v1-track-gap: 24px;
  --standard-picture-gallery-v1-track-gutter: 24px;
  background: var(--standard-picture-gallery-v1-bg);
  color: var(--color-black, #333333);
  overflow: hidden;
  padding: 64px 0;
}

.block-standard-picture-gallery-v1[data-background-color="#FFFFFF"] {
  --standard-picture-gallery-v1-bg: var(--color-white, #ffffff);
}

.block-standard-picture-gallery-v1[data-background-color="#F7F7F7"] {
  --standard-picture-gallery-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-standard-picture-gallery-v1 {
  --standard-picture-gallery-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__header {
  display: grid;
  gap: 24px;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-forest-green, #004432);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline p,
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro p,
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption p {
  margin: 0;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro {
  max-width: 66ch;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro p + p {
  margin-top: 12px;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--standard-picture-gallery-v1-track-gap);
  margin: 0;
  padding: 16px 0 0 var(--standard-picture-gallery-v1-track-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: auto;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--standard-picture-gallery-v1-track-gutter) - var(--standard-picture-gallery-v1-track-gap)));
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__track::-webkit-scrollbar {
  display: none;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__slide {
  flex: 0 0 var(--standard-picture-gallery-v1-slide-width);
  min-width: 0;
  scroll-snap-align: center;
  transform-origin: center center;
}

.block-standard-picture-gallery-v1.spg-js-ready .standard-picture-gallery-v1__slide {
  will-change: transform;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-grey-20, #dcdcdc);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media {
  background: rgba(255, 255, 255, 0.08);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  -webkit-backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.block-standard-picture-gallery-v1.spg-js-ready .standard-picture-gallery-v1__slide:not(.spg-active) .standard-picture-gallery-v1__media::after {
  opacity: 1;
}

/* Blurred background shown only for portrait pictures */
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__background {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media.spg-portrait .standard-picture-gallery-v1__background {
  display: block;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__image,
.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__image {
  position: relative;
  z-index: 1;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media.spg-portrait .standard-picture-gallery-v1__image {
  object-fit: contain;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(0, 68, 50, 0.08), rgba(71, 178, 122, 0.12)),
    var(--color-light-grey, #f7f7f7);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__placeholder {
  background:
    linear-gradient(135deg, rgba(71, 178, 122, 0.12), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.08);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption {
  max-width: 760px;
  margin-top: 24px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption p + p {
  margin-top: 12px;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.7));
}

.block-standard-picture-gallery-v1.spg-js-ready .standard-picture-gallery-v1__slide:not(.spg-active) .standard-picture-gallery-v1__caption {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: var(--standard-picture-gallery-v1-slide-width);
  margin: 20px auto 0;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 14px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill {
  background: rgba(255, 255, 255, 0.18);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, #13735f);
  transform: scaleX(var(--spg-p, 0));
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill::after {
  background: var(--color-accent-dark, #47b27a);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.52);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.78);
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735f);
  outline-offset: 2px;
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn:focus-visible {
  outline-color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-standard-picture-gallery-v1 {
    --standard-picture-gallery-v1-slide-width: calc(100vw - 96px);
    --standard-picture-gallery-v1-track-gap: 32px;
    --standard-picture-gallery-v1-track-gutter: 48px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__inner {
    padding: 0 48px 32px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption {
    margin-top: 28px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress {
    flex: none;
    width: 220px;
  }
}

@media (min-width: 1024px) {
  .block-standard-picture-gallery-v1 {
    --standard-picture-gallery-v1-slide-width: min(960px, calc(100vw - 160px));
    --standard-picture-gallery-v1-track-gutter: max(80px, calc(50vw - 480px));
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__inner {
    padding: 0 80px 32px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__intro {
    grid-column: 7 / span 6;
  }

}

@media (prefers-reduced-motion: reduce) {
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__media::after,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__background,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__image,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__caption,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__progress-fill::after,
  .block-standard-picture-gallery-v1 .standard-picture-gallery-v1__btn {
    transition: none !important;
  }
}


/* stories-header-v1 */
/* ─── Wilderness Stories Header (stories-header-v1) ──────────────────────── */

.block-stories-header-v1 {
  background: #000000;
  position: relative;
  overflow-x: clip;
  max-width: 100%;
}
.dark .block-stories-header-v1 {
  background: #000000;
  position: relative;
  overflow-x: clip;
  max-width: 100%;
}

.block-stories-header-v1 .sh-sticky-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: color-mix(in srgb, var(--color-moss-green, #13735F) 60%, transparent);
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.block-stories-header-v1 .sh-sticky-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.block-stories-header-v1 .sh-sticky-logo {
  height: 16px;
  width: auto;
  flex-shrink: 0;
  display: block;
}

.block-stories-header-v1 .sh-sticky-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  flex: 1;
}

.block-stories-header-v1 .sh-search-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0 4px;
  color: rgba(255, 255, 255, 0.65);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  cursor: pointer;
  transition: color 0.15s;
  flex-shrink: 0;
}
.block-stories-header-v1 .sh-search-toggle:hover {
  color: rgba(255, 255, 255, 0.95);
}
.block-stories-header-v1 .sh-search-toggle-label {
  display: inline;
}

.block-stories-header-v1 .sh-mega-panel {
  overflow: hidden;
  height: 0;
  opacity: 0;
  pointer-events: none;
  transition: height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease;
}
.block-stories-header-v1 .sh-mega-panel.is-open {
  opacity: 1;
  pointer-events: auto;
}
.block-stories-header-v1 .sh-mega-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: 16px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.block-stories-header-v1 .sh-mega-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.block-stories-header-v1 .sh-mega-icon {
  color: rgba(255, 255, 255, 0.45);
  flex-shrink: 0;
}
.block-stories-header-v1 .sh-mega-input {
  background: none;
  border: none;
  outline: none;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  width: 100%;
}
.block-stories-header-v1 .sh-mega-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.block-stories-header-v1 .sh-mega-close {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  padding: 4px;
  flex-shrink: 0;
  transition: color 0.15s;
}
.block-stories-header-v1 .sh-mega-close:hover {
  color: rgba(255, 255, 255, 0.9);
}
.block-stories-header-v1 .sh-mega-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  max-width: 640px;
  margin: 14px auto 0;
}
.block-stories-header-v1 .sh-mega-cat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  padding: 5px 14px;
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.block-stories-header-v1 .sh-mega-cat:hover,
.block-stories-header-v1 .sh-mega-cat.is-active {
  background: rgba(255, 255, 255, 0.15);
  color: var(--color-white, #FFFFFF);
}

.block-stories-header-v1 .sh-inner {
  max-width: none;
  margin: 0;
  padding: 0;
}

.block-stories-header-v1 .sh-text {
  margin-bottom: 48px;
}

.block-stories-header-v1 .sh-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--color-white, #FFFFFF);
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.block-stories-header-v1 .sh-logo {
  height: 1em;
  width: auto;
  flex-shrink: 0;
  display: block;
}

.block-stories-header-v1 .sh-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1em;
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  line-height: 1.05;
  margin: 0;
}
.dark .block-stories-header-v1 .sh-title {
  color: var(--color-white, #FFFFFF);
}

.block-stories-header-v1 .sh-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
  max-width: 680px;
}
.dark .block-stories-header-v1 .sh-desc {
  color: rgba(255, 255, 255, 0.6);
}

.block-stories-header-v1 .sh-card {
  display: block;
  position: relative;
  background: none;
}

.block-stories-header-v1 .sh-card-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.block-stories-header-v1 .sh-card-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
  z-index: 1;
}
.block-stories-header-v1 .sh-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  transition: opacity 1.4s ease, transform 0.4s ease;
}
.block-stories-header-v1 .sh-card-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.block-stories-header-v1.is-visible .sh-card-img {
  opacity: 1;
}
.block-stories-header-v1 .sh-card:hover .sh-card-img {
  transform: scale(1.04);
}
.block-stories-header-v1 .sh-card-title-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.block-stories-header-v1 .sh-card-title-link:hover .sh-card-title {
  opacity: 0.82;
}
.block-stories-header-v1 .sh-card-title-link:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.5);
  outline-offset: 4px;
  border-radius: 2px;
}

.block-stories-header-v1 .sh-card-read-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 1rem;
  color: var(--color-white, #FFFFFF);
  text-decoration: none;
  transition: color 0.2s;
  cursor: pointer;
}
.block-stories-header-v1 .sh-card-read-more:hover {
  color: rgba(255, 255, 255, 0.5);
}
.block-stories-header-v1 .sh-card-read-more svg {
  transition: transform 0.2s;
  flex-shrink: 0;
}
.block-stories-header-v1 .sh-card-read-more:hover svg {
  transform: translateX(3px);
}
.block-stories-header-v1 .sh-card-read-more:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 2px;
  border-radius: 2px;
}

.block-stories-header-v1 .sh-card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 80px 0 32px;
  background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.42) 38%, rgba(0,0,0,0.7) 68%);
  opacity: 0;
  transition: opacity 0.9s ease 0.6s;
}
.block-stories-header-v1.is-visible .sh-card-body {
  opacity: 1;
}
.block-stories-header-v1 .sh-card-body-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.block-stories-header-v1 .sh-card-category {
  display: none;
  align-self: flex-start;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 8px;
  padding: 4px 10px;
  line-height: 1.4;
}
.block-stories-header-v1 .sh-card-category:not(:empty) {
  display: inline-block;
}

.block-stories-header-v1 .sh-card-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  line-height: 1.2;
  margin: 0;
}

.block-stories-header-v1 .sh-card-date {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}

/* Title row — full-width gradient at top of hero */
.block-stories-header-v1 .sh-card-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, transparent 100%);
  pointer-events: none;
}

.block-stories-header-v1 .sh-card-top-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 24px 100px;
}

.block-stories-header-v1 .sh-card-heading {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: 700;
  color: var(--color-white, #FFFFFF);
  line-height: 1;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .block-stories-header-v1 .sh-sticky-inner { padding: 0 48px; }
  .block-stories-header-v1 .sh-mega-content { padding: 16px 48px 20px; }
  .block-stories-header-v1 .sh-card-body { padding: 100px 0 40px; }
  .block-stories-header-v1 .sh-card-body-inner { padding: 0 48px; }
  .block-stories-header-v1 .sh-card-top-inner { padding: 32px 48px 120px; }
}

@media (min-width: 1024px) {
  .block-stories-header-v1 .sh-sticky-inner { padding: 0 80px; }
  .block-stories-header-v1 .sh-mega-content { padding: 16px 80px 20px; }
  .block-stories-header-v1 .sh-card-body { padding: 120px 0 48px; }
  .block-stories-header-v1 .sh-card-body-inner { padding: 0 80px; }
  .block-stories-header-v1 .sh-card-top-inner { padding: 40px 80px 140px; }
}


/* story-gallery-v1 */
/* ── Story Gallery (block-story-gallery-v1) ─────────────────── */

.block-story-gallery-v1 {
  --sg-slide-width: calc(100vw - 48px);
  --sg-track-gap: 16px;
  --sg-track-gutter: 24px;
  background: var(--color-white, #FFFFFF);
}
.dark .block-story-gallery-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-gallery-v1 .sg-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

/* ── Carousel ── */

.block-story-gallery-v1 .sg-carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.block-story-gallery-v1 .sg-track {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--sg-track-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: none;
  touch-action: auto;
  padding: 16px 0 16px var(--sg-track-gutter);
  margin: 0;
}
.block-story-gallery-v1 .sg-track::after {
  content: '';
  flex: 0 0 max(0px, calc(var(--sg-track-gutter) - var(--sg-track-gap)));
}
.block-story-gallery-v1 .sg-track::-webkit-scrollbar { display: none; }

.block-story-gallery-v1 .sg-slide {
  flex: 0 0 var(--sg-slide-width);
  scroll-snap-align: center;
  margin: 0;
}
.block-story-gallery-v1.sg-js-ready .sg-slide {
  transform-origin: center center;
  will-change: transform;
}

@media (min-width: 860px) {
  .block-story-gallery-v1 {
    --sg-slide-width: 812px;
    --sg-track-gap: 32px;
    --sg-track-gutter: max(24px, calc(50vw - 406px));
  }
}

/* ── Image ── */

.block-story-gallery-v1 .sg-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-story-gallery-v1 .sg-img-wrap {
  background: rgba(255, 255, 255, 0.08);
}
.block-story-gallery-v1 .sg-img-wrap.sg-can-lightbox { cursor: zoom-in; }

.block-story-gallery-v1 .sg-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-story-gallery-v1 .sg-img-wrap.sg-portrait .sg-bg { display: block; }

.block-story-gallery-v1 .sg-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-story-gallery-v1 .sg-img-wrap.sg-portrait .sg-img { object-fit: contain; }

/* ── Inactive slide dim overlay ── */

.block-story-gallery-v1 .sg-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(2, 10, 4, 0.52);
  -webkit-backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  backdrop-filter: blur(14px) brightness(0.62) saturate(0.85);
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
/* overlay fades in on non-active slides only after JS is ready */
.block-story-gallery-v1.sg-js-ready .sg-slide:not(.sg-active) .sg-img-wrap::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .block-story-gallery-v1 .sg-img-wrap::after { transition: none; }
}

/* ── Lightbox ── */

.block-story-gallery-v1 .sg-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 64px 16px 24px;
}
.block-story-gallery-v1 .sg-lightbox.sg-lb-open { display: flex; }

.block-story-gallery-v1 .sg-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: sg-lb-in 0.2s ease;
}
@keyframes sg-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-story-gallery-v1 .sg-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: calc(100vh - 88px);
  animation: sg-lb-up 0.2s ease;
}
@keyframes sg-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-story-gallery-v1 .sg-lb-img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 88px);
  border-radius: 8px;
  object-fit: contain;
}

.block-story-gallery-v1 .sg-lb-close {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 0.15s ease, opacity 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .block-story-gallery-v1 .sg-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
}
.block-story-gallery-v1 .sg-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

.block-story-gallery-v1 .sg-lb-close {
  position: absolute;
  top: calc(16px + env(safe-area-inset-top, 0px));
  right: calc(16px + env(safe-area-inset-right, 0px));
  z-index: 3;
  width: 44px;
  height: 44px;
}

.block-story-gallery-v1 .sg-lb-nav { display: none; }

/* ── Caption ── */

.block-story-gallery-v1 .sg-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-story-gallery-v1 .sg-desc {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-story-gallery-v1 .sg-desc p { margin: 0 0 6px; }
.block-story-gallery-v1 .sg-desc p:last-child { margin-bottom: 0; }
.block-story-gallery-v1 .sg-desc a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-story-gallery-v1 .sg-desc a { color: var(--color-accent-dark); }
.block-story-gallery-v1 .sg-desc a:hover { text-decoration: none; }

/* ── Navigation (same style as 8-step) ── */

.block-story-gallery-v1 .sg-nav {
  position: relative;
  z-index: 10;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
  touch-action: auto;
}

.block-story-gallery-v1 .sg-progress {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 40px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.07);
  padding: 0 14px;
  overflow: hidden;
}
.dark .block-story-gallery-v1 .sg-progress {
  background: rgba(255, 255, 255, 0.1);
}

.block-story-gallery-v1 .sg-progress-fill {
  flex: 1;
  height: 4px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.12);
  min-width: 0;
  position: relative;
  overflow: hidden;
}
.dark .block-story-gallery-v1 .sg-progress-fill {
  background: rgba(255, 255, 255, 0.18);
}
.block-story-gallery-v1 .sg-progress-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-moss-green, rgb(45, 106, 79));
  transform-origin: left center;
  transform: scaleX(var(--sg-p, 0));
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.dark .block-story-gallery-v1 .sg-progress-fill::after {
  background: var(--color-accent-dark, #47B27A);
}
@media (prefers-reduced-motion: reduce) {
  .block-story-gallery-v1 .sg-progress-fill::after { transition: none; }
}

.block-story-gallery-v1 .sg-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.07);
  color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.15s, opacity 0.15s;
  flex-shrink: 0;
}
.block-story-gallery-v1 .sg-btn:hover:not(:disabled) { background: rgba(0, 0, 0, 0.12); }
.block-story-gallery-v1 .sg-btn:disabled { opacity: 0.4; cursor: default; }
.dark .block-story-gallery-v1 .sg-btn {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}
.dark .block-story-gallery-v1 .sg-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.16); }
.block-story-gallery-v1 .sg-btn:focus-visible {
  outline: 2px solid var(--color-moss-green, #13735F);
  outline-offset: 2px;
}
.dark .block-story-gallery-v1 .sg-btn:focus-visible {
  outline-color: var(--color-accent-dark, #47B27A);
}

@media (min-width: 768px) {
  .block-story-gallery-v1 .sg-progress { flex: none; width: 176px; }
}


/* story-header-v1 */
/* ── Story Header v1 ─────────────────────────────────────────── */
.block-story-header-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-header-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-header-v1 .sh-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 32px 24px;
}

.block-story-header-v1 .sh-eyebrow {
  display: none;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: var(--color-forest-green, #004432);
  background: rgba(0, 68, 50, 0.07);
  border: 1px solid rgba(0, 68, 50, 0.15);
  border-radius: 8px;
  padding: 4px 10px;
  margin: 0 0 12px;
}
.block-story-header-v1 .sh-eyebrow:not(:empty) { display: inline-block; }
.dark .block-story-header-v1 .sh-eyebrow {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
}

.block-story-header-v1 .sh-date {
  display: block;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(13px, 1.2vw, 15px);
  color: var(--color-grey-60, #737373);
  margin: 0 0 20px;
  line-height: 1.4;
}
.block-story-header-v1 .sh-date:empty { display: none; }
.dark .block-story-header-v1 .sh-date { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-story-header-v1 .sh-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-black, #333333);
  margin: 0 0 20px;
  letter-spacing: -0.01em;
}
.dark .block-story-header-v1 .sh-title { color: var(--color-text-dark, #f0f4f2); }

.block-story-header-v1 .sh-desc {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 0 0 32px;
}
.dark .block-story-header-v1 .sh-desc { color: var(--color-text-secondary-dark, rgba(255,255,255,0.5)); }

.block-story-header-v1 .sh-share {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 24px;
  border-top: 1px solid var(--color-grey-20, #DCDCDC);
  flex-wrap: wrap;
}
.dark .block-story-header-v1 .sh-share { border-color: rgba(255,255,255,0.1); }

.block-story-header-v1 .sh-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--color-moss-green, #13735F);
  background: var(--color-white, #FFFFFF);
  color: var(--color-moss-green, #13735F);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  outline: none;
}
.block-story-header-v1 .sh-share-btn:hover,
.block-story-header-v1 .sh-share-btn:focus-visible {
  background: var(--color-forest-green, #004432);
  border-color: var(--color-forest-green, #004432);
  color: var(--color-white, #FFFFFF);
}
.block-story-header-v1 .sh-share-btn:focus-visible {
  outline: 3px solid var(--color-forest-green, #004432);
  outline-offset: 2px;
}
.dark .block-story-header-v1 .sh-share-btn {
  background: transparent;
  border-color: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.5);
}
.dark .block-story-header-v1 .sh-share-btn:hover,
.dark .block-story-header-v1 .sh-share-btn:focus-visible {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}
.block-story-header-v1 .sh-copy-btn.sh-copied {
  background: var(--color-mint-green, #47B27A);
  border-color: var(--color-mint-green, #47B27A);
  color: var(--color-forest-green, #004432);
}
.dark .block-story-header-v1 .sh-copy-btn.sh-copied {
  background: var(--color-accent-dark, #47B27A);
  border-color: var(--color-accent-dark, #47B27A);
  color: var(--color-bg-dark, #0f1a14);
}

@media (max-width: 767px) {
  .block-story-header-v1 .sh-inner { padding: 32px 16px; }
}


/* story-image-v1 */
/* ── Story Image (block-story-image-v1) ───────────────────── */

.block-story-image-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-image-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-image-v1 .si-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

/* ── Image wrap ── */

.block-story-image-v1 .si-img-wrap {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-story-image-v1 .si-img-wrap { background: rgba(255, 255, 255, 0.08); }
.block-story-image-v1.si-has-lightbox .si-img-wrap { cursor: zoom-in; }

/* Blurred background shown only for portrait pictures */
.block-story-image-v1 .si-bg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px) brightness(0.6);
  transform: scale(1.12);
}
.block-story-image-v1 .si-img-wrap.si-portrait .si-bg { display: block; }

.block-story-image-v1 .si-img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.block-story-image-v1 .si-img-wrap.si-portrait .si-img { object-fit: contain; }

/* ── Placeholder ── */

.block-story-image-v1 .si-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark .block-story-image-v1 .si-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

/* ── Zoom button — hidden unless lightbox is enabled ── */

.block-story-image-v1 .si-zoom-btn {
  display: none;
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: zoom-in;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.block-story-image-v1.si-has-lightbox .si-zoom-btn { display: flex; }
.block-story-image-v1 .si-img-wrap:hover .si-zoom-btn,
.block-story-image-v1 .si-img-wrap:focus-within .si-zoom-btn { opacity: 1; }
@media (max-width: 767px) {
  .block-story-image-v1.si-has-lightbox .si-zoom-btn { opacity: 1; }
}
.block-story-image-v1 .si-zoom-btn:hover { background: rgba(0, 0, 0, 0.65); }
.block-story-image-v1 .si-zoom-btn:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 3px;
  opacity: 1;
}

/* ── Lightbox — hidden by default, shown via JS class ── */

.block-story-image-v1 .si-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.block-story-image-v1 .si-lightbox.si-lb-open { display: flex; }

.block-story-image-v1 .si-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 10, 4, 0.92);
  cursor: zoom-out;
  animation: si-lb-in 0.2s ease;
}
@keyframes si-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.block-story-image-v1 .si-lb-content {
  position: relative;
  z-index: 1;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  animation: si-lb-up 0.2s ease;
}
@keyframes si-lb-up {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.block-story-image-v1 .si-lb-img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 8px;
  object-fit: contain;
}

.block-story-image-v1 .si-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.block-story-image-v1 .si-lb-close:hover { background: rgba(255, 255, 255, 0.22); }
.block-story-image-v1 .si-lb-close:focus-visible {
  outline: 3px solid var(--color-moss-green, #13735F);
  outline-offset: 4px;
}

/* ── Caption ── */

.block-story-image-v1 .si-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark .block-story-image-v1 .si-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
.block-story-image-v1 .si-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-story-image-v1 .si-caption a { color: var(--color-accent-dark); }
.block-story-image-v1 .si-caption a:hover { text-decoration: none; }

@media (max-width: 767px) {
  .block-story-image-v1 .si-inner { padding: 16px 24px; }
}


/* story-titled-text-v1 */
/* ── Story Titled Text (block-story-titled-text-v1) ──────────── */

.block-story-titled-text-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-titled-text-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-titled-text-v1 .stt-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

.block-story-titled-text-v1 .stt-title {
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(24px, 3.5vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-black, #333333);
  margin: 0 0 20px;
  letter-spacing: -0.01em;
}
.dark .block-story-titled-text-v1 .stt-title { color: var(--color-text-dark, #f0f4f2); }

.block-story-titled-text-v1 .stt-body {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.75;
  color: var(--color-black, #333333);
}
.dark .block-story-titled-text-v1 .stt-body { color: var(--color-text-dark, #f0f4f2); }
.block-story-titled-text-v1 .stt-body p { margin: 0 0 16px; }
.block-story-titled-text-v1 .stt-body p:last-child { margin-bottom: 0; }
.block-story-titled-text-v1 .stt-body a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark .block-story-titled-text-v1 .stt-body a { color: var(--color-accent-dark); }
.block-story-titled-text-v1 .stt-body a:hover { text-decoration: none; }

@media (max-width: 767px) {
  .block-story-titled-text-v1 .stt-inner { padding: 16px; }
}


/* story-video-v1 */
/* ── Story Video (block-story-video-v1) ────────────────────── */

.block-story-video-v1 { background: var(--color-white, #FFFFFF); }
.dark .block-story-video-v1 { background: var(--color-bg-dark, #0f1a14); }

.block-story-video-v1 .sv-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 16px 24px;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-yt-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: var(--color-grey-20, #DCDCDC);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-yt-wrap {
  background: rgba(255, 255, 255, 0.08);
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-video-wrap {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  background: var(--color-grey-20, #DCDCDC);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-video-wrap {
  background: rgba(255, 255, 255, 0.08);
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: var(--color-grey-20, #DCDCDC);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

:is(.block-story-video-v1, [data-video-player="v1"]):not([data-src="true"]) .sv-yt-container { display: none; }
:is(.block-story-video-v1, [data-video-player="v1"])[data-src="true"] .sv-video-wrap,
:is(.block-story-video-v1, [data-video-player="v1"])[data-src="true"] .sv-placeholder { display: none; }

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-yt-container {
  position: relative;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-gate {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
  background: var(--color-forest-green, #004432);
  background-size: cover;
  background-position: center;
  text-align: center;
  isolation: isolate;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-gate::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  z-index: 0;
  pointer-events: none;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-text {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 1.55;
  color: var(--color-white);
  max-width: 480px;
  margin: 0;
  position: relative;
  z-index: 1;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-btn {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border-radius: 100px;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  background: transparent;
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  touch-action: manipulation;
  position: relative;
  z-index: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: var(--color-white, #FFFFFF);
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-btn:focus-visible {
  outline: 3px solid var(--color-mint-green, #47B27A);
  outline-offset: 4px;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-consent-icon {
  flex-shrink: 0;
}


:is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4D4D4D);
  margin: 12px 0 0;
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption {
  color: var(--color-text-secondary-dark, rgba(255,255,255,0.5));
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption a {
  color: var(--color-moss-green, #13735F);
  font-weight: 600;
  text-decoration: underline;
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption a { color: var(--color-accent-dark); }
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-caption a:hover { text-decoration: none; }

/* Revoke YouTube consent */
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-wrap {
  padding: 6px 0 0;
  text-align: right;
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: clamp(10px, 1.1vw, 11px);
  color: var(--color-grey-60, #666666);
  background: none;
  border: none;
  padding: 2px 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn {
  color: rgba(255, 255, 255, 0.3);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn:hover {
  color: var(--color-forest-green, #004432);
}
.dark :is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn:hover {
  color: rgba(255, 255, 255, 0.65);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-revoke-btn:focus-visible {
  outline: 2px solid #47b27a;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Lights-out button */
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-inner {
  position: relative;
}

:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.42);
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.block-story-video-v1 .sv-lights-btn {
  top: 24px;
  right: 32px;
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn:hover {
  background: rgba(0, 0, 0, 0.65);
  color: var(--color-white);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn:focus-visible {
  outline: 3px solid #47b27a;
  outline-offset: 3px;
}
/* Cinema mode: video player punches through overlay, button floats above */
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-yt-container,
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-video-wrap {
  position: relative;
  z-index: 9992;
  border-radius: 8px;
  overflow: hidden;
}
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-lights-btn {
  z-index: 9993;
  background: rgba(2, 10, 4, 0.85);
  color: #c6f080;
  border-color: rgba(198, 240, 128, 0.3);
}
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn .sv-lb-off { display: block; }
:is(.block-story-video-v1, [data-video-player="v1"]) .sv-lights-btn .sv-lb-on  { display: none; }
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-lights-btn .sv-lb-off { display: none; }
:is(.block-story-video-v1, [data-video-player="v1"])[data-lights="on"] .sv-lights-btn .sv-lb-on  { display: block; }

/* Overlay injected into body by JS */
.sv-lights-overlay {
  position: fixed;
  inset: 0;
  z-index: 9990;
  background: rgba(2, 10, 4, 0.92);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.sv-lights-forest {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
}

.sv-lights-canopy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(160px, 24vh, 270px);
  display: block;
}

@keyframes sv-fly-glow {
  0%, 100% { opacity: 0.15; box-shadow: 0 0 4px 2px rgba(160, 240, 100, 0.25); }
  50%       { opacity: 0.9;  box-shadow: 0 0 8px 4px rgba(190, 255, 130, 0.7); }
}
@keyframes sv-fly-float {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(var(--fly-dx), calc(var(--fly-dy) * 0.5)); }
  66%  { transform: translate(calc(var(--fly-dx) * -0.3), var(--fly-dy)); }
  100% { transform: translate(0, 0); }
}
.sv-lights-fly {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #c6f080;
  pointer-events: none;
  animation:
    sv-fly-glow var(--fly-glow, 2s) ease-in-out infinite,
    sv-fly-float var(--fly-float, 5s) ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .sv-lights-overlay { transition: none; }
  .sv-lights-fly { animation: none; opacity: 0.5; }
}

@media (max-width: 767px) {
  .block-story-video-v1 .sv-inner { padding: 16px; }
}


/* table-of-contents-v1 */
/* ── Table of Contents (block-table-of-contents-v1) ────────────── */

.block-table-of-contents-v1 {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  /* Reset <section> defaults so it doesn't affect page flow */
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  /* Panel retains physical size when hidden — block passthrough so it doesn't eat mobile taps */
  pointer-events: none;
}

.block-table-of-contents-v1 .wi-toc-panel {
  background: var(--color-white);
  border: 1px solid var(--color-grey-20);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: 16px;
  width: 280px;
  max-width: calc(100vw - 48px);
  max-height: 60vh;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(10px) scale(0.97);
  pointer-events: none;
  visibility: hidden;
  /* visibility delays: instant on open, waits for fade-out on close */
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}

.block-table-of-contents-v1 .wi-toc-panel.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0s;
}

@media (prefers-reduced-motion: reduce) {
  .block-table-of-contents-v1 .wi-toc-panel {
    transition: none;
  }
}

.block-table-of-contents-v1 .wi-toc-title {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-grey-60);
  margin: 0 0 12px 0;
}

.block-table-of-contents-v1 .wi-toc-title p {
  margin: 0;
  display: inline;
}

.block-table-of-contents-v1 .wi-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.block-table-of-contents-v1 .wi-toc-item { line-height: 1.4; }
.block-table-of-contents-v1 .wi-toc-h3 { padding-left: 12px; }
.block-table-of-contents-v1 .wi-toc-h4 { padding-left: 24px; }

.block-table-of-contents-v1 .wi-toc-link {
  font-family: var(--font-body);
  font-size: clamp(14px, 1vw, 15px);
  color: var(--color-grey-80);
  text-decoration: none;
  display: block;
  padding: 4px 8px;
  border-left: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
  cursor: pointer;
}

.block-table-of-contents-v1 .wi-toc-link:hover {
  color: var(--color-moss-green);
  background: var(--color-light-grey);
  border-radius: 0 6px 6px 0;
}

.block-table-of-contents-v1 .wi-toc-link.is-active {
  color: var(--color-forest-green);
  border-left-color: var(--color-mint-green);
  font-weight: 700;
}

.block-table-of-contents-v1 .wi-toc-link:focus-visible {
  outline: 2px solid var(--color-mint-green);
  outline-offset: 2px;
  border-radius: 0 4px 4px 0;
}

.block-table-of-contents-v1 .wi-toc-btn {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--color-forest-green);
  color: var(--color-white);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0, 68, 50, 0.25);
  transition: background 0.15s;
  flex-shrink: 0;
  pointer-events: auto;
}

.block-table-of-contents-v1 .wi-toc-btn:hover { background: var(--color-moss-green); }
.block-table-of-contents-v1 .wi-toc-btn:focus-visible {
  outline: 2px solid var(--color-mint-green);
  outline-offset: 2px;
}

.dark .block-table-of-contents-v1 .wi-toc-panel {
  background: var(--color-surface-dark);
  border-color: rgba(255, 255, 255, 0.1);
}

.dark .block-table-of-contents-v1 .wi-toc-title { color: var(--color-text-secondary-dark); }
.dark .block-table-of-contents-v1 .wi-toc-link { color: var(--color-text-secondary-dark); }
.dark .block-table-of-contents-v1 .wi-toc-link:hover { color: var(--color-accent-dark); background: rgba(255,255,255,0.05); }
.dark .block-table-of-contents-v1 .wi-toc-link.is-active { color: var(--color-text-dark); border-left-color: var(--color-mint-green); }


/* team-v1 */
/* Team (block-team-v1) */

.block-team-v1 {
  --team-v1-bg: var(--color-white, #ffffff);
  background: var(--team-v1-bg);
  color: var(--color-black, #333333);
}

.block-team-v1[data-background-color="#FFFFFF"] {
  --team-v1-bg: var(--color-white, #ffffff);
}

.block-team-v1[data-background-color="#F7F7F7"] {
  --team-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-team-v1 {
  --team-v1-bg: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
}

.block-team-v1 .team-v1__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-team-v1 .team-v1__header {
  display: grid;
  gap: 24px;
  margin-bottom: 32px;
}

.block-team-v1 .team-v1__headline {
  margin: 0;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3, 46px));
  line-height: var(--text-h3--line-height, 1.15);
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__clamp-wrap {
  position: relative;
  min-width: 0;
}

.block-team-v1 .team-v1__description {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-black, #333333);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  line-clamp: 10;
}

.dark .block-team-v1 .team-v1__description {
  color: var(--color-text-dark, #f0f4f2);
}

.block-team-v1 .team-v1__description p,
.block-team-v1 .team-v1__bio p {
  margin: 0 0 16px;
}

.block-team-v1 .team-v1__description p:last-child,
.block-team-v1 .team-v1__bio p:last-child {
  margin-bottom: 0;
}

.block-team-v1 .team-v1__read-more {
  display: inline-flex;
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.block-team-v1 .team-v1__read-more:hover,
.block-team-v1 .team-v1__read-more:focus-visible {
  color: var(--color-forest-green, #004432);
}

.block-team-v1 .team-v1__read-more:focus-visible {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 3px;
}

.dark .block-team-v1 .team-v1__read-more {
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-team-v1 .team-v1__read-more:hover,
.dark .block-team-v1 .team-v1__read-more:focus-visible {
  color: var(--color-text-dark, #f0f4f2);
}

.block-team-v1 .team-v1__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.block-team-v1 .team-v1__member {
  min-width: 0;
}

.block-team-v1 .team-v1__avatar-link {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.block-team-v1 .team-v1__avatar,
.block-team-v1 .team-v1__avatar-placeholder {
  display: block;
  width: 144px;
  height: 144px;
  border-radius: 50%;
}

.block-team-v1 .team-v1__avatar {
  object-fit: cover;
  object-position: center;
  background: var(--color-grey-20, #dcdcdc);
}

.block-team-v1 .team-v1__avatar-placeholder {
  background: var(--color-light-grey, #f7f7f7);
  border: 1px solid var(--color-grey-20, #dcdcdc);
}

.dark .block-team-v1 .team-v1__avatar,
.dark .block-team-v1 .team-v1__avatar-placeholder {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}

.block-team-v1 .team-v1__name {
  margin: 24px 0 8px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__name {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__position {
  margin: 0 0 16px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__position {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__bio {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.6;
  color: var(--color-grey-80, #4d4d4d);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  line-clamp: 10;
}

.dark .block-team-v1 .team-v1__bio {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

.block-team-v1 .team-v1__sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.block-team-v1 .team-v1__sheet-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

.block-team-v1 .team-v1__sheet {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  max-height: 86vh;
  overflow: hidden;
  border-radius: 28px 28px 0 0;
  background: var(--color-light-grey, #f7f7f7);
  color: var(--color-black, #333333);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.12);
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1);
}

.block-team-v1 .team-v1__sheet.is-active {
  transform: translateY(0);
}

.block-team-v1 .team-v1__sheet.team-v1__sheet--dragging {
  transition: none;
}

.dark .block-team-v1 .team-v1__sheet {
  background: var(--color-bg-dark, #0f1a14);
  color: var(--color-text-dark, #f0f4f2);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.5);
}

.block-team-v1 .team-v1__sheet-handle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 0 6px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: grab;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
}

.block-team-v1 .team-v1__sheet-handle:active {
  cursor: grabbing;
}

.block-team-v1 .team-v1__sheet-handle:focus-visible {
  outline: none;
}

.block-team-v1 .team-v1__sheet-handle-bar {
  display: block;
  width: 44px;
  height: 5px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.24);
}

.block-team-v1 .team-v1__sheet-handle:focus-visible .team-v1__sheet-handle-bar {
  outline: 2px solid var(--color-mint-green, #47b27a);
  outline-offset: 3px;
}

.dark .block-team-v1 .team-v1__sheet-handle-bar {
  background: rgba(255, 255, 255, 0.28);
}

.block-team-v1 .team-v1__sheet-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.block-team-v1 .team-v1__sheet-inner {
  display: grid;
  gap: 24px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 20px 24px 32px;
}

.block-team-v1 .team-v1__sheet--text-only .team-v1__sheet-inner {
  max-width: 840px;
}

.block-team-v1 .team-v1__sheet-main {
  min-width: 0;
}

.block-team-v1 .team-v1__sheet-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--color-white, #ffffff);
}

.dark .block-team-v1 .team-v1__sheet-media {
  background: rgba(255, 255, 255, 0.08);
}

.block-team-v1 .team-v1__sheet-avatar,
.block-team-v1 .team-v1__sheet-avatar-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.block-team-v1 .team-v1__sheet-avatar {
  object-fit: cover;
  object-position: center;
}

.block-team-v1 .team-v1__sheet-avatar-placeholder {
  border: 1px solid var(--color-grey-20, #dcdcdc);
  background: var(--color-white, #ffffff);
}

.dark .block-team-v1 .team-v1__sheet-avatar-placeholder {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
}

.block-team-v1 .team-v1__sheet-name {
  margin: 0 0 10px;
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-weight: 700;
  font-size: clamp(28px, calc(1.6vw + 22px), 46px);
  line-height: 1.2;
  color: var(--color-forest-green, #004432);
}

.dark .block-team-v1 .team-v1__sheet-name {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__sheet-position {
  margin: 0 0 24px;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--color-forest-green, #004432);
}

.block-team-v1 .team-v1__sheet-position p {
  margin: 0 0 8px;
}

.block-team-v1 .team-v1__sheet-position p:last-child {
  margin-bottom: 0;
}

.dark .block-team-v1 .team-v1__sheet-position {
  color: var(--color-accent-dark, #47b27a);
}

.block-team-v1 .team-v1__sheet-bio {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 18px;
  line-height: 1.7;
  color: var(--color-grey-80, #4d4d4d);
}

.block-team-v1 .team-v1__sheet-bio p {
  margin: 0 0 16px;
}

.block-team-v1 .team-v1__sheet-bio p:last-child {
  margin-bottom: 0;
}

.dark .block-team-v1 .team-v1__sheet-bio {
  color: var(--color-text-secondary-dark, rgba(255, 255, 255, 0.5));
}

.block-team-v1 .team-v1__sheet-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  padding: 14px 24px calc(20px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.dark .block-team-v1 .team-v1__sheet-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.block-team-v1 .team-v1__sheet-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  color: var(--color-forest-green, #004432);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.block-team-v1 .team-v1__sheet-close:hover,
.block-team-v1 .team-v1__sheet-close:focus-visible {
  background: rgba(0, 0, 0, 0.15);
  transform: scale(1.08);
}

.block-team-v1 .team-v1__sheet-close:focus-visible {
  outline: 3px solid var(--color-mint-green, #47b27a);
  outline-offset: 3px;
}

.dark .block-team-v1 .team-v1__sheet-close {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-dark, #f0f4f2);
}

.dark .block-team-v1 .team-v1__sheet-close:hover,
.dark .block-team-v1 .team-v1__sheet-close:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.block-team-v1 .team-v1__cta-row {
  display: flex;
  justify-content: flex-start;
  margin-top: 32px;
}

.block-team-v1 .team-v1__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid var(--color-moss-green, #13735f);
  border-radius: 999px;
  background: transparent;
  color: var(--color-moss-green, #13735f);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.block-team-v1 .team-v1__cta:hover,
.block-team-v1 .team-v1__cta:focus-visible {
  background: var(--color-moss-green, #13735f);
  border-color: transparent;
  color: var(--color-white, #ffffff);
}

.block-team-v1 .team-v1__cta:focus-visible {
  outline: 3px solid var(--color-mint-green, #47b27a);
  outline-offset: 4px;
}

.block-team-v1 .team-v1__cta-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.block-team-v1 .team-v1__cta:hover .team-v1__cta-icon,
.block-team-v1 .team-v1__cta:focus-visible .team-v1__cta-icon {
  transform: translateX(3px);
}

.dark .block-team-v1 .team-v1__cta {
  background: transparent;
  border-color: var(--color-accent-dark, #47b27a);
  color: var(--color-accent-dark, #47b27a);
}

.dark .block-team-v1 .team-v1__cta:hover,
.dark .block-team-v1 .team-v1__cta:focus-visible {
  background: var(--color-accent-dark, #47b27a);
  border-color: transparent;
  color: var(--color-bg-dark, #0f1a14);
}

@media (min-width: 768px) {
  .block-team-v1 .team-v1__inner {
    padding: 64px 48px;
  }

  .block-team-v1 .team-v1__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 48px;
  }

  .block-team-v1 .team-v1__avatar,
  .block-team-v1 .team-v1__avatar-placeholder {
    width: 168px;
    height: 168px;
  }

  .block-team-v1 .team-v1__sheet-handle {
    display: none;
  }

  .block-team-v1 .team-v1__sheet-inner {
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas:
      "media name"
      "media position"
      "bio bio";
    column-gap: 24px;
    row-gap: 4px;
    padding: 48px 48px 36px;
  }

  .block-team-v1 .team-v1__sheet-main {
    display: contents;
  }

  .block-team-v1 .team-v1__sheet--text-only .team-v1__sheet-inner {
    display: block;
  }

  .block-team-v1 .team-v1__sheet--text-only .team-v1__sheet-main {
    display: block;
  }

  .block-team-v1 .team-v1__sheet-media {
    grid-area: media;
    width: 96px;
    height: 96px;
  }

  .block-team-v1 .team-v1__sheet-name {
    grid-area: name;
    align-self: end;
    margin-bottom: 4px;
  }

  .block-team-v1 .team-v1__sheet-position {
    grid-area: position;
    align-self: start;
    margin-bottom: 0;
  }

  .block-team-v1 .team-v1__sheet-bio {
    grid-area: bio;
    margin-top: 20px;
  }

  .block-team-v1 .team-v1__cta-row {
    margin-top: 64px;
  }
}

@media (min-width: 1024px) {
  .block-team-v1 .team-v1__inner {
    padding: 64px 80px;
  }

  .block-team-v1 .team-v1__header {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    margin-bottom: 48px;
  }

  .block-team-v1 .team-v1__headline {
    grid-column: 1 / span 6;
  }

  .block-team-v1 .team-v1__description-wrap {
    grid-column: 7 / span 6;
  }

  .block-team-v1 .team-v1__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .block-team-v1 .team-v1__sheet-inner {
    padding: 56px 80px 40px;
  }

  .block-team-v1 .team-v1__cta-row {
    justify-content: flex-end;
  }

  .block-team-v1 .team-v1__cta {
    font-size: 18px;
  }
}


/* text-v1 */
/* ── Text (block-text-v1) ──────────────────────────────────────── */

.block-text-v1 {
  background-color: var(--color-white);
}

.dark .block-text-v1 {
  background-color: var(--color-bg-dark);
}

.block-text-v1 .text-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-text-v1 .text-content {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(16px, calc(0.5vw + 14.4px), var(--text-body));
  line-height: var(--text-body--line-height);
  color: var(--color-black);
}

.dark .block-text-v1 .text-content {
  color: var(--color-text-dark);
}

.block-text-v1 .text-content p {
  margin: 0 0 16px;
}

.block-text-v1 .text-content p:last-child {
  margin-bottom: 0;
}

.block-text-v1 .text-content a {
  color: var(--color-moss-green);
  font-weight: 600;
  text-decoration: underline;
}

.dark .block-text-v1 .text-content a {
  color: var(--color-accent-dark);
}

.block-text-v1 .text-content a:hover {
  text-decoration: none;
}

.block-text-v1 .text-content strong {
  font-weight: 700;
}

.block-text-v1 .text-content ul,
.block-text-v1 .text-content ol {
  padding-left: 1.4em;
  margin: 0 0 16px;
}

.block-text-v1 .text-content li {
  margin-bottom: 8px;
}

/* Tablet */
@media (min-width: 768px) {
  .block-text-v1 .text-inner {
    padding: 64px 48px;
  }
}

/* Desktop — body skips first 4 of 12 cols (mirrors titled-text body) */
@media (min-width: 1024px) {
  .block-text-v1 .text-inner {
    padding: 64px 80px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
  }

  .block-text-v1 .text-content {
    grid-column: 5 / -1;
  }
}


/* timeline-v1 */
/* Timeline (block-timeline-v1) */

.block-timeline-v1 {
  --timeline-v1-bg: var(--color-white, #ffffff);
  --timeline-v1-progress: var(--color-moss-green, #13735f);
  background: var(--timeline-v1-bg);
  color: var(--color-black, #333333);
}

.block-timeline-v1[data-background-color="#FFFFFF"] {
  --timeline-v1-bg: var(--color-white, #ffffff);
}

.block-timeline-v1[data-background-color="#F7F7F7"] {
  --timeline-v1-bg: var(--color-light-grey, #f7f7f7);
}

.dark .block-timeline-v1 {
  --timeline-v1-bg: var(--color-bg-dark, #0f1a14);
  background: var(--timeline-v1-bg) !important;
  color: var(--color-text-dark, #f0f4f2);
}

.block-timeline-v1 .timeline-v1__inner {
  display: grid;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
  box-sizing: border-box;
}

.block-timeline-v1 .timeline-v1__content {
  display: flex;
  min-width: 0;
  margin-bottom: 40px;
  align-items: flex-start;
}

.block-timeline-v1 .timeline-v1__headline {
  margin: 0;
  color: var(--color-forest-green, #004432);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(32px, calc(2vw + 22px), 46px);
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.dark .block-timeline-v1 .timeline-v1__headline {
  color: var(--color-accent-dark, #47b27a);
}

.block-timeline-v1 .timeline-v1__headline p,
.block-timeline-v1 .timeline-v1__title p {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
}

.block-timeline-v1 .timeline-v1__list-column {
  display: flex;
  min-width: 0;
  align-items: flex-start;
}

.block-timeline-v1 .timeline-v1__list {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  counter-reset: timeline-v1-step;
  list-style: none;
}

.block-timeline-v1 .timeline-v1__item {
  position: relative;
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 0 0 40px;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  column-gap: 20px;
  counter-increment: timeline-v1-step;
}

.block-timeline-v1 .timeline-v1__item:last-child {
  padding-bottom: 0;
}

.block-timeline-v1 .timeline-v1__item:not(:last-child)::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 48px;
  bottom: 0;
  left: 23px;
  width: 2px;
  opacity: 0;
  background: var(--timeline-v1-progress);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 800ms linear;
}

.block-timeline-v1 .timeline-v1__item.is-line-drawing:not(:last-child)::after {
  opacity: 1;
  transform: scaleY(1);
}

.block-timeline-v1 .timeline-v1__marker {
  position: relative;
  z-index: 1;
  display: block;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
}

.block-timeline-v1 .timeline-v1__marker-core {
  position: absolute;
  z-index: 1;
  top: 4px;
  left: 4px;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 2px solid var(--timeline-v1-progress);
  border-radius: 50%;
  background: var(--color-white, #ffffff);
  color: var(--timeline-v1-progress);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 300ms ease, color 300ms ease;
}

.block-timeline-v1 .timeline-v1__marker-core::before {
  content: counter(timeline-v1-step);
}

.block-timeline-v1 .timeline-v1__marker-ring {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 48px;
  height: 48px;
  opacity: 0;
  overflow: visible;
  pointer-events: none;
  transform: rotate(-90deg);
}

.block-timeline-v1 .timeline-v1__marker-ring-circle {
  fill: none;
  stroke: var(--timeline-v1-progress);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 100 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 700ms ease-in-out;
}

.block-timeline-v1 .timeline-v1__item.is-ring-drawing .timeline-v1__marker-ring,
.block-timeline-v1 .timeline-v1__item.is-active .timeline-v1__marker-ring {
  opacity: 1;
}

.block-timeline-v1 .timeline-v1__item.is-ring-drawing .timeline-v1__marker-ring-circle,
.block-timeline-v1 .timeline-v1__item.is-active .timeline-v1__marker-ring-circle {
  stroke-dashoffset: 0;
}

.block-timeline-v1 .timeline-v1__item.is-active .timeline-v1__marker-core {
  background: var(--timeline-v1-progress);
  color: var(--color-white, #ffffff);
}

.block-timeline-v1 .timeline-v1__item-content {
  min-width: 0;
  padding-top: 8px;
}

.block-timeline-v1 .timeline-v1__title {
  margin: 0;
  color: var(--color-black, #333333);
  font-family: var(--font-heading, 'Sora', sans-serif);
  font-size: clamp(22px, calc(0.5vw + 20px), 26px);
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dark .block-timeline-v1 .timeline-v1__title {
  color: var(--color-text-dark, #f0f4f2);
}

.block-timeline-v1 .timeline-v1__body {
  min-width: 0;
  margin-top: 10px;
  color: var(--color-black, #333333);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: var(--text-body, 18px);
  font-weight: 400;
  line-height: var(--text-body--line-height, 1.6);
  overflow-wrap: anywhere;
}

.block-timeline-v1 .timeline-v1__body.is-visually-empty,
.block-timeline-v1 .timeline-v1__body:empty,
.block-timeline-v1 .timeline-v1__body:has(> p:only-child:empty) {
  display: none;
  margin-top: 0;
}

.dark .block-timeline-v1 .timeline-v1__body {
  color: var(--color-text-dark, #f0f4f2);
}

.block-timeline-v1 .timeline-v1__body p,
.block-timeline-v1 .timeline-v1__body ul,
.block-timeline-v1 .timeline-v1__body ol,
.block-timeline-v1 .timeline-v1__body blockquote {
  margin: 0 0 16px;
}

.block-timeline-v1 .timeline-v1__body ul,
.block-timeline-v1 .timeline-v1__body ol {
  padding-left: 1.4em;
}

.block-timeline-v1 .timeline-v1__body li {
  margin-bottom: 8px;
}

.block-timeline-v1 .timeline-v1__body > :first-child {
  margin-top: 0;
}

.block-timeline-v1 .timeline-v1__body > :last-child,
.block-timeline-v1 .timeline-v1__body li:last-child {
  margin-bottom: 0;
}

.block-timeline-v1 .timeline-v1__body strong,
.block-timeline-v1 .timeline-v1__body b {
  color: inherit;
  font-weight: 700;
}

.block-timeline-v1 .timeline-v1__body a {
  color: var(--color-moss-green, #13735f);
  font-weight: 700;
  text-decoration: underline;
}

.block-timeline-v1 .timeline-v1__body a:hover {
  text-decoration: none;
}

.block-timeline-v1 .timeline-v1__body a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

.dark .block-timeline-v1 .timeline-v1__body a {
  color: var(--color-accent-dark, #47b27a);
}

@media (min-width: 768px) {
  .block-timeline-v1 .timeline-v1__inner {
    padding: 64px 48px;
  }
}

@media (min-width: 1024px) {
  .block-timeline-v1 .timeline-v1__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0 80px;
    align-items: stretch;
    gap: 0 32px;
  }

  .block-timeline-v1 .timeline-v1__content {
    grid-column: 1 / 5;
    margin-bottom: 0;
    padding: 64px 0;
  }

  .block-timeline-v1 .timeline-v1__list-column {
    grid-column: 5 / -1;
    padding: 64px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .block-timeline-v1 .timeline-v1__marker-ring-circle,
  .block-timeline-v1 .timeline-v1__marker-core,
  .block-timeline-v1 .timeline-v1__item:not(:last-child)::after {
    transition: none;
  }
}


/* titled-text-v1 */
/* ── Titled Text (block-titled-text-v1) ────────────────────────── */

.block-titled-text-v1 {
  background-color: var(--color-white);
}

.dark .block-titled-text-v1 {
  background-color: var(--color-bg-dark);
}

.block-titled-text-v1 .titled-text-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-titled-text-v1 .titled-text-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-forest-green);
  margin: 0 0 24px;
}

.dark .block-titled-text-v1 .titled-text-title {
  color: var(--color-accent-dark);
}

.block-titled-text-v1 .titled-text-body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--text-body--line-height);
  color: var(--color-black);
}

.dark .block-titled-text-v1 .titled-text-body {
  color: var(--color-text-dark);
}

.block-titled-text-v1 .titled-text-body p {
  margin: 0 0 16px;
}

.block-titled-text-v1 .titled-text-body p:last-child {
  margin-bottom: 0;
}

.block-titled-text-v1 .titled-text-body a {
  color: var(--color-moss-green);
  font-weight: 600;
  text-decoration: underline;
}

.dark .block-titled-text-v1 .titled-text-body a {
  color: var(--color-accent-dark);
}

.block-titled-text-v1 .titled-text-body a:hover {
  text-decoration: none;
}

.block-titled-text-v1 .titled-text-body strong {
  font-weight: 700;
}

.block-titled-text-v1 .titled-text-body ul,
.block-titled-text-v1 .titled-text-body ol {
  padding-left: 1.4em;
  margin: 0 0 16px;
}

.block-titled-text-v1 .titled-text-body li {
  margin-bottom: 8px;
}

/* Tablet */
@media (min-width: 768px) {
  .block-titled-text-v1 .titled-text-inner {
    padding: 64px 48px;
  }
}

/* Desktop — title full-width, body skips first 4 of 12 cols */
@media (min-width: 1024px) {
  .block-titled-text-v1 .titled-text-inner {
    padding: 64px 80px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 32px;
    row-gap: 32px;
  }

  .block-titled-text-v1 .titled-text-title {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .block-titled-text-v1 .titled-text-body {
    grid-column: 5 / -1;
  }
}


/* title-v1 */
/* ── Title (block-title-v1) ────────────────────────────────────── */

.block-title-v1 {
  background-color: var(--color-white);
}

.dark .block-title-v1 {
  background-color: var(--color-bg-dark);
}

.block-title-v1 .title-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 24px;
}

.block-title-v1 .title-inner.title-align-left  { text-align: left; }
.block-title-v1 .title-inner.title-align-center { text-align: center; }
.block-title-v1 .title-inner.title-align-right  { text-align: right; }

.block-title-v1 .title-text {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(32px, calc(3.56vw + 18.65px), var(--text-h3));
  line-height: var(--text-h3--line-height);
  color: var(--color-forest-green);
  margin: 0;
}

.dark .block-title-v1 .title-text {
  color: var(--color-accent-dark);
}

/* Tablet */
@media (min-width: 768px) {
  .block-title-v1 .title-inner {
    padding: 64px 48px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .block-title-v1 .title-inner {
    padding: 64px 80px;
  }
}
