@font-face {
  font-display: swap;
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 100 700;
  src: url("../fonts/josefin-sans-latin.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Kantumruy Pro";
  font-style: normal;
  font-weight: 100 700;
  src: url("../fonts/kantumruy-pro-latin.woff2") format("woff2");
}

:root {
  --green: #5fac45;
  --green-dark: #0c6b45;
  --logo-green: #199557;
  --navy: #103d61;
  --navy-deep: #082f4d;
  --blue: #035da4;
  --icon-blue: #1c6dad;
  --pale-blue: #f2f7fa;
  --border: #d7e4eb;
  --gray: #f2f2f2;
  --footer: #2a2a2a;
  --footer-nav: #3f3f3f;
  --white: #fff;
  --ink: #212529;
  --ink-soft: #53616b;
  --warning: #6a4612;
  --gradient-ui: linear-gradient(315.33deg, var(--navy) -5.22%, var(--green) 106.21%);
  --gradient-logo: linear-gradient(94.66deg, var(--logo-green) -10.5%, var(--blue) 102.76%);
  --font-heading: "Josefin Sans", "Trebuchet MS", sans-serif;
  --font-body: "Kantumruy Pro", "Segoe UI", system-ui, sans-serif;
  --radius-button: 15px;
  --radius-card: 20px;
  --radius-section: 40px;
  --shell: 101.25rem;
  --shell-narrow: 84.375rem;
  --section-space: clamp(4rem, 7vw, 5.625rem);
  --shadow-soft: 0 2px 8px rgba(99, 99, 99, 0.2);
  --shadow-header: 1px 10px 20px -17px #777;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-width: 0;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
}

html.menu-open { overflow: hidden; }

body {
  background: var(--white);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
  overflow-x: hidden;
}

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

a {
  color: inherit;
  text-underline-offset: 0.2em;
}

button,
summary {
  font: inherit;
}

h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1,
h2,
h3 {
  color: var(--ink);
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: 0;
  margin: 0;
  text-transform: uppercase;
}

h1 {
  color: var(--white);
  font-size: clamp(2.8rem, 5vw, 4.25rem);
  line-height: 1.1;
}

h2 {
  font-size: clamp(2rem, 3.2vw, 2.875rem);
  line-height: 1.35;
}

h3 {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.4;
}

p {
  margin: 0 0 1rem;
}

.shell,
.shell-narrow {
  margin-inline: auto;
  padding-inline: clamp(1rem, 2vw, 1.5rem);
  width: 100%;
}

.shell { max-width: var(--shell); }
.shell-narrow { max-width: var(--shell-narrow); }
.shell-wide { margin-inline: clamp(0.65rem, 1.55vw, 1.5rem); }

.skip-link {
  background: var(--white);
  border: 3px solid var(--navy);
  border-radius: 0 0 10px 10px;
  color: var(--navy);
  font-weight: 800;
  left: 1rem;
  padding: 0.65rem 1rem;
  position: fixed;
  top: -8rem;
  z-index: 1000;
}

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

main[tabindex="-1"]:focus { outline: 0; }

:where(a, button, summary, [tabindex]):focus-visible {
  box-shadow: 0 0 0 3px var(--white), 0 0 0 6px var(--navy-deep);
  outline: 3px solid transparent;
  outline-offset: 3px;
}

.prototype-banner {
  background: #fff8e7;
  border-bottom: 1px solid #e5c98b;
  color: #57360f;
  font-size: 0.75rem;
  font-weight: 650;
}

.prototype-banner__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 2rem;
}

.prototype-banner__inner span:first-child {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  text-transform: uppercase;
}

.status-dot {
  background: var(--green-dark);
  border-radius: 50%;
  height: 0.5rem;
  width: 0.5rem;
}

.site-header {
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid rgba(215, 228, 235, 0.75);
  position: sticky;
  top: 0;
  z-index: 99;
}

.site-header.is-scrolled { box-shadow: var(--shadow-header); }

.primary-header {
  align-items: center;
  display: grid;
  gap: clamp(1rem, 2vw, 2rem);
  grid-template-columns: minmax(9rem, 10.5rem) minmax(0, 1fr) auto;
  min-height: 6.4rem;
}

.brand img { width: 10.3rem; }
.primary-nav { justify-self: center; }

.nav-list,
.nav-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list {
  align-items: center;
  display: flex;
  gap: clamp(0.5rem, 1.25vw, 1.35rem);
}

.nav-link,
.nav-group > summary {
  align-items: center;
  color: #111;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 450;
  letter-spacing: 0.02em;
  min-height: 2.75rem;
  padding: 0.45rem 0.12rem;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.nav-group > summary {
  list-style: none;
}

.nav-group > summary::-webkit-details-marker { display: none; }

.nav-group > summary::after {
  border-bottom: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  content: "";
  height: 0.32rem;
  margin: -0.22rem 0 0 0.45rem;
  transform: rotate(45deg);
  transition: transform 180ms ease;
  width: 0.32rem;
}

.nav-group[open] > summary::after {
  margin-top: 0.2rem;
  transform: rotate(225deg);
}

.nav-link:hover,
.nav-group > summary:hover,
.nav-group[open] > summary {
  color: var(--green-dark);
}

.nav-link[aria-current="page"] {
  box-shadow: inset 0 -3px 0 var(--green);
  color: var(--green-dark);
  font-weight: 750;
}

.nav-group { position: relative; }

.nav-submenu {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: 0 18px 45px rgba(16, 61, 97, 0.14);
  display: grid;
  gap: 0.2rem;
  left: 50%;
  min-width: 16rem;
  padding: 0.6rem;
  position: absolute;
  top: calc(100% + 0.7rem);
  transform: translateX(-50%);
}

.nav-submenu::before {
  content: "";
  height: 0.8rem;
  left: 0;
  position: absolute;
  right: 0;
  top: -0.8rem;
}

.nav-submenu a {
  border-radius: 10px;
  color: var(--ink);
  display: block;
  font-size: 0.84rem;
  font-weight: 550;
  padding: 0.68rem 0.8rem;
  text-decoration: none;
}

.nav-submenu a:hover {
  background: var(--pale-blue);
  color: var(--navy);
}

.nav-submenu a[aria-current="page"] {
  background: var(--pale-blue);
  color: var(--green-dark);
  font-weight: 800;
}

.header-actions,
.mobile-actions,
.journey-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.header-actions {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

/* Keep the two primary header actions on the same approved button silhouette. */
.header-actions .button--gradient,
.header-actions .button--donate {
  border-radius: var(--radius-button) !important;
  overflow: hidden;
}

.mobile-actions,
.menu-toggle { display: none; }

.utility-link {
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: var(--green);
  text-decoration-thickness: 2px;
}

.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 600;
  justify-content: center;
  line-height: 1.25;
  min-height: 2.75rem;
  padding: 0.62rem 1rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

a.button::after {
  content: "→";
  font-size: 1.05em;
  margin-left: 0.48rem;
}

.button:not(.button--disabled):hover {
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.button--gradient,
.button--donate {
  background: var(--gradient-ui);
  color: var(--white);
}

.button--donate[aria-current="page"] {
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.button--outline {
  border-color: var(--navy);
  color: var(--navy);
}

.button--outline:hover {
  background: var(--navy);
  color: var(--white);
}

.button--light {
  background: var(--white);
  color: var(--green-dark);
}

.button--disabled {
  cursor: not-allowed;
  opacity: 0.74;
}

.hero {
  background-image: url("../img/live-site/hero-community.webp");
  background-position: 50% 50%;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  min-height: clamp(40rem, 77vh, 54rem);
  overflow: hidden;
  position: relative;
}

.hero::after {
  background: linear-gradient(360deg, rgba(16, 61, 97, 0.96) 0%, rgba(95, 172, 69, 0.58) 34%, rgba(95, 172, 69, 0.04) 60%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.hero__content {
  align-items: end;
  display: grid;
  gap: clamp(2rem, 6vw, 7rem);
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.78fr);
  min-height: inherit;
  padding-bottom: clamp(3.4rem, 7vw, 6rem);
  position: relative;
  z-index: 1;
}

.hero .eyebrow,
.section-kicker {
  color: var(--green-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.hero .eyebrow {
  color: var(--white);
  opacity: 0.9;
}

.hero__support {
  max-width: 38rem;
}

.hero__support p {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 600;
  margin-bottom: 1.3rem;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.44);
}

.interior-hero {
  background-image: url("../img/live-site/about/about-inner-banner.webp");
  background-position: 50% 50%;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  min-height: clamp(23rem, 39vw, 31rem);
  overflow: hidden;
  position: relative;
}

.interior-hero::after {
  background: linear-gradient(360deg, rgba(16, 61, 97, 0.94) 0%, rgba(95, 172, 69, 0.53) 36%, rgba(95, 172, 69, 0) 62%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.interior-hero__content {
  align-content: end;
  display: grid;
  min-height: inherit;
  padding-bottom: clamp(2.4rem, 5vw, 4.5rem);
  position: relative;
  z-index: 1;
}

.interior-hero .eyebrow {
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.interior-hero h1 { max-width: 55rem; }

.interior-hero--about {
  background-image: url("../img/live-site/what-we-offer/who-we-serve.webp");
  background-position: 50% 44%;
}

.section { padding-block: var(--section-space); }

.two-column-media {
  align-items: center;
  display: grid;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  grid-template-columns: minmax(18rem, 0.93fr) minmax(20rem, 1.07fr);
}

.media-frame {
  margin: 0;
  overflow: hidden;
}

.media-frame--top-right { border-top-right-radius: 100px; }
.media-frame--bottom-left { border-bottom-left-radius: 100px; }

.media-frame img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.about-section .media-frame {
  aspect-ratio: 28 / 25;
}

.story-section .media-frame {
  aspect-ratio: 6 / 7;
  max-height: 34rem;
}

.story-section .media-frame img { object-position: 50% 34%; }

.section-copy {
  max-width: 42rem;
}

.section-copy h2 { margin-bottom: 1rem; }

.section-copy .button { margin-top: 0.75rem; }

.lead-copy {
  color: var(--navy);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 600;
}

.about-narrative__opening {
  align-items: center;
  display: grid;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  grid-template-columns: minmax(18rem, 0.88fr) minmax(20rem, 1.12fr);
}

.about-narrative__lead h2 { margin-bottom: 1rem; }

.about-narrative__lead > p:not(.section-kicker) {
  font-size: clamp(1rem, 1.2vw, 1.08rem);
}

.about-prose-flow {
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.about-prose-flow article {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 6px solid var(--blue);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.about-prose-flow article + article { border-top-color: var(--green-dark); }

.about-prose-flow h3 {
  color: var(--navy);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  margin-bottom: 1rem;
}

.about-prose-flow p { color: var(--ink-soft); }

.collective-section { background: var(--pale-blue); }

.collective-layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(24rem, 1.28fr);
}

.collective-layout__intro h2 { margin-bottom: 1rem; }

.audience-editorial {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.audience-editorial article {
  background: var(--blue);
  border-radius: var(--radius-card);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  padding: clamp(1.35rem, 3vw, 2rem);
}

.audience-editorial article:nth-child(even) { background: var(--green-dark); }

.audience-editorial > article > img {
  background: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  height: 4.5rem;
  object-fit: contain;
  padding: 0.2rem;
  width: 4.5rem;
}

.audience-editorial h3 { color: var(--white); margin-bottom: 0.45rem; }
.audience-editorial p { color: rgba(255, 255, 255, 0.86); font-size: 0.92rem; margin: 0; }

.mission-editorial {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.2fr);
}

.mission-editorial .section-heading { margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }

.value-rail {
  border-block: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.value-rail article {
  align-content: start;
  display: grid;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.value-rail article + article { border-left: 1px solid rgba(255, 255, 255, 0.3); }

.value-rail img,
.value-rail__word {
  height: 4.5rem;
  width: 4.5rem;
}

.value-rail__word {
  align-items: center;
  background: var(--icon-blue);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  justify-content: center;
}

.value-rail h3 { color: var(--white); margin-bottom: 0.4rem; }
.value-rail p { color: rgba(255, 255, 255, 0.82); font-size: 0.84rem; margin: 0; }

.about-boundary-layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(20rem, 0.9fr) minmax(22rem, 1.1fr);
}

.about-boundary-copy h2 { margin-bottom: 1rem; }

.boundary-principles article {
  border-top: 1px solid var(--border);
  display: grid;
  gap: 0.4rem;
  padding-block: 1.35rem;
}

.boundary-principles article:last-child { border-bottom: 1px solid var(--border); }

.boundary-principles strong {
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  text-transform: uppercase;
}

.boundary-principles span { color: var(--ink-soft); font-size: 0.9rem; }

.about-route-line {
  align-items: center;
  border-block: 1px solid var(--border);
  display: grid;
  gap: clamp(2rem, 7vw, 6rem);
  grid-template-columns: minmax(20rem, 1fr) minmax(18rem, 0.7fr);
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

.about-route-line h3 {
  color: var(--navy);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin-bottom: 0.65rem;
}

.about-route-line p:last-child { color: var(--ink-soft); margin: 0; }

.about-route-links { display: grid; gap: 0.65rem; }

.about-route-links a,
.about-route-links span {
  border-bottom: 1px solid var(--border);
  color: var(--navy);
  font-size: 0.8rem;
  font-weight: 800;
  padding: 0.6rem 0;
  text-decoration: none;
  text-transform: uppercase;
}

.about-route-links a::after { content: " →"; color: var(--green-dark); }
.about-route-links span { color: var(--ink-soft); font-weight: 600; }

.offer-preview { border-bottom: 1px solid var(--border); }

.offer-preview__layout {
  align-items: end;
  display: grid;
  gap: clamp(2.5rem, 8vw, 7rem);
  grid-template-columns: minmax(20rem, 1.1fr) minmax(20rem, 0.9fr);
}

.offer-preview__layout h2 { max-width: 44rem; }
.offer-preview__layout > div:last-child { max-width: 38rem; }
.offer-preview__layout .button { margin-top: 0.6rem; }

.breadcrumb { padding-block: 1rem; }

.breadcrumb ol {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumb li {
  color: var(--ink-soft);
  font-size: 0.75rem;
  font-weight: 650;
}

.breadcrumb li + li::before { content: "/"; margin-right: 0.45rem; }
.breadcrumb a { color: var(--navy); }

.offer-hero {
  border-radius: var(--radius-section);
  color: var(--white);
  min-height: clamp(29rem, 49vw, 40rem);
  overflow: hidden;
  position: relative;
}

.offer-hero__media {
  inset: 0;
  margin: 0;
  position: absolute;
}

.offer-hero__media::after {
  background: linear-gradient(360deg, rgba(8, 47, 77, 0.98) 0%, rgba(8, 47, 77, 0.65) 46%, rgba(8, 47, 77, 0.08) 82%);
  content: "";
  inset: 0;
  position: absolute;
}

.offer-hero__media img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}

.offer-hero__content {
  align-content: end;
  display: grid;
  min-height: inherit;
  padding-bottom: clamp(2.5rem, 6vw, 5rem);
  position: relative;
  z-index: 1;
}

.offer-hero .eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.offer-hero h1 { max-width: 48rem; }

.offer-hero__content > p:last-child {
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  font-weight: 600;
  margin: 1rem 0 0;
  max-width: 42rem;
}

.offer-overview { background: var(--pale-blue); }

.offer-overview__layout {
  align-items: start;
  display: grid;
  gap: clamp(3.5rem, 9vw, 8rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(24rem, 1.28fr);
}

.offer-overview__intro {
  position: sticky;
  top: 9rem;
}

.offer-overview__intro h2 { margin-bottom: 1rem; }

.offer-overview__scope {
  border-top: 1px solid var(--border);
  color: var(--ink-soft);
  font-size: 0.82rem;
  margin-top: 1.5rem;
  padding-top: 1.2rem;
}

.offer-service-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.offer-service {
  border-top: 1px solid var(--border);
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(8rem, 0.32fr) minmax(0, 1fr);
  padding-block: clamp(2rem, 4vw, 3.5rem);
}

.offer-service:last-child { border-bottom: 1px solid var(--border); }

.offer-service figure {
  align-self: start;
  aspect-ratio: 3 / 4;
  border-radius: 18px;
  margin: 0;
  overflow: hidden;
}

.offer-service figure img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.offer-service h3 {
  color: var(--navy);
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  margin: 0 0 0.8rem;
  word-break: normal;
}

.offer-service p { color: var(--ink-soft); font-size: 0.94rem; }
.offer-service p:last-child { margin-bottom: 0; }

.offer-audience { padding-bottom: var(--section-space); }

.offer-audience__panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.97), rgba(3, 93, 164, 0.91)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.offer-audience__inner {
  display: grid;
  gap: clamp(3rem, 8vw, 6.5rem);
  grid-template-columns: minmax(20rem, 0.82fr) minmax(22rem, 1.18fr);
}

.offer-audience__intro h2 { color: var(--white); margin-bottom: 1rem; }
.offer-audience__intro > p:not(.section-kicker) { color: rgba(255, 255, 255, 0.84); }

.offer-audience__list article {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding-block: 1.25rem;
}

.offer-audience__list article:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }

.offer-audience__list h3 { color: var(--white); margin-bottom: 0.35rem; }
.offer-audience__list p { color: rgba(255, 255, 255, 0.78); font-size: 0.88rem; margin: 0; }

.offer-audience__next {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  gap: 1.5rem;
  grid-column: 1 / -1;
  grid-template-columns: minmax(18rem, 1fr) minmax(20rem, auto);
  padding-top: 2rem;
}

.offer-audience__next p { color: rgba(255, 255, 255, 0.8); margin: 0; }

.offer-audience__next > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.offer-service__link {
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 750;
  margin-top: 0.4rem;
  text-decoration: underline;
  text-decoration-color: var(--green);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.24rem;
}

.events-hero {
  background-color: var(--navy-deep);
  background-image: linear-gradient(105deg, rgba(8, 47, 77, 0.98), rgba(3, 93, 164, 0.88)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 27rem);
  min-height: clamp(30rem, 46vw, 38rem);
  overflow: hidden;
  position: relative;
}

.events-hero::before {
  background: linear-gradient(180deg, rgba(95, 172, 69, 0.84), rgba(25, 149, 87, 0.18));
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: clamp(0.45rem, 1vw, 0.8rem);
}

.events-hero__content {
  align-content: center;
  display: grid;
  padding: clamp(3rem, 8vw, 7.5rem);
  position: relative;
  z-index: 1;
}

.events-hero__content .eyebrow {
  color: #cae8bd;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.events-hero__content h1 {
  color: var(--white);
  max-width: 46rem;
}

.events-hero__content > p:last-child {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  font-weight: 550;
  margin: 1.15rem 0 0;
  max-width: 42rem;
}

.events-hero__media {
  align-self: stretch;
  margin: 0;
  min-height: inherit;
  overflow: hidden;
  position: relative;
}

.events-hero__media::after {
  background: linear-gradient(90deg, rgba(8, 47, 77, 0.54), transparent 32%);
  content: "";
  inset: 0;
  position: absolute;
}

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

.event-status { background: var(--pale-blue); }

.event-status__layout {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.82fr) minmax(22rem, 1.18fr);
}

.event-status__intro h2 { margin-bottom: 1rem; }

.event-status__panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 0.45rem solid var(--green);
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
  padding: clamp(2rem, 4vw, 3.5rem);
}

.event-status__label,
.event-path__status {
  color: var(--green-dark);
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.event-status__label {
  background: #eaf5e6;
  border-radius: 999px;
  margin-bottom: 1.25rem;
  padding: 0.45rem 0.75rem;
}

.event-status__panel h3 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  margin-bottom: 0.85rem;
}

.event-status__panel > p:not(.event-status__note) { color: var(--ink-soft); }

.event-status__note {
  border-top: 1px solid var(--border);
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 650;
  margin: 1.4rem 0 0;
  padding-top: 1rem;
}

.event-paths .section-heading { max-width: 58rem; }

.event-path-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.event-path {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 24px;
  min-height: 21rem;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  position: relative;
  scroll-margin-top: 9rem;
}

.event-path::before {
  background: var(--gradient-ui);
  content: "";
  height: 0.4rem;
  inset: 0 0 auto;
  position: absolute;
}

.event-path:nth-child(even) { background: var(--pale-blue); }

.event-path__number {
  color: var(--green-dark);
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 400;
  line-height: 1;
  margin-bottom: 2rem;
  opacity: 0.34;
}

.event-path__status { margin-bottom: 0.7rem; }

.event-path h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  margin-bottom: 0.8rem;
  overflow-wrap: normal;
  word-break: normal;
}

.event-path > p:last-child {
  color: var(--ink-soft);
  font-size: 0.9rem;
  margin-bottom: 0;
}

.event-path__link {
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 750;
  margin-top: 1.1rem;
  text-decoration: underline;
  text-decoration-color: var(--green);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.24rem;
}

.event-expectations { padding-top: 0; }

.event-expectations__panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.98), rgba(3, 93, 164, 0.91)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.event-expectations__inner {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(19rem, 0.82fr) minmax(22rem, 1.18fr);
}

.event-expectations__inner h2 { color: var(--white); margin-bottom: 1rem; }
.event-expectations__inner header > p:last-child { color: rgba(255, 255, 255, 0.8); }

.event-expectations__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.event-expectations__list li {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  padding-block: 1.35rem;
}

.event-expectations__list li:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
.event-expectations__list span { color: #cae8bd; font-size: 0.72rem; font-weight: 800; }
.event-expectations__list h3 { color: var(--white); margin-bottom: 0.35rem; }
.event-expectations__list p { color: rgba(255, 255, 255, 0.78); font-size: 0.88rem; margin: 0; }

.events-hero--calendar {
  grid-template-columns: minmax(0, 1fr);
  min-height: clamp(22rem, 36vw, 30rem);
}

.events-hero--calendar .events-hero__content {
  max-width: 68rem;
}

.calendar-status { background: var(--pale-blue); }

.calendar-status__layout {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.82fr) minmax(22rem, 1.18fr);
}

.calendar-status__intro h2 { margin-bottom: 1rem; }

.calendar-empty {
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 0.45rem solid var(--green);
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
  min-width: 0;
  padding: clamp(2rem, 4vw, 3.5rem);
}

.calendar-empty__label {
  background: #eaf5e6;
  border-radius: 999px;
  color: var(--green-dark);
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  margin-bottom: 1.25rem;
  padding: 0.45rem 0.75rem;
  text-transform: uppercase;
}

.calendar-empty h3 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  margin-bottom: 0.85rem;
  overflow-wrap: normal;
  word-break: normal;
}

.calendar-empty > p { color: var(--ink-soft); }

.calendar-empty__actions {
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.35rem;
}

.calendar-standard { padding-top: 0; }

.calendar-standard__panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.98), rgba(3, 93, 164, 0.91)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.calendar-standard__inner {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(19rem, 0.82fr) minmax(22rem, 1.18fr);
}

.calendar-standard__inner h2 { color: var(--white); margin-bottom: 1rem; }

.calendar-standard__copy {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.calendar-standard__copy p {
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  max-width: 48rem;
}

.calendar-standard__copy p:last-child { margin-bottom: 0; }

.events-hero--program {
  grid-template-columns: minmax(0, 1fr);
  min-height: clamp(24rem, 42vw, 34rem);
}

.events-hero--program .events-hero__content { max-width: 76rem; }

.events-hero--program .events-hero__content h1 {
  font-size: clamp(2rem, 6.4vw, 4.8rem);
  max-width: 100%;
}

.event-program-title-part {
  display: inline-block;
  white-space: nowrap;
}

.event-program-status { background: var(--pale-blue); }

.event-program-status__layout {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.82fr) minmax(22rem, 1.18fr);
}

.event-program-status__intro h2 { margin-bottom: 1rem; }

.event-program-status__panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 0.45rem solid var(--green);
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
  min-width: 0;
  padding: clamp(2rem, 4vw, 3.5rem);
}

.event-program-status__label {
  background: #eaf5e6;
  border-radius: 999px;
  color: var(--green-dark);
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  margin-bottom: 1.25rem;
  padding: 0.45rem 0.75rem;
  text-transform: uppercase;
}

.event-program-status__panel h3 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  margin-bottom: 0.85rem;
  overflow-wrap: normal;
  word-break: normal;
}

.event-program-status__panel > p { color: var(--ink-soft); }

.event-program-actions {
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.35rem;
}

.event-program-standard { padding-top: 0; }

.event-program-standard__panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.98), rgba(3, 93, 164, 0.91)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.event-program-standard__inner {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(19rem, 0.82fr) minmax(22rem, 1.18fr);
}

.event-program-standard__inner h2 { color: var(--white); margin-bottom: 1rem; }

.event-program-standard__copy {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.event-program-standard__copy p {
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  max-width: 48rem;
}

.event-program-standard__copy p:last-child { margin-bottom: 0; }

.jackson-hero {
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(20rem, 1.3fr) minmax(20rem, 0.7fr);
  min-height: clamp(32rem, 55vw, 44rem);
  overflow: hidden;
  position: relative;
}

.jackson-hero::before {
  background: var(--gradient-ui);
  content: "";
  inset: 0;
  position: absolute;
}

.jackson-hero__media {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0;
  min-height: inherit;
  position: relative;
}

.jackson-hero__media::after {
  background: linear-gradient(90deg, rgba(8, 47, 77, 0.1) 24%, rgba(8, 47, 77, 0.93) 77%);
  content: "";
  inset: 0;
  position: absolute;
}

.jackson-hero__media img {
  height: 100%;
  object-fit: cover;
  object-position: 46% 40%;
  width: 100%;
}

.jackson-hero__content {
  align-self: end;
  grid-column: 2;
  grid-row: 1;
  padding: clamp(2.5rem, 6vw, 5.5rem);
  position: relative;
  z-index: 1;
}

.jackson-hero__content .eyebrow,
.jackson-hero__content h1 { color: var(--white); }

.jackson-hero__content h1 {
  font-size: clamp(2.5rem, 3.35vw, 4rem);
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.jackson-name,
.jackson-title-word { white-space: nowrap; }

.jackson-hero__content .eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.jackson-hero__content p:last-child {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 600;
  margin: 1rem 0 0;
  max-width: 32rem;
}

.jackson-origin__layout {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: minmax(18rem, 0.78fr) minmax(22rem, 1.22fr);
}

.jackson-origin__heading { position: relative; }
.jackson-origin__heading h2 { max-width: 31rem; }
.jackson-origin__story { max-width: 48rem; }
.jackson-origin__story > p { color: var(--ink-soft); }

.jackson-origin__story blockquote {
  border-left: 4px solid var(--green);
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 600;
  line-height: 1.25;
  margin: 2rem 0;
  padding-left: clamp(1.2rem, 3vw, 2rem);
  text-transform: uppercase;
}

.jackson-recovery {
  background: var(--pale-blue);
  padding-block: var(--section-space);
}

.jackson-recovery__layout {
  align-items: center;
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: minmax(20rem, 1fr) minmax(20rem, 1fr);
}

.jackson-recovery__media { aspect-ratio: 1.35 / 1; }
.jackson-recovery__media img { object-position: 30% 45%; }
.jackson-recovery__copy h2 { margin-bottom: 1rem; }
.jackson-recovery__copy > p:not(.section-kicker) { color: var(--ink-soft); }

.story-principles {
  border-block: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.story-principles article {
  align-items: center;
  display: grid;
  gap: 1.15rem;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  padding: 1.5rem;
}

.story-principles article + article { border-left: 1px solid var(--border); }
.story-principles img { height: 4rem; object-fit: contain; width: 4rem; }
.story-principles p { color: var(--navy); font-weight: 700; margin: 0; }

.jackson-purpose__panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.97), rgba(3, 93, 164, 0.9)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(20rem, 0.82fr) minmax(22rem, 1.18fr);
  overflow: hidden;
}

.jackson-purpose__media { margin: 0; min-height: 41rem; }

.jackson-purpose__media img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  width: 100%;
}

.jackson-purpose__copy {
  align-self: center;
  padding: clamp(2.5rem, 6vw, 6rem);
}

.jackson-purpose__copy h2,
.jackson-purpose__copy h3 { color: var(--white); }

.jackson-purpose__copy > p { color: rgba(255, 255, 255, 0.84); }

.jackson-purpose__closing {
  border-block: 1px solid rgba(255, 255, 255, 0.3);
  margin-block: 2rem;
  padding-block: 1.4rem;
}

.jackson-purpose__closing h3 { margin-bottom: 0.55rem; }
.jackson-purpose__closing p { color: rgba(255, 255, 255, 0.84); margin: 0; }

.mission-preview {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.96), rgba(3, 93, 164, 0.88)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.mission-preview__inner {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(22rem, 1fr) minmax(20rem, 0.85fr);
}

.mission-preview h2 { color: var(--white); margin-bottom: 1rem; }
.mission-preview p { color: rgba(255, 255, 255, 0.86); max-width: 45rem; }
.mission-preview .button { margin-top: 0.8rem; }

.mission-preview__values {
  border-block: 1px solid rgba(255, 255, 255, 0.3);
  list-style: none;
  margin: 0;
  padding: 0;
}

.mission-preview__values li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  font-family: var(--font-heading);
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  font-weight: 600;
  padding-block: 0.75rem;
  text-transform: uppercase;
}

.mission-preview__values li:last-child { border-bottom: 0; }

.home-mission {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.96), rgba(3, 93, 164, 0.88)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.home-mission__intro { max-width: 58rem; }
.home-mission h2 { color: var(--white); margin-bottom: 1rem; }
.home-mission p { color: rgba(255, 255, 255, 0.86); }

.home-mission__values {
  border-block: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.home-mission__values article {
  align-content: start;
  display: grid;
  gap: 1rem;
  padding: clamp(1.35rem, 2.5vw, 2rem);
}

.home-mission__values article + article { border-left: 1px solid rgba(255, 255, 255, 0.3); }
.home-mission__values img,
.home-mission__value--word > span { height: 4.5rem; width: 4.5rem; }

.home-mission__value--word > span {
  align-items: center;
  background: var(--icon-blue);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  font-family: var(--font-heading);
  font-weight: 700;
  justify-content: center;
}

.home-mission__values h3 { color: var(--white); margin-bottom: 0.4rem; }
.home-mission__values p { color: rgba(255, 255, 255, 0.82); font-size: 0.84rem; margin: 0; }

.home-priorities__heading { margin-bottom: clamp(1.8rem, 4vw, 3rem); max-width: 56rem; }
.home-priorities__grid { display: grid; gap: clamp(1.35rem, 2.8vw, 2.25rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }

.home-priority {
  border-radius: var(--radius-section);
  box-shadow: 0 24px 52px rgba(8, 47, 77, 0.18);
  color: var(--white);
  display: flex;
  flex-direction: column;
  min-height: clamp(28rem, 38vw, 36rem);
  overflow: hidden;
  padding: clamp(2.5rem, 6vw, 5.5rem);
  position: relative;
}

.home-priority::after {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: calc(var(--radius-section) - 10px);
  content: "";
  inset: 0.75rem;
  pointer-events: none;
  position: absolute;
}

.home-priority--membership { background: linear-gradient(135deg, var(--navy-deep), var(--blue)); }
.home-priority--donate { background: linear-gradient(135deg, #064d35, var(--green-dark)); }
.home-priority h3 { color: var(--white); font-size: clamp(2.2rem, 3.6vw, 3.35rem); max-width: 14ch; }
.home-priority > p:not(.section-kicker) { color: rgba(255, 255, 255, 0.9); font-size: clamp(0.98rem, 1.3vw, 1.08rem); margin-block: 1.15rem 2.1rem; max-width: 39rem; }
.home-priority .button { align-self: flex-start; justify-content: center; margin-top: auto; min-width: 12.5rem; position: relative; z-index: 1; }

.about-intro__media { aspect-ratio: 4 / 3; }
.about-intro__media img { object-position: 50% 40%; }

.model-section { background: var(--pale-blue); }

.model-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.model-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-height: 18rem;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  transition: box-shadow 180ms ease, transform 180ms ease;
}

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

.model-card img {
  height: 5rem;
  margin-bottom: 1.25rem;
  object-fit: contain;
  object-position: left center;
  width: 5rem;
}

.model-card h3 { margin-bottom: 0.6rem; }
.model-card p { color: var(--ink-soft); font-size: 0.9rem; margin: 0; }

.boundary-section { padding-top: 0; }

.boundary-panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.97), rgba(3, 93, 164, 0.88)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.75fr);
  padding: clamp(2.5rem, 6vw, 5.5rem);
}

.boundary-panel h2 { color: var(--white); }

.boundary-panel__lead {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 600;
  margin-top: 1rem;
}

.boundary-panel__details {
  border-left: 1px solid rgba(255, 255, 255, 0.38);
  padding-left: clamp(1.5rem, 3vw, 2.5rem);
}

.boundary-panel__details p { color: rgba(255, 255, 255, 0.88); }

.boundary-panel__details ul {
  display: grid;
  gap: 0.65rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}

.boundary-panel__details li {
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  font-size: 0.9rem;
  padding-top: 0.65rem;
}

.mission-section {
  background-color: var(--blue);
  background-image: linear-gradient(rgba(3, 93, 164, 0.92), rgba(3, 93, 164, 0.92)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  padding-block: var(--section-space);
}

.section-heading {
  margin-bottom: clamp(2.2rem, 5vw, 3.8rem);
  max-width: 56rem;
}

.section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.section-heading > p:last-child {
  color: var(--ink-soft);
  margin: 1rem auto 0;
  max-width: 50rem;
}

.section-heading--light h2,
.section-heading--light p { color: var(--white); }

.section-kicker--light { color: #cae8bd; }

.value-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: repeat(5, 1fr);
}

.value-card {
  color: var(--white);
  text-align: center;
}

.value-card__icon {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  display: flex;
  height: 5.4rem;
  justify-content: center;
  margin: 0 auto 1rem;
  width: 5.4rem;
}

.value-card__icon img {
  height: 3.8rem;
  width: 3.8rem;
}

.value-card__icon--word {
  color: var(--white);
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 600;
}

.value-card h3 {
  color: var(--white);
  margin-bottom: 0.45rem;
}

.value-card p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.84rem;
  margin: 0 auto;
  max-width: 14rem;
}

.review-footnote {
  color: var(--warning);
  font-size: 0.74rem;
  margin: 1rem 0 0;
}

.mission-section .review-footnote {
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}

.offer-section { padding-bottom: calc(var(--section-space) + 1rem); }

.offer-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, 1fr);
}

.image-card {
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-card);
  color: var(--white);
  min-height: 24rem;
  overflow: hidden;
  position: relative;
}

.image-card::after {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.04) 68%);
  content: "";
  inset: 0;
  position: absolute;
}

.image-card img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.image-card > div {
  bottom: 0;
  left: 0;
  padding: 1.35rem;
  position: absolute;
  right: 0;
  z-index: 1;
}

.image-card h3 {
  color: var(--white);
  margin-bottom: 0.35rem;
}

.image-card p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.78rem;
  margin: 0;
}

.who-section { padding-top: 0; }

.who-panel {
  background: var(--pale-blue);
  border-radius: var(--radius-section);
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(20rem, 1fr);
  overflow: hidden;
  padding: 0;
}

.who-panel figure {
  margin: 0;
  min-height: 34rem;
}

.who-panel figure img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.who-panel__content {
  align-self: center;
  padding: clamp(2.5rem, 5vw, 5.5rem);
}

.who-panel__content h2 { margin-bottom: 1rem; }

.audience-links {
  border-top: 1px solid var(--border);
  margin-top: 1.5rem;
}

.audience-links a {
  align-items: center;
  border-bottom: 1px solid var(--border);
  color: var(--navy);
  display: flex;
  font-family: var(--font-heading);
  font-weight: 600;
  justify-content: space-between;
  min-height: 3rem;
  text-decoration: none;
  text-transform: uppercase;
}

.audience-links a span {
  color: var(--green-dark);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: none;
}

.directory-section { padding-top: 0; }

.directory-panel {
  background-color: var(--blue);
  background-image: linear-gradient(115deg, rgba(16, 61, 97, 0.96), rgba(3, 93, 164, 0.88)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.7fr);
  padding: clamp(2.5rem, 6vw, 5.5rem);
}

.directory-panel h2,
.directory-panel h3 { color: var(--white); }

.directory-panel p { color: rgba(255, 255, 255, 0.82); }

.filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  margin: 1.3rem 0 1.5rem;
  padding: 0;
}

.filter-list li {
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 15px;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 0.38rem 0.7rem;
}

.directory-panel aside {
  align-self: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-card);
  padding: clamp(1.4rem, 3vw, 2.4rem);
}

.directory-panel aside h3 { margin-bottom: 0.7rem; }
.directory-panel aside p { font-size: 0.88rem; margin: 0; }

.membership-section { background: var(--white); }

.membership-teaser {
  background-color: var(--navy-deep);
  background-image: linear-gradient(105deg, rgba(8, 47, 77, 0.97), rgba(3, 93, 164, 0.9)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 7vw, 6rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.75fr);
  padding: clamp(2.5rem, 6vw, 5rem);
}

.membership-teaser h2 { color: var(--white); }

.membership-teaser > div:last-child {
  align-content: center;
  display: grid;
  justify-items: start;
}

.membership-teaser > div:last-child p {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(0.98rem, 1.4vw, 1.08rem);
}

.membership-grid {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 7vw, 7rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
}

.membership-benefits {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}

.membership-benefits article {
  background: var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-height: 13rem;
  padding: 1.6rem;
}

.membership-benefits span {
  color: var(--green-dark);
  font-size: 0.72rem;
  font-weight: 800;
}

.membership-benefits h3 { margin: 1rem 0 0.5rem; }
.membership-benefits p { color: var(--ink-soft); font-size: 0.88rem; margin: 0; }

.provider-hero {
  background: linear-gradient(125deg, var(--navy-deep) 0%, var(--navy) 56%, var(--blue) 100%);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
  overflow: hidden;
  padding: clamp(2.5rem, 7vw, 6.8rem);
  position: relative;
}

.provider-hero::before,
.provider-hero::after {
  border: clamp(1.2rem, 3vw, 2.7rem) solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
}

.provider-hero::before {
  height: clamp(18rem, 32vw, 34rem);
  left: clamp(-15rem, -10vw, -6rem);
  top: clamp(-12rem, -7vw, -4rem);
  width: clamp(18rem, 32vw, 34rem);
}

.provider-hero::after {
  bottom: clamp(-15rem, -10vw, -6rem);
  height: clamp(20rem, 36vw, 38rem);
  right: clamp(-14rem, -8vw, -4rem);
  width: clamp(20rem, 36vw, 38rem);
}

.provider-hero__content,
.provider-hero__summary {
  align-self: center;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.provider-hero__content .eyebrow {
  color: #cae8bd;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.provider-hero__content h1 {
  font-size: clamp(2.35rem, 5.2vw, 4.9rem);
  max-width: 14ch;
  overflow-wrap: normal;
  word-break: normal;
}

.provider-hero__content > p:last-child {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.45vw, 1.16rem);
  margin-top: 1.3rem;
  max-width: 46rem;
}

.provider-hero__summary {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-card);
  color: var(--ink);
  padding: clamp(1.6rem, 3vw, 2.5rem);
}

.provider-hero__summary h2 {
  font-size: clamp(1.55rem, 2.7vw, 2.3rem);
  margin-bottom: 1.2rem;
}

.provider-hero__summary ul {
  border-top: 1px solid var(--border);
  list-style: none;
  margin: 0;
  padding: 0;
}

.provider-hero__summary li {
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 0.25rem;
  padding-block: 0.9rem;
}

.provider-hero__summary strong { color: var(--navy); }
.provider-hero__summary span { color: var(--ink-soft); font-size: 0.82rem; }

.provider-directory { background: var(--white); }

.provider-directory__layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 4.5rem);
  grid-template-columns: minmax(17rem, 0.34fr) minmax(0, 1fr);
}

.provider-filters {
  background: var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-width: 0;
  padding: clamp(1.4rem, 2.7vw, 2rem);
  position: sticky;
  top: 8.5rem;
}

.provider-filters__heading { margin-bottom: 1.5rem; }
.provider-filters__heading h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); margin-bottom: 0.65rem; }
.provider-filters__heading > p:last-child { color: var(--ink-soft); font-size: 0.84rem; margin: 0; }

.provider-filter-field { margin-bottom: 1rem; }

.provider-filter-field label {
  color: var(--navy);
  display: block;
  font-size: 0.78rem;
  font-weight: 750;
  margin-bottom: 0.4rem;
}

.provider-filter-field :where(input, select) {
  appearance: none;
  background-color: var(--white);
  border: 1px solid #aebfca;
  border-radius: 10px;
  color: var(--ink);
  font: inherit;
  font-size: 0.88rem;
  min-height: 3rem;
  padding: 0.7rem 0.85rem;
  width: 100%;
}

.provider-filter-field select {
  background-image: linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%);
  background-position: calc(100% - 1rem) 50%, calc(100% - 0.7rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
  padding-right: 2.3rem;
}

.provider-filter-field input::placeholder { color: #687984; }

.provider-filters__clear,
.provider-results__empty button {
  background: transparent;
  border: 1px solid var(--navy);
  border-radius: 999px;
  color: var(--navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
}

.provider-filters__clear:hover,
.provider-results__empty button:hover { background: var(--navy); color: var(--white); }

.provider-results { min-width: 0; }

.provider-results__heading {
  align-items: end;
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding-bottom: 1.3rem;
}

.provider-results__heading h2 { font-size: clamp(1.7rem, 3vw, 2.55rem); }

.provider-results__count {
  color: var(--navy);
  flex: 0 0 auto;
  font-size: 0.82rem;
  font-weight: 800;
  margin: 0;
}

.provider-results__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.provider-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: 0 12px 28px rgba(16, 61, 97, 0.08);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.35rem, 2.5vw, 1.8rem);
  position: relative;
}

.provider-card::before {
  background: var(--gradient-logo);
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  content: "";
  height: 0.36rem;
  inset: 0 0 auto;
  position: absolute;
}

.provider-card[hidden],
.provider-results__empty[hidden] { display: none; }

.provider-card__topline {
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.provider-card__specialty {
  color: var(--green-dark);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.provider-card__topline > span {
  background: var(--pale-green);
  border-radius: 999px;
  color: var(--green-dark);
  flex: 0 0 auto;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 0.3rem 0.55rem;
}

.provider-card h3 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  margin-bottom: 0.35rem;
  overflow-wrap: anywhere;
}

.provider-card__organization {
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 750;
  margin-bottom: 1rem;
}

.provider-card__summary {
  color: var(--ink-soft);
  font-size: 0.86rem;
  margin-bottom: 1.25rem;
}

.provider-card__meta {
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  list-style: none;
  margin: auto 0 0;
  padding: 1rem 0 0;
}

.provider-card__meta li {
  background: var(--pale-blue);
  border-radius: 999px;
  color: var(--navy);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.32rem 0.55rem;
}

.provider-results__empty {
  background: var(--pale-blue);
  border: 1px dashed #9eb3c0;
  border-radius: var(--radius-card);
  padding: clamp(2rem, 5vw, 4rem);
  text-align: center;
}

.provider-results__empty h3 { margin-bottom: 0.6rem; }
.provider-results__empty p { color: var(--ink-soft); margin: 0 auto 1.2rem; max-width: 38rem; }

.directory-pathways { background: var(--white); }

.directory-path-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.directory-path {
  background: var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  position: relative;
}

.directory-path::before {
  background: var(--gradient-logo);
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  content: "";
  height: 0.4rem;
  inset: 0 0 auto;
  position: absolute;
}

.directory-path > span {
  color: var(--green-dark);
  display: block;
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 1.8rem;
}

.directory-path h3 { margin-bottom: 0.75rem; }
.directory-path p { color: var(--ink-soft); font-size: 0.9rem; margin: 0; }

.directory-discovery { background: var(--pale-blue); }

.directory-discovery__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(22rem, 1.28fr);
}

.directory-discovery__layout > header h2 { margin-bottom: 1rem; }
.directory-discovery__layout > header > p:last-child { color: var(--ink-soft); }

.directory-discovery__filters {
  border-top: 1px solid var(--border);
  list-style: none;
  margin: 0;
  padding: 0;
}

.directory-discovery__filters li {
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  padding-block: 1.1rem;
}

.directory-discovery__filters li > span {
  align-items: center;
  background: var(--green-dark);
  border-radius: 50%;
  color: var(--white);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 800;
  height: 2.35rem;
  justify-content: center;
  width: 2.35rem;
}

.directory-discovery__filters strong { color: var(--navy); }
.directory-discovery__filters p { color: var(--ink-soft); font-size: 0.86rem; margin: 0.25rem 0 0; }

.directory-profile { padding-top: 0; }

.directory-profile__panel {
  background-color: var(--navy-deep);
  background-image: linear-gradient(105deg, rgba(8, 47, 77, 0.98), rgba(3, 93, 164, 0.9)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.85fr) minmax(22rem, 1.15fr);
  padding: clamp(2.5rem, 6vw, 5.5rem);
}

.directory-profile__panel h2 { color: var(--white); }
.directory-profile__panel header > p:last-child { color: rgba(255, 255, 255, 0.82); }

.directory-profile__facts {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.directory-profile__facts li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  min-width: 0;
  padding: 1rem;
}

.directory-profile__facts li:nth-child(odd) { border-right: 1px solid rgba(255, 255, 255, 0.28); padding-left: 0; }
.directory-profile__facts strong { color: var(--white); display: block; margin-bottom: 0.35rem; }
.directory-profile__facts span { color: rgba(255, 255, 255, 0.76); font-size: 0.82rem; }

.directory-guidance { background: var(--white); }

.directory-guidance__steps {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.directory-guidance__steps li {
  min-width: 0;
  padding: clamp(1.2rem, 3vw, 2.3rem);
  text-align: center;
}

.directory-guidance__steps li + li { border-left: 1px solid var(--border); }
.directory-guidance__steps span { color: var(--green-dark); font-family: var(--font-heading); font-weight: 800; }
.directory-guidance__steps h3 { margin: 0.9rem 0 0.55rem; }
.directory-guidance__steps p { color: var(--ink-soft); font-size: 0.86rem; margin: 0; }

.directory-next-step { padding-top: 0; }

.directory-next-step__panel {
  align-items: center;
  background: var(--gradient-ui);
  border-radius: var(--radius-card);
  color: var(--white);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(2rem, 5vw, 4rem);
}

.directory-next-step__panel h2 { color: var(--white); }
.directory-next-step__panel p:not(.section-kicker) { color: rgba(255, 255, 255, 0.82); margin: 0; }

.directory-next-step__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.membership-hero {
  background-color: var(--navy-deep);
  background-image: linear-gradient(115deg, rgba(8, 47, 77, 0.97), rgba(3, 93, 164, 0.86)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  min-height: clamp(31rem, 48vw, 39rem);
  overflow: hidden;
  padding: clamp(2.5rem, 7vw, 7rem);
  position: relative;
}

.membership-hero::before,
.membership-hero::after {
  border: clamp(1.1rem, 3vw, 2.6rem) solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
}

.membership-hero::before {
  height: clamp(16rem, 31vw, 31rem);
  left: clamp(-14rem, -10vw, -5rem);
  top: clamp(-8rem, -5vw, -2rem);
  width: clamp(16rem, 31vw, 31rem);
}

.membership-hero::after {
  bottom: clamp(-14rem, -10vw, -5rem);
  height: clamp(18rem, 34vw, 34rem);
  right: clamp(-13rem, -8vw, -4rem);
  width: clamp(18rem, 34vw, 34rem);
}

.membership-hero__content,
.membership-hero__audiences {
  align-self: center;
  position: relative;
  z-index: 1;
}

.membership-hero__content .eyebrow {
  color: #cae8bd;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.membership-hero__content h1 {
  font-size: clamp(2.3rem, 5vw, 4.7rem);
  max-width: 15ch;
  overflow-wrap: normal;
  word-break: normal;
}

.membership-hero__content > p:last-child {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.45vw, 1.16rem);
  font-weight: 550;
  margin-top: 1.3rem;
  max-width: 45rem;
}

.membership-hero__audiences {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-card);
  color: var(--ink);
  padding: clamp(1.6rem, 3vw, 2.5rem);
}

.membership-hero__audiences h2 {
  font-size: clamp(1.55rem, 2.7vw, 2.25rem);
  margin-bottom: 0.85rem;
}

.membership-hero__audiences > p:not(.section-kicker) {
  color: var(--ink-soft);
  font-size: 0.92rem;
}

.membership-hero__audiences .membership-hero__note {
  border-top: 1px solid var(--border);
  color: var(--navy);
  font-weight: 700;
  margin: 1.2rem 0 0;
  padding-top: 1.2rem;
}

.membership-overview { background: var(--white); }

.membership-overview__layout {
  align-items: start;
  display: grid;
  gap: clamp(2.5rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.9fr) minmax(20rem, 1.1fr);
}

.membership-overview__copy {
  border-left: 3px solid var(--green);
  padding-left: clamp(1.4rem, 3vw, 2.4rem);
}

.membership-overview__copy p {
  color: var(--ink-soft);
  font-size: clamp(1rem, 1.35vw, 1.1rem);
}

.membership-overview__copy p:last-child { margin-bottom: 0; }

.membership-benefit-ledger { background: var(--pale-blue); }

.membership-benefit-ledger__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(22rem, 1.28fr);
}

.membership-benefit-ledger__intro h2 { margin-bottom: 1rem; }
.membership-benefit-ledger__intro > p:last-child { color: var(--ink-soft); }

.membership-benefit-ledger__list { border-top: 1px solid var(--border); }

.membership-benefit {
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 1.3rem;
  grid-template-columns: 3rem minmax(0, 1fr);
  padding-block: 1.45rem;
}

.membership-benefit__icon,
.membership-process__icon {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 50%;
  height: 3rem;
  object-fit: contain;
  padding: 0.15rem;
  width: 3rem;
}

.membership-benefit h3 { margin-bottom: 0.35rem; }
.membership-benefit p { color: var(--ink-soft); font-size: 0.9rem; margin: 0; }

.membership-options { background: var(--white); }

.membership-review-status {
  align-items: start;
  background: #fff8e7;
  border: 1px solid #e5c98b;
  border-radius: var(--radius-card);
  color: #57360f;
  display: grid;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
  padding: 1.2rem 1.35rem;
}

.membership-review-status strong { text-transform: uppercase; }
.membership-review-status p { font-size: 0.84rem; margin: 0; }

.membership-tier-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.membership-tier {
  background: var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.4rem, 2.5vw, 2rem);
  position: relative;
}

.membership-tier::before {
  background: var(--tier-accent, var(--gradient-logo));
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  content: "";
  height: 0.38rem;
  inset: 0 0 auto;
  position: absolute;
}

.membership-tier__label {
  color: var(--tier-accent, var(--green-dark));
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.membership-tier h3 { margin-bottom: 1.2rem; }

.membership-tier__price {
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.45rem;
}

.membership-tier__scope {
  color: var(--ink-soft);
  font-size: 0.78rem;
  font-weight: 750;
}

.membership-tier__benefits {
  border-top: 1px solid var(--border);
  color: var(--ink-soft);
  display: grid;
  font-size: 0.84rem;
  gap: 0.7rem;
  list-style: none;
  margin: auto 0 0;
  padding: 1.2rem 0 0;
}

.membership-tier__benefits li {
  padding-left: 1.1rem;
  position: relative;
}

.membership-tier__benefits li::before {
  color: var(--tier-accent, var(--green-dark));
  content: "+";
  font-weight: 900;
  left: 0;
  position: absolute;
}

.membership-tier--green { --tier-accent: var(--green-dark); background: #edf7f2; }
.membership-tier--blue { --tier-accent: var(--blue); background: #edf5fb; }
.membership-tier--navy { --tier-accent: #cae8bd; background: var(--navy); border-color: var(--navy); color: var(--white); }
.membership-tier--gradient { --tier-accent: var(--white); background: linear-gradient(135deg, var(--navy-deep), var(--green-dark)); border-color: transparent; color: var(--white); }

.membership-tier--navy h3,
.membership-tier--navy .membership-tier__price,
.membership-tier--gradient h3,
.membership-tier--gradient .membership-tier__price { color: var(--white); }

.membership-tier--navy .membership-tier__scope,
.membership-tier--navy .membership-tier__benefits,
.membership-tier--gradient .membership-tier__scope,
.membership-tier--gradient .membership-tier__benefits { color: rgba(255, 255, 255, 0.84); }

.membership-tier--navy .membership-tier__benefits,
.membership-tier--gradient .membership-tier__benefits { border-top-color: rgba(255, 255, 255, 0.3); }

.membership-page { --membership-space: clamp(3.25rem, 5.5vw, 5rem); }
.membership-page main > .section { padding-block: var(--membership-space); }
.membership-page .membership-boundary { padding-top: 0; }
.membership-page .membership-next-step { margin-top: clamp(2.25rem, 4vw, 3.5rem); }

.membership-next-step .button--outline { border-color: rgba(255, 255, 255, 0.78); color: var(--white); }
.membership-next-step .button--outline:hover { background: var(--white); color: var(--navy); }

.membership-boundary { padding-top: 0; }

.membership-boundary__panel {
  background-color: var(--navy-deep);
  background-image: linear-gradient(105deg, rgba(8, 47, 77, 0.98), rgba(3, 93, 164, 0.9)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.9fr) minmax(20rem, 1.1fr);
  padding: clamp(2.5rem, 6vw, 5.5rem);
}

.membership-boundary__panel h2 { color: var(--white); }

.membership-boundary__panel ul {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  list-style: none;
  margin: 0;
  padding: 0;
}

.membership-boundary__panel li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.84);
  padding: 0.9rem 0 0.9rem 1.5rem;
  position: relative;
}

.membership-boundary__panel li::before {
  color: #cae8bd;
  content: "—";
  left: 0;
  position: absolute;
}

.membership-process { background: var(--pale-blue); }

.membership-process__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(22rem, 1.28fr);
}

.membership-process__layout > header h2 { margin-bottom: 1rem; }
.membership-process__layout > header > p:last-child { color: var(--ink-soft); }

.membership-process__list {
  border-top: 1px solid var(--border);
  list-style: none;
  margin: 0;
  padding: 0;
}

.membership-process__list li {
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 3rem minmax(0, 1fr);
  padding-block: 1.35rem;
}

.membership-process__list h3 { margin-bottom: 0.3rem; }
.membership-process__list p { color: var(--ink-soft); font-size: 0.88rem; margin: 0; }

.membership-next-step {
  align-items: center;
  background: var(--gradient-ui);
  border-radius: var(--radius-card);
  color: var(--white);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(1.6rem, 4vw, 3rem);
}

.membership-next-step h2 { color: var(--white); font-size: clamp(1.5rem, 2.5vw, 2.25rem); }
.membership-next-step p:not(.section-kicker) { color: rgba(255, 255, 255, 0.82); margin: 0; }

.membership-next-step__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.membership-tier__action {
  align-self: flex-start;
  margin-top: 1.35rem;
}

.membership-application-hero {
  background: var(--gradient-ui);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
  min-height: clamp(28rem, 44vw, 38rem);
  overflow: hidden;
}

.membership-application-hero > div,
.membership-application-hero > aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.2rem, 6vw, 5.5rem);
}

.membership-application-hero > aside {
  background: rgba(255, 255, 255, 0.1);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.membership-application-hero h1,
.membership-application-hero h2 { color: var(--white); }
.membership-application-hero h1 { font-size: clamp(2.45rem, 5.2vw, 5.15rem); margin-bottom: 1.5rem; max-width: 14ch; }
.membership-application-hero h2 { font-size: clamp(1.45rem, 2.7vw, 2.35rem); margin-bottom: 1.2rem; }
.membership-application-hero > div > p:last-child { color: rgba(255, 255, 255, 0.88); font-size: clamp(1rem, 1.55vw, 1.2rem); max-width: 42rem; }
.membership-application-hero ul { display: grid; gap: 0.9rem; list-style: none; margin: 0; padding: 0; }
.membership-application-hero li { color: rgba(255, 255, 255, 0.88); padding-left: 1.55rem; position: relative; }
.membership-application-hero li::before { color: #cae8bd; content: "✓"; font-weight: 900; left: 0; position: absolute; }

.membership-application { background: var(--pale-blue); }

.membership-application__layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 4.5rem);
  grid-template-columns: minmax(16rem, 0.68fr) minmax(0, 1.32fr);
}

.membership-application__intro {
  position: sticky;
  top: 8.5rem;
}

.membership-application__intro h2 { margin-bottom: 1rem; }
.membership-application__intro > p:last-of-type { color: var(--ink-soft); }

.membership-application__assurance {
  background: var(--white);
  border-left: 4px solid var(--green);
  border-radius: 0 14px 14px 0;
  display: grid;
  gap: 0.3rem;
  margin-top: 1.5rem;
  padding: 1rem 1.1rem;
}

.membership-application__assurance strong { color: var(--navy); }
.membership-application__assurance span { color: var(--ink-soft); font-size: 0.82rem; }

.membership-application__surface {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  min-width: 0;
  overflow: hidden;
}

.membership-progress {
  background: #f8fbfd;
  border-bottom: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 1rem clamp(1rem, 3vw, 2rem);
}

.membership-progress li {
  align-items: center;
  color: var(--ink-soft);
  display: flex;
  font-size: 0.7rem;
  gap: 0.45rem;
  min-width: 0;
  position: relative;
}

.membership-progress li:not(:last-child)::after {
  background: var(--border);
  content: "";
  height: 1px;
  left: calc(100% - 0.65rem);
  position: absolute;
  right: 0.65rem;
  top: 1rem;
}

.membership-progress span {
  align-items: center;
  background: var(--white);
  border: 1px solid #aebfca;
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 800;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.membership-progress li[aria-current="step"] { color: var(--navy); }
.membership-progress li[aria-current="step"] span { background: var(--gradient-ui); border-color: transparent; color: var(--white); }
.membership-progress li[data-complete="true"] span { background: var(--green-dark); border-color: var(--green-dark); color: var(--white); }

.membership-form,
.membership-review,
.membership-submit-status { padding: clamp(1.4rem, 4vw, 2.6rem); }

.membership-form[hidden],
.membership-form__step[hidden],
.membership-review[hidden],
.membership-submit-status[hidden],
.membership-form-errors[hidden] { display: none; }

.membership-form__step { border: 0; margin: 0; min-width: 0; padding: 0; }
.membership-form__step legend { margin: 0 0 1rem; padding: 0; width: 100%; }
.membership-form__step legend strong { color: var(--navy); display: block; font-family: var(--font-heading); font-size: clamp(1.4rem, 2.8vw, 2rem); line-height: 1.2; }
.membership-form__help { color: var(--ink-soft); margin-bottom: 1.3rem; }

.membership-plan-grid { display: grid; gap: 0.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.membership-plan {
  --plan-accent: var(--green-dark);
  background: #edf7f2;
  border: 2px solid transparent;
  border-radius: 14px;
  cursor: pointer;
  display: block;
  min-width: 0;
  position: relative;
}

.membership-plan--blue { --plan-accent: var(--blue); background: #edf5fb; }
.membership-plan--navy { --plan-accent: #cae8bd; background: var(--navy); color: var(--white); }
.membership-plan--gradient { --plan-accent: var(--white); background: linear-gradient(135deg, var(--navy-deep), var(--green-dark)); color: var(--white); }
.membership-plan input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.membership-plan > span { display: flex; flex-direction: column; min-height: 9.5rem; padding: 1.15rem; }
.membership-plan strong { color: inherit; font-family: var(--font-heading); font-size: 1.12rem; line-height: 1.2; }
.membership-plan small { color: inherit; margin-top: 0.35rem; opacity: 0.78; }
.membership-plan b { color: inherit; font-size: 0.84rem; margin-top: auto; padding-top: 1rem; }
.membership-plan:has(input:checked) { border-color: var(--plan-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--plan-accent) 24%, transparent); }
.membership-plan:has(input:focus-visible) { outline: 3px solid var(--blue); outline-offset: 3px; }

.membership-form__notice,
.membership-form__privacy {
  background: var(--pale-blue);
  border-left: 4px solid var(--green);
  color: var(--ink-soft);
  font-size: 0.8rem;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
}

.membership-field-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.membership-field-grid label,
.membership-field--wide { color: var(--navy); display: grid; font-size: 0.8rem; font-weight: 800; gap: 0.4rem; }
.membership-field-grid input,
.membership-field-grid select,
.membership-field--wide textarea {
  background: var(--white);
  border: 1px solid #91a7b5;
  border-radius: 10px;
  color: var(--ink);
  font: inherit;
  min-height: 3.25rem;
  padding: 0.72rem 0.8rem;
  width: 100%;
}

.membership-field--wide { margin-top: 1rem; }
.membership-field--wide textarea { min-height: 9rem; resize: vertical; }
.membership-field-meta { color: var(--ink-soft); display: flex; font-size: 0.72rem; gap: 1rem; justify-content: space-between; margin-top: 0.35rem; }
.membership-field-meta p { margin: 0; }
.membership-field-meta p:last-child { flex: 0 0 auto; }

.membership-consent-list { display: grid; gap: 0.8rem; }
.membership-consent-list label { align-items: start; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; display: grid; gap: 0.8rem; grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
.membership-consent-list input { accent-color: var(--green-dark); height: 1.15rem; margin-top: 0.1rem; width: 1.15rem; }
.membership-consent-list span { display: grid; gap: 0.28rem; }
.membership-consent-list strong { color: var(--navy); }
.membership-consent-list small { color: var(--ink-soft); font-size: 0.76rem; line-height: 1.5; }

.membership-logo-field {
  background: var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: 14px;
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
  padding: 1rem;
}

.membership-logo-field > label { color: var(--navy); display: grid; font-size: 0.8rem; font-weight: 800; gap: 0.45rem; }
.membership-logo-field input[type="file"] { background: var(--white); border: 1px solid #91a7b5; border-radius: 10px; color: var(--ink-soft); font: inherit; padding: 0.55rem; width: 100%; }
.membership-logo-field input[type="file"]::file-selector-button { background: var(--navy); border: 0; border-radius: 8px; color: var(--white); cursor: pointer; font: inherit; font-weight: 750; margin-right: 0.8rem; padding: 0.6rem 0.8rem; }
.membership-logo-field > p { color: var(--ink-soft); font-size: 0.74rem; margin: 0; }
.membership-logo-preview { align-items: center; background: var(--white); border: 1px solid var(--border); border-radius: 12px; display: flex; gap: 0.9rem; margin: 0; padding: 0.7rem; }
.membership-logo-preview[hidden] { display: none; }
.membership-logo-preview img { border-radius: 8px; height: 4.5rem; object-fit: contain; width: 6rem; }
.membership-logo-preview figcaption { color: var(--navy); font-size: 0.78rem; font-weight: 750; overflow-wrap: anywhere; }

.membership-consent-list__single { align-items: start; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; display: grid; gap: 0.8rem; grid-template-columns: auto minmax(0, 1fr); margin-top: 1rem; padding: 1rem; }
.membership-consent-list__single input { accent-color: var(--green-dark); height: 1.15rem; margin-top: 0.1rem; width: 1.15rem; }
.membership-consent-list__single span { display: grid; gap: 0.28rem; }
.membership-consent-list__single strong { color: var(--navy); }
.membership-consent-list__single small { color: var(--ink-soft); font-size: 0.76rem; line-height: 1.5; }

.membership-service-format { border: 0; margin: 1.2rem 0 0; padding: 0; }
.membership-service-format > legend { color: var(--navy); font-family: var(--font-body); font-size: 0.8rem; font-weight: 800; margin-bottom: 0.55rem; }
.membership-checkbox-grid { display: grid; gap: 0.65rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.membership-checkbox-grid label { align-items: center; border: 1px solid #aebfca; border-radius: 12px; cursor: pointer; display: flex; font-size: 0.78rem; font-weight: 750; gap: 0.55rem; padding: 0.8rem; }
.membership-checkbox-grid input { accent-color: var(--green-dark); height: 1.05rem; width: 1.05rem; }
.membership-checkbox-grid label:has(input:checked) { background: #edf7f2; border-color: var(--green-dark); color: var(--navy); }

.membership-form__actions { display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: space-between; margin-top: 1.5rem; }
.membership-form__actions--end { justify-content: flex-end; }
.membership-form__actions .button { cursor: pointer; }

.membership-form-errors { background: #fff0f0; border-bottom: 1px solid #d79090; color: #762323; padding: 1rem clamp(1.4rem, 4vw, 2.6rem); }
.membership-form-errors h3 { color: #762323; font-size: 1rem; }
.membership-form-errors ul { margin: 0.45rem 0 0; }

.membership-review h3,
.membership-submit-status h3 { font-size: clamp(1.5rem, 3vw, 2.15rem); margin-bottom: 0.8rem; }
.membership-review > p:not(.section-kicker),
.membership-submit-status > p:not(.section-kicker) { color: var(--ink-soft); }
.membership-review__summary { border-top: 1px solid var(--border); margin: 1.5rem 0 0; }
.membership-review__summary div { border-bottom: 1px solid var(--border); display: grid; gap: 1rem; grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1.45fr); padding-block: 0.9rem; }
.membership-review__summary dt { color: var(--navy); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.membership-review__summary dd { color: var(--ink-soft); margin: 0; overflow-wrap: anywhere; }

.membership-submit-status { text-align: center; }
.membership-submit-status__icon { align-items: center; background: var(--green-dark); border-radius: 50%; color: var(--white); display: inline-flex; font-size: 1.5rem; font-weight: 900; height: 3.6rem; justify-content: center; margin-bottom: 1rem; width: 3.6rem; }
.membership-submit-status .membership-form__actions { justify-content: center; }

.membership-application-boundaries { padding-top: 0; }
.membership-application-boundaries__panel { align-items: center; background: var(--navy); border-radius: var(--radius-card); color: var(--white); display: grid; gap: clamp(1.5rem, 5vw, 4rem); grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr); padding: clamp(1.6rem, 4vw, 3rem); }
.membership-application-boundaries__panel h2 { color: var(--white); font-size: clamp(1.55rem, 3vw, 2.4rem); }
.membership-application-boundaries__panel > p { color: rgba(255, 255, 255, 0.82); margin: 0; }

.journey-section { padding-top: 0; }

.journey-panel {
  background-image: url("../img/live-site/journey.webp");
  background-position: 25% 50%;
  background-size: cover;
  border-radius: var(--radius-section);
  display: flex;
  justify-content: flex-end;
  min-height: 32rem;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3rem);
}

.journey-panel__content {
  align-self: center;
  background: var(--gradient-logo);
  border-radius: var(--radius-card);
  color: var(--white);
  max-width: 44rem;
  padding: clamp(2rem, 4vw, 3rem);
}

.journey-panel__content h2 { color: var(--white); }
.journey-panel__content p { color: rgba(255, 255, 255, 0.88); }

.journey-links { margin-top: 1.2rem; }

.journey-links a {
  background: var(--white);
  border-radius: var(--radius-button);
  color: var(--green-dark);
  font-size: 0.78rem;
  font-weight: 800;
  padding: 0.65rem 0.8rem;
  text-decoration: none;
  text-transform: uppercase;
}

.story-bridge__inner {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(10rem, 0.42fr) minmax(20rem, 1fr);
}

.story-bridge__mark {
  align-items: center;
  aspect-ratio: 1;
  background: var(--gradient-logo);
  border-radius: 50% 50% 50% 12%;
  color: var(--white);
  display: flex;
  font-family: var(--font-heading);
  font-size: clamp(5rem, 12vw, 9rem);
  font-weight: 600;
  justify-content: center;
  line-height: 1;
  margin-inline: auto;
  max-width: 18rem;
  width: 100%;
}

.story-bridge h2 { margin-bottom: 1rem; }

.about-next-section { padding-top: 0; }

.about-next-panel {
  background-image: url("../img/live-site/journey.webp");
  background-position: 25% 50%;
  background-size: cover;
  border-radius: var(--radius-section);
  display: flex;
  justify-content: flex-end;
  min-height: 30rem;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3rem);
}

.about-next-panel__content {
  align-self: center;
  background: var(--gradient-logo);
  border-radius: var(--radius-card);
  color: var(--white);
  max-width: 42rem;
  padding: clamp(2rem, 4vw, 3rem);
}

.about-next-panel__content h2 { color: var(--white); }
.about-next-panel__content p { color: rgba(255, 255, 255, 0.88); }

.give-section {
  background: var(--pale-blue);
  padding-block: var(--section-space);
}

.give-section__inner {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 8vw, 7rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.7fr);
}

.give-section__inner > div:last-child p { color: var(--ink-soft); }

.contact-section { padding-bottom: 0; }

.contact-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(20rem, 1fr);
  overflow: hidden;
}

.contact-panel > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.contact-placeholder { padding: clamp(1.5rem, 4vw, 3rem); }

.prototype-label {
  color: var(--green-dark);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.field-grid {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: 1fr 1fr;
  margin-block: 1rem;
}

.field-grid span {
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  color: var(--ink-soft);
  font-size: 0.78rem;
  min-height: 3rem;
  padding: 0.7rem 0.9rem;
}

.field-grid .field-grid__message {
  grid-column: 1 / -1;
  min-height: 7.5rem;
}

.contact-placeholder .button { width: 100%; }

.member-login-band {
  background: #fff8e7;
  border-top: 1px solid #e5c98b;
  color: #57360f;
  margin-top: var(--section-space);
}

.member-login-band__inner {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 4rem;
}

.member-login-band strong { text-transform: uppercase; }
.member-login-band span { font-size: 0.8rem; }

.site-footer {
  background-color: var(--footer);
  background-image: url("../img/live-site/footer-background.webp");
  background-position: 50% 100%;
  background-size: cover;
  color: rgba(255, 255, 255, 0.78);
}

.footer-grid {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(15rem, 1.4fr) repeat(3, minmax(9rem, 0.7fr));
  padding-block: clamp(4rem, 7vw, 6.25rem) 3rem;
}

.footer-brand img {
  margin-bottom: 1rem;
  width: 15.625rem;
}

.footer-brand p { max-width: 30rem; }

.site-footer h2 {
  color: var(--white);
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.site-footer nav,
.site-footer .footer-grid > div:not(.footer-brand) {
  align-content: start;
  display: grid;
  gap: 0.55rem;
}

.site-footer a { color: var(--white); font-size: 0.84rem; }

.footer-nav nav {
  background: var(--footer-nav);
  border-radius: var(--radius-card);
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  justify-content: center;
  max-width: 46rem;
  padding-block: 0.8rem;
}

.footer-nav a {
  font-size: 0.75rem;
  text-decoration: none;
  text-transform: uppercase;
}

.footer-bottom { padding-block: 2rem; }

.footer-bottom .shell {
  display: flex;
  font-size: 0.75rem;
  justify-content: space-between;
}

.footer-legal-links {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.footer-legal-links a {
  color: rgba(255, 255, 255, 0.86);
  font-size: inherit;
}

/* Legal and privacy pages */
.legal-page { background: var(--pale-blue); }

.legal-hero {
  background: var(--gradient-ui);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(19rem, 0.75fr);
  min-height: clamp(30rem, 48vw, 39rem);
  overflow: hidden;
}

.legal-hero__content,
.legal-hero__summary {
  align-content: center;
  display: grid;
  padding: clamp(2.5rem, 6vw, 6rem);
}

.legal-hero__content .eyebrow {
  color: #d6ffbd;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.legal-hero__content > p:not(.eyebrow, .legal-effective) {
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  margin-top: 1.3rem;
  max-width: 49rem;
}

.legal-effective {
  border-top: 1px solid rgba(255, 255, 255, 0.32);
  font-size: 0.86rem;
  margin: 1.6rem 0 0;
  padding-top: 1.1rem;
}

.legal-hero__summary {
  background: rgba(3, 93, 164, 0.28);
  border-left: 1px solid rgba(255, 255, 255, 0.24);
}

.legal-hero__summary h2 {
  color: var(--white);
  font-size: clamp(1.75rem, 2.7vw, 2.55rem);
  line-height: 1.2;
}

.legal-hero__summary ul {
  display: grid;
  gap: 1rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.legal-hero__summary li {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  padding: 1rem 0 0 1.5rem;
  position: relative;
}

.legal-hero__summary li::before {
  color: #d6ffbd;
  content: "•";
  font-size: 1.45rem;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 1.05rem;
}

.legal-section { background: var(--pale-blue); }

.legal-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(15rem, 0.34fr) minmax(0, 1fr);
}

.legal-toc {
  background: var(--navy-deep);
  border-radius: var(--radius-card);
  color: var(--white);
  padding: 1.75rem;
  position: sticky;
  top: 7.25rem;
}

.legal-toc h2 {
  color: var(--white);
  font-size: 1.55rem;
}

.legal-toc nav {
  display: grid;
  margin-top: 1rem;
}

.legal-toc a {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--white);
  font-size: 0.82rem;
  padding: 0.68rem 0;
  text-decoration: none;
}

.legal-toc a:hover { color: #d6ffbd; }

.legal-copy {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-section);
  box-shadow: 0 24px 70px rgba(8, 47, 77, 0.1);
  padding: clamp(1.5rem, 5vw, 4.5rem);
}

.legal-copy section {
  border-top: 1px solid var(--border);
  padding-block: 2.25rem 0.85rem;
  scroll-margin-top: 7.5rem;
}

.legal-copy section:first-of-type {
  border-top: 0;
  padding-top: 0.75rem;
}

.legal-copy h2 {
  color: var(--navy-deep);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.25;
  margin-bottom: 1rem;
  text-transform: none;
}

.legal-copy p,
.legal-copy li { color: var(--ink-soft); }

.legal-copy ul {
  display: grid;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}

.legal-copy a {
  color: var(--green-dark);
  font-weight: 750;
}

.legal-review-note {
  background: linear-gradient(115deg, rgba(95, 172, 69, 0.14), rgba(3, 93, 164, 0.1));
  border: 1px solid rgba(12, 107, 69, 0.24);
  border-left: 5px solid var(--green-dark);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  margin-bottom: 1.75rem;
  padding: 1.25rem 1.4rem;
}

.legal-review-note strong {
  color: var(--navy-deep);
  display: block;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  text-transform: uppercase;
}

.legal-review-note p { margin: 0.35rem 0 0; }

.review-drawer {
  bottom: 1rem;
  position: fixed;
  right: 1rem;
  z-index: 120;
}

.review-drawer summary {
  background: #fff8e7;
  border: 1px solid #d8b96f;
  border-radius: var(--radius-button);
  color: #57360f;
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 800;
  list-style: none;
  padding: 0.65rem 0.85rem;
  text-transform: uppercase;
}

.review-drawer[open] > div {
  background: var(--white);
  border: 1px solid #d8b96f;
  border-radius: var(--radius-card);
  bottom: calc(100% + 0.5rem);
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.16);
  max-width: min(24rem, calc(100vw - 2rem));
  padding: 1rem;
  position: absolute;
  right: 0;
  width: 24rem;
}

.review-drawer p { font-size: 0.78rem; margin: 0 0 0.6rem; }
.review-drawer p:last-child { margin-bottom: 0; }

.involvement-preview {
  background: var(--navy);
  color: var(--white);
}

.involvement-preview__inner {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 7vw, 6rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.72fr);
}

.involvement-preview h2 { color: var(--white); margin: 0; }
.involvement-preview p:not(.section-kicker) { color: rgba(255, 255, 255, 0.84); }

.involvement-hero {
  background: var(--navy);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(20rem, 0.96fr);
  min-height: 36rem;
  overflow: hidden;
}

.involvement-hero__content {
  align-content: center;
  background:
    radial-gradient(circle at 0 100%, rgba(95, 172, 69, 0.27), transparent 42%),
    linear-gradient(135deg, var(--navy-deep), var(--navy) 56%, var(--blue));
  display: grid;
  padding: clamp(3rem, 7vw, 6.5rem);
}

.involvement-hero__content h1 {
  color: var(--white);
  font-size: clamp(3rem, 5.4vw, 5.7rem);
  line-height: 0.96;
  max-width: 10ch;
  overflow-wrap: normal;
  word-break: normal;
}

.involvement-hero__content > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  max-width: 37rem;
}

.involvement-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.involvement-hero__actions .button--outline {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--white);
}

.involvement-hero__actions .button--outline:hover {
  background: var(--white);
  color: var(--navy);
}

.involvement-hero__media {
  background-image:
    linear-gradient(90deg, rgba(8, 47, 77, 0.18), transparent 36%),
    url("../img/live-site/journey.webp");
  background-position: 29% 50%;
  background-size: cover;
  min-width: 0;
}

.involvement-ways { padding-bottom: clamp(4.5rem, 8vw, 7.5rem); }

.involvement-path-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.involvement-path {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: 0 18px 40px rgba(16, 61, 97, 0.07);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  position: relative;
}

.involvement-path::before {
  background: var(--path-accent, var(--gradient-logo));
  border-radius: 999px;
  content: "";
  height: 0.28rem;
  left: clamp(1.5rem, 3vw, 2.25rem);
  position: absolute;
  right: clamp(1.5rem, 3vw, 2.25rem);
  top: 0;
}

.involvement-path__label {
  color: var(--path-accent, var(--green-dark));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.involvement-path h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
.involvement-path > p:not(.involvement-path__label) { color: var(--ink-soft); }

.involvement-path__link {
  align-items: center;
  border-top: 1px solid var(--border);
  color: var(--navy);
  display: flex;
  font-size: 0.78rem;
  font-weight: 800;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1rem;
  text-decoration: none;
  text-transform: uppercase;
}

.involvement-path__link span { color: var(--path-accent, var(--green-dark)); font-size: 1.25rem; margin-left: 0.75rem; }
.involvement-path__link:hover { color: var(--path-accent, var(--green-dark)); }

.involvement-path--green { --path-accent: #cae8bd; background: var(--green-dark); border-color: var(--green-dark); color: var(--white); }
.involvement-path--blue { --path-accent: #cae8bd; background: var(--blue); border-color: var(--blue); color: var(--white); }
.involvement-path--navy { --path-accent: #cae8bd; background: var(--navy); border-color: var(--navy); color: var(--white); }
.involvement-path--gradient { --path-accent: var(--white); background: linear-gradient(135deg, var(--navy-deep), var(--green-dark)); border-color: transparent; color: var(--white); }

.involvement-path--green h3,
.involvement-path--blue h3,
.involvement-path--navy h3,
.involvement-path--gradient h3,
.involvement-path--green .involvement-path__link,
.involvement-path--blue .involvement-path__link,
.involvement-path--navy .involvement-path__link,
.involvement-path--gradient .involvement-path__link { color: var(--white); }

.involvement-path--green > p:not(.involvement-path__label),
.involvement-path--blue > p:not(.involvement-path__label),
.involvement-path--navy > p:not(.involvement-path__label),
.involvement-path--gradient > p:not(.involvement-path__label) { color: rgba(255, 255, 255, 0.84); }

.involvement-path--green .involvement-path__link,
.involvement-path--blue .involvement-path__link,
.involvement-path--navy .involvement-path__link,
.involvement-path--gradient .involvement-path__link { border-top-color: rgba(255, 255, 255, 0.3); }

.involvement-path--green .involvement-path__link:hover,
.involvement-path--blue .involvement-path__link:hover,
.involvement-path--navy .involvement-path__link:hover,
.involvement-path--gradient .involvement-path__link:hover { color: var(--white); text-decoration: underline; }

.involvement-process { background: var(--pale-blue); }

.involvement-process__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(17rem, 0.72fr) minmax(22rem, 1.28fr);
}

.involvement-process__layout > header { position: sticky; top: 8rem; }
.involvement-process__layout > header h2 { margin-bottom: 1rem; }
.involvement-process__layout > header > p:last-child { color: var(--ink-soft); }

.involvement-process__list {
  display: grid;
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.involvement-process__list li {
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 5px solid var(--green-dark);
  border-radius: var(--radius-card);
  padding: 1.5rem;
}

.involvement-process__list li:nth-child(2) { border-left-color: var(--blue); }
.involvement-process__list li:nth-child(3) { border-left-color: var(--navy); }

.involvement-process__list h3 { margin-bottom: 0.35rem; }
.involvement-process__list p { color: var(--ink-soft); margin: 0; }

.involvement-clarity { padding-bottom: 0; }

.involvement-clarity__panel {
  background:
    radial-gradient(circle at 92% 12%, rgba(95, 172, 69, 0.28), transparent 28%),
    linear-gradient(130deg, var(--navy-deep), var(--navy) 58%, var(--blue));
  border-radius: var(--radius-section);
  color: var(--white);
  padding: clamp(2.2rem, 5vw, 4.5rem);
}

.involvement-clarity__panel h2 { color: var(--white); max-width: 16ch; }
.involvement-clarity__panel header > p:last-child { color: rgba(255, 255, 255, 0.78); }

.involvement-clarity__list {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(2rem, 4vw, 3.25rem) 0 0;
}

.involvement-clarity__list > div {
  border-top: 1px solid rgba(255, 255, 255, 0.34);
  min-width: 0;
  padding: 1.45rem 1.5rem 1.45rem 0;
}

.involvement-clarity__list > div + div {
  border-left: 1px solid rgba(255, 255, 255, 0.34);
  padding-left: 1.5rem;
}

.involvement-clarity__list dt {
  color: var(--white);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.55rem;
}

.involvement-clarity__list dd { color: rgba(255, 255, 255, 0.82); margin: 0; }

.involvement-clarity__note {
  border-top: 1px solid rgba(255, 255, 255, 0.34);
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.8rem;
  margin: 0;
  padding-top: 1.2rem;
}

.involvement-next-step__panel {
  align-items: center;
  background: var(--gradient-ui);
  border-radius: var(--radius-card);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(2rem, 5vw, 4rem);
}

.involvement-next-step__panel h2 { color: var(--white); }
.involvement-next-step__panel p:not(.section-kicker) { color: rgba(255, 255, 255, 0.84); margin: 0; }

.involvement-next-step__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.involvement-next-step__actions .button--outline {
  border-color: rgba(255, 255, 255, 0.75);
  color: var(--white);
}

.involvement-next-step__actions .button--outline:hover {
  background: var(--white);
  color: var(--navy);
}

.sponsorship-hero {
  background:
    radial-gradient(circle at 98% 2%, rgba(255, 255, 255, 0.12), transparent 26%),
    linear-gradient(135deg, var(--navy-deep), var(--navy) 56%, var(--blue));
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.7fr);
  min-height: 35rem;
  overflow: hidden;
  padding: clamp(2.6rem, 7vw, 6.5rem);
  position: relative;
}

.sponsorship-hero::before,
.sponsorship-hero::after {
  border: clamp(2rem, 5vw, 5.5rem) solid rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
}

.sponsorship-hero::before {
  height: 31rem;
  left: -16rem;
  top: -15rem;
  width: 31rem;
}

.sponsorship-hero::after {
  bottom: -19rem;
  height: 38rem;
  right: -18rem;
  width: 38rem;
}

.sponsorship-hero__content {
  align-content: center;
  display: grid;
  position: relative;
  z-index: 1;
}

.sponsorship-hero__content .eyebrow {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.sponsorship-hero__content h1 {
  font-size: clamp(3rem, 5.5vw, 5.8rem);
  line-height: 0.97;
  max-width: 11ch;
  overflow-wrap: normal;
  word-break: normal;
}

.sponsorship-hero__content > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  max-width: 43rem;
}

.sponsorship-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.sponsorship-hero__actions .button--outline {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--white);
}

.sponsorship-hero__actions .button--outline:hover {
  background: var(--white);
  color: var(--navy);
}

.sponsorship-hero__summary {
  align-self: center;
  background: rgba(255, 255, 255, 0.97);
  border-radius: var(--radius-card);
  color: var(--ink);
  padding: clamp(1.6rem, 3vw, 2.5rem);
  position: relative;
  z-index: 1;
}

.sponsorship-hero__mark {
  align-items: center;
  background: var(--gradient-logo);
  border-radius: 50% 50% 50% 12%;
  color: var(--white);
  display: flex;
  font-family: var(--font-heading);
  font-size: 2.25rem;
  font-weight: 600;
  height: 4rem;
  justify-content: center;
  margin-bottom: 1.5rem;
  width: 4rem;
}

.sponsorship-hero__summary h2 { font-size: clamp(1.55rem, 2.5vw, 2.15rem); margin-bottom: 1rem; }

.sponsorship-hero__summary ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sponsorship-hero__summary li {
  border-top: 1px solid var(--border);
  display: grid;
  gap: 0.2rem;
  padding-block: 0.9rem;
}

.sponsorship-hero__summary strong { color: var(--navy); }
.sponsorship-hero__summary span { color: var(--ink-soft); font-size: 0.84rem; }

.sponsorship-foundation-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sponsorship-foundation {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.4rem);
}

.sponsorship-foundation > span {
  color: rgba(16, 61, 97, 0.2);
  display: block;
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 1.4rem;
}

.sponsorship-foundation h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); margin-bottom: 0.65rem; }
.sponsorship-foundation p { color: var(--ink-soft); margin: 0; }

.sponsorship-opportunities { padding-top: 0; }

.sponsorship-opportunities__layout {
  background:
    radial-gradient(circle at 0 100%, rgba(95, 172, 69, 0.24), transparent 34%),
    var(--navy);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(18rem, 0.72fr) minmax(22rem, 1.28fr);
  padding: clamp(2.2rem, 5vw, 4.5rem);
}

.sponsorship-opportunities__layout > header h2 { color: var(--white); }
.sponsorship-opportunities__layout > header > p:last-child { color: rgba(255, 255, 255, 0.78); }

.sponsorship-opportunities__list { border-top: 1px solid rgba(255, 255, 255, 0.3); }

.sponsorship-opportunities__list article {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  display: grid;
  gap: 1.4rem;
  grid-template-columns: 3rem minmax(0, 1fr);
  padding-block: 1.4rem;
}

.sponsorship-opportunities__list article > span {
  color: var(--green);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
}

.sponsorship-opportunities__list h3 { color: var(--white); margin-bottom: 0.35rem; }
.sponsorship-opportunities__list p { color: rgba(255, 255, 255, 0.78); margin: 0; }

.corporate-champion { padding-top: 0; }

.corporate-champion__panel {
  background: linear-gradient(120deg, var(--green-dark), var(--navy) 58%, var(--blue));
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 7vw, 6rem);
  grid-template-columns: minmax(16rem, 0.72fr) minmax(22rem, 1.28fr);
  overflow: hidden;
  padding: clamp(2.2rem, 5vw, 4.5rem);
  position: relative;
}

.corporate-champion__panel::after {
  color: rgba(255, 255, 255, 0.06);
  content: "C";
  font-family: var(--font-heading);
  font-size: clamp(16rem, 34vw, 36rem);
  font-weight: 600;
  line-height: 0.7;
  pointer-events: none;
  position: absolute;
  right: -5rem;
  top: 1rem;
}

.corporate-champion__intro,
.corporate-champion__details { position: relative; z-index: 1; }
.corporate-champion__intro h2 { color: var(--white); }

.corporate-champion__price {
  color: var(--white);
  font-family: var(--font-heading);
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  font-weight: 600;
  line-height: 1;
  margin: 1.5rem 0 0.45rem;
}

.corporate-champion__price span { font-size: 0.32em; text-transform: uppercase; }

.corporate-champion__scope {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.corporate-champion__details > p:first-child { color: rgba(255, 255, 255, 0.88); font-size: 1.05rem; }

.corporate-champion__details ul {
  border-top: 1px solid rgba(255, 255, 255, 0.34);
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
}

.corporate-champion__details li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.34);
  color: rgba(255, 255, 255, 0.86);
  padding: 0.8rem 0 0.8rem 1.6rem;
  position: relative;
}

.corporate-champion__details li::before {
  color: var(--green);
  content: "✓";
  font-weight: 800;
  left: 0;
  position: absolute;
}

.corporate-champion__note { color: rgba(255, 255, 255, 0.72); font-size: 0.78rem; }

.sponsorship-process { background: var(--pale-blue); }

.sponsorship-process__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(17rem, 0.72fr) minmax(22rem, 1.28fr);
}

.sponsorship-process__layout > header { position: sticky; top: 8rem; }
.sponsorship-process__layout > header > p:last-child { color: var(--ink-soft); }

.sponsorship-process__list {
  border-top: 1px solid var(--border);
  list-style: none;
  margin: 0;
  padding: 0;
}

.sponsorship-process__list li {
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  padding-block: 1.5rem;
}

.sponsorship-process__list > li > span {
  color: var(--green-dark);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
}

.sponsorship-process__list h3 { margin-bottom: 0.35rem; }
.sponsorship-process__list p { color: var(--ink-soft); margin: 0; }

.sponsorship-boundary { padding-top: 0; }

.sponsorship-boundary__panel {
  align-items: center;
  background: var(--gradient-ui);
  border-radius: var(--radius-card);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(2rem, 5vw, 4rem);
}

.sponsorship-boundary__panel h2 { color: var(--white); }
.sponsorship-boundary__panel p:not(.section-kicker) { color: rgba(255, 255, 255, 0.84); margin: 0; }

.sponsorship-next-step__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.sponsorship-next-step__actions .button--outline {
  border-color: rgba(255, 255, 255, 0.75);
  color: var(--white);
}

.sponsorship-next-step__actions .button--outline:hover { background: var(--white); color: var(--navy); }

.sponsorship-scope { padding-top: 0; }

.sponsorship-scope__panel {
  background:
    radial-gradient(circle at 100% 0, rgba(95, 172, 69, 0.22), transparent 30%),
    var(--navy);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2.5rem, 7vw, 6rem);
  grid-template-columns: minmax(17rem, 0.72fr) minmax(22rem, 1.28fr);
  padding: clamp(2.2rem, 5vw, 4.5rem);
}

.sponsorship-scope__panel > header h2 { color: var(--white); }
.sponsorship-scope__panel > header > p:last-child { color: rgba(255, 255, 255, 0.78); }

.sponsorship-scope__columns {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sponsorship-scope__columns article {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--radius-card);
  padding: clamp(1.35rem, 3vw, 2rem);
}

.sponsorship-scope__label {
  color: var(--green);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 0.65rem;
  text-transform: uppercase;
}

.sponsorship-scope__columns h3 { color: var(--white); margin-bottom: 1rem; }

.sponsorship-scope__columns ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sponsorship-scope__columns li {
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.84rem;
  padding-block: 0.65rem;
}

.sponsorship-elements { background: var(--pale-blue); }

.sponsorship-element-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sponsorship-element {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.3rem);
}

.sponsorship-element h3 {
  border-left: 4px solid var(--green);
  margin-bottom: 0.8rem;
  padding-left: 0.8rem;
}

.sponsorship-element p { color: var(--ink-soft); margin: 0; }

.sponsorship-boundary__panel {
  grid-template-columns: minmax(0, 1fr);
}

.sponsorship-boundary__panel > div { max-width: 68rem; }

.sponsorship-faq__layout {
  align-items: start;
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(17rem, 0.72fr) minmax(22rem, 1.28fr);
}

.sponsorship-faq__layout > header { position: sticky; top: 8rem; }
.sponsorship-faq__layout > header > p:last-child { color: var(--ink-soft); }

.sponsorship-faq__list { border-top: 1px solid var(--border); }

.sponsorship-faq__list details { border-bottom: 1px solid var(--border); }

.sponsorship-faq__list summary {
  align-items: center;
  color: var(--navy);
  cursor: pointer;
  display: flex;
  font-weight: 750;
  justify-content: space-between;
  min-height: 3.25rem;
  padding-block: 0.9rem;
}

.sponsorship-faq__list summary::after {
  color: var(--green-dark);
  content: "+";
  font-size: 1.35rem;
  margin-left: 1rem;
}

.sponsorship-faq__list details[open] summary::after { content: "−"; }
.sponsorship-faq__list details p { color: var(--ink-soft); padding: 0 2.5rem 1.2rem 0; }

.sponsorship-next-step { padding-top: 0; }

.sponsorship-next-step__panel {
  align-items: center;
  background: var(--gradient-ui);
  border-radius: var(--radius-card);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(2rem, 5vw, 4rem);
}

.sponsorship-next-step__panel h2 { color: var(--white); }
.sponsorship-next-step__panel p:not(.section-kicker) { color: rgba(255, 255, 255, 0.84); margin: 0; }

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.donate-hero {
  align-items: center;
  background:
    radial-gradient(circle at 0 100%, rgba(95, 172, 69, 0.14), transparent 34%),
    var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: var(--radius-section);
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 0.78fr) minmax(30rem, 1.22fr);
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 5rem);
  position: relative;
}

.donate-hero::before {
  border: clamp(2rem, 5vw, 5rem) solid rgba(16, 61, 97, 0.045);
  border-radius: 50%;
  bottom: -19rem;
  content: "";
  height: 38rem;
  left: -18rem;
  pointer-events: none;
  position: absolute;
  width: 38rem;
}

.donate-hero__content {
  align-content: center;
  display: grid;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.donate-hero__content .eyebrow {
  color: var(--green-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.donate-hero__content h1 {
  color: var(--navy);
  font-size: clamp(3rem, 5.1vw, 5.35rem);
  line-height: 0.98;
  max-width: 10.5ch;
  overflow-wrap: normal;
  word-break: normal;
}

.donate-hero__content > p:not(.eyebrow):not(.donate-hero__distinction) {
  color: var(--ink-soft);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  max-width: 39rem;
}

.donate-hero__support { color: var(--navy) !important; font-weight: 700; }

.donate-hero__distinction {
  border-left: 3px solid var(--green);
  color: var(--navy);
  font-size: 0.78rem;
  margin: 1.2rem 0 0;
  padding-left: 0.8rem;
}

.donation-builder {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: 0 24px 64px rgba(16, 61, 97, 0.12);
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.45rem, 3vw, 2.5rem);
  position: relative;
  z-index: 1;
}

.donation-builder::before {
  background: var(--gradient-ui);
  content: "";
  height: 0.32rem;
  inset: 0 0 auto;
  position: absolute;
}

.donation-builder__mark {
  align-items: center;
  background: var(--gradient-logo);
  border-radius: 50% 50% 50% 12%;
  color: var(--white);
  display: flex;
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 600;
  height: 2.75rem;
  justify-content: center;
  position: absolute;
  right: clamp(1.3rem, 3vw, 2.5rem);
  top: clamp(1.35rem, 3vw, 2.2rem);
  width: 2.75rem;
}

.donation-builder__editor,
.donation-review,
.donation-payment-status { min-width: 0; }

.donation-builder__header { padding-right: 3.8rem; }
.donation-builder__header h2,
.donation-review h2,
.donation-payment-status h2 { font-size: clamp(1.65rem, 2.7vw, 2.35rem); margin-bottom: 0.55rem; }
.donation-builder__header > p:last-child,
.donation-review__note,
.donation-payment-status > p:not(.section-kicker) { color: var(--ink-soft); }

.donation-fieldset {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 1.25rem 0 0;
  min-width: 0;
  padding: 1.15rem 0 0;
}

.donation-fieldset legend {
  color: var(--navy);
  font-weight: 800;
  padding: 0;
}

.donation-fieldset__legend {
  color: var(--navy);
  font-weight: 800;
  margin: 0;
}

.donation-fieldset__help {
  color: var(--ink-soft);
  font-size: 0.78rem;
  margin: 0.25rem 0 0.75rem;
}

.donation-frequency {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.donation-amounts {
  border: 0;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 5.5rem), 1fr));
  margin: 0;
  min-width: 0;
  padding: 0;
}

.donation-amounts[hidden] { display: none; }

.donation-choice {
  align-items: center;
  background: var(--white);
  border: 1px solid #aebfca;
  border-radius: 12px;
  color: var(--navy);
  cursor: pointer;
  display: flex;
  font-size: 0.85rem;
  font-weight: 750;
  gap: 0.55rem;
  min-height: 3rem;
  min-width: 0;
  padding: 0.6rem 0.75rem;
}

.donation-choice:hover { border-color: var(--green-dark); }
.donation-choice:has(input:checked) { background: #eef7f3; border-color: var(--green-dark); box-shadow: inset 0 0 0 1px var(--green-dark); }
.donation-choice input { accent-color: var(--green-dark); flex: 0 0 auto; height: 1.05rem; width: 1.05rem; }
.donation-choice--amount { justify-content: center; }

.donation-custom { margin-top: 0.8rem; }
.donation-custom > label,
.donation-text-field { color: var(--navy); display: grid; font-size: 0.78rem; font-weight: 800; gap: 0.35rem; }
.donation-custom > p { color: var(--ink-soft); font-size: 0.72rem; margin: 0.35rem 0 0; }

.donation-custom__control {
  align-items: center;
  background: var(--white);
  border: 1px solid #aebfca;
  border-radius: 12px;
  display: flex;
  min-height: 3rem;
  overflow: hidden;
}

.donation-custom__control > span { color: var(--navy); font-size: 1rem; font-weight: 800; padding-left: 0.85rem; }
.donation-custom__control input,
.donation-text-field input {
  background: var(--white);
  border: 1px solid #aebfca;
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  min-height: 3rem;
  min-width: 0;
  padding: 0.65rem 0.8rem;
  width: 100%;
}

.donation-custom__control input { border: 0; border-radius: 0; }

.donation-error {
  color: #9d2d2d;
  font-size: 0.78rem;
  font-weight: 750;
  margin: 0.55rem 0 0;
}

.donation-extras { border-top: 1px solid var(--border); margin-top: 1.25rem; }
.donation-extra { border-bottom: 1px solid var(--border); padding-block: 0.9rem; }
.donation-extra__toggle { align-items: start; color: var(--navy); cursor: pointer; display: flex; font-size: 0.82rem; font-weight: 750; gap: 0.65rem; }
.donation-extra__toggle input { accent-color: var(--green-dark); flex: 0 0 auto; height: 1.05rem; margin-top: 0.1rem; width: 1.05rem; }
.donation-extra__fields { background: var(--pale-blue); border-radius: 12px; margin-top: 0.8rem; padding: 0.9rem; }
.donation-fieldset--compact { border-top: 0; margin: 0 0 0.8rem; padding-top: 0; }

.donation-builder__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.donation-builder .button { cursor: pointer; font-family: inherit; }
.donation-builder__privacy { color: var(--ink-soft); font-size: 0.72rem; margin: 0.8rem 0 0; }

.donation-review__summary { border-top: 1px solid var(--border); margin: 1.25rem 0 0; }
.donation-review__summary > div { border-bottom: 1px solid var(--border); display: grid; gap: 1rem; grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr); padding-block: 0.75rem; }
.donation-review__summary dt { color: var(--ink-soft); font-size: 0.75rem; font-weight: 800; text-transform: uppercase; }
.donation-review__summary dd { color: var(--navy); font-weight: 800; margin: 0; text-align: right; }
.donation-review__note { border-left: 3px solid var(--green); font-size: 0.76rem; margin: 1rem 0 0; padding-left: 0.75rem; }

.donation-payment-status {
  background: var(--pale-blue);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: clamp(1.4rem, 3vw, 2rem);
}

.donation-payment-status__icon {
  align-items: center;
  background: var(--navy);
  border-radius: 999px;
  color: var(--white);
  display: flex;
  font-weight: 800;
  height: 2.35rem;
  justify-content: center;
  margin-bottom: 1rem;
  width: 2.35rem;
}

.other-giving__heading { max-width: 52rem; }
.other-giving__heading > p:last-child { color: var(--ink-soft); }
.other-giving__grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(1.8rem, 4vw, 3rem); }
.other-giving__grid article { border-top: 3px solid var(--green); min-width: 0; padding: 1.25rem 1rem 0 0; }
.other-giving__grid h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); margin: 0 0 0.45rem; }
.other-giving__grid p { color: var(--ink-soft); margin: 0; }
.other-giving__grid a { display: inline-block; font-weight: 800; margin-top: 0.75rem; }

.giving-clarity { padding-top: 0; }
.giving-clarity__panel { background: radial-gradient(circle at 96% 5%, rgba(95, 172, 69, 0.26), transparent 28%), var(--navy); border-radius: var(--radius-section); color: var(--white); padding: clamp(2.2rem, 5vw, 4.5rem); }
.giving-clarity__panel > header { display: grid; gap: clamp(1rem, 4vw, 4rem); grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 0.7fr); }
.giving-clarity__panel h2 { color: var(--white); }
.giving-clarity__panel > header > p:last-child { color: rgba(255, 255, 255, 0.78); }

.giving-principle-grid { display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(2rem, 5vw, 3.5rem); }
.giving-principle { border-top: 1px solid rgba(255, 255, 255, 0.32); min-width: 0; padding: 1.4rem 1.5rem 0 0; }
.giving-principle + .giving-principle { border-left: 1px solid rgba(255, 255, 255, 0.32); padding-left: 1.5rem; }
.giving-principle h3 { color: var(--white); margin-bottom: 0.5rem; }
.giving-principle p { color: rgba(255, 255, 255, 0.78); margin: 0; }

.giving-relationships { padding-top: 0; }
.giving-relationships__panel { align-items: center; background: linear-gradient(115deg, #eef7f3, var(--pale-blue)); border: 1px solid var(--border); border-radius: var(--radius-card); display: grid; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: minmax(0, 1fr) auto; padding: clamp(2rem, 5vw, 3.5rem); }
.giving-relationships__panel p:not(.section-kicker) { color: var(--ink-soft); margin: 0; }
.giving-relationships__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; justify-content: flex-end; }

.contact-preview__panel {
  align-items: center;
  background: var(--gradient-ui);
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(2.2rem, 5vw, 4.5rem);
}

.contact-preview__panel h2 { color: var(--white); }
.contact-preview__panel p:not(.section-kicker) { color: rgba(255, 255, 255, 0.84); margin: 0; max-width: 48rem; }
.contact-preview__actions { display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: flex-end; }
.contact-preview__actions .button--outline { border-color: rgba(255, 255, 255, 0.74); color: var(--white); }
.contact-preview__actions .button--outline:hover { background: var(--white); color: var(--navy); }

.contact-hero {
  background: var(--navy);
  border-radius: var(--radius-section);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  min-height: clamp(31rem, 46vw, 43rem);
  overflow: hidden;
}

.contact-hero__content {
  align-content: center;
  background: radial-gradient(circle at 0 100%, rgba(95, 172, 69, 0.38), transparent 42%), var(--gradient-ui);
  color: var(--white);
  display: grid;
  min-width: 0;
  padding: clamp(2.5rem, 6vw, 6rem);
}

.contact-hero__content .eyebrow { color: rgba(255, 255, 255, 0.9); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.11em; margin-bottom: 0.8rem; text-transform: uppercase; }
.contact-hero__content h1 { font-size: clamp(3rem, 5.2vw, 5.5rem); line-height: 0.98; max-width: 10ch; overflow-wrap: normal; word-break: normal; }
.contact-hero__content > p:not(.eyebrow) { color: rgba(255, 255, 255, 0.86); font-size: clamp(1rem, 1.35vw, 1.18rem); max-width: 39rem; }
.contact-hero__content .button { justify-self: start; margin-top: 0.8rem; }
.contact-hero__media { margin: 0; min-height: 100%; }
.contact-hero__media img { height: 100%; object-fit: cover; object-position: 50% 50%; width: 100%; }

.contact-safety {
  align-items: start;
  background: #fff8e7;
  border: 1px solid #e5c98b;
  border-radius: var(--radius-card);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.4rem, 3vw, 2.2rem);
}

.contact-safety__mark,
.contact-send-status__icon {
  align-items: center;
  background: var(--navy);
  border-radius: 999px;
  color: var(--white);
  display: flex;
  font-weight: 800;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.contact-safety h2 { font-size: clamp(1.35rem, 2.3vw, 1.9rem); margin-bottom: 0.45rem; }
.contact-safety p:last-child { color: var(--ink-soft); margin: 0; }

.contact-request { background: var(--pale-blue); margin-top: clamp(2rem, 4vw, 3rem); }
.contact-builder { align-items: start; display: grid; gap: clamp(2.5rem, 6vw, 5rem); grid-template-columns: minmax(16rem, 0.5fr) minmax(0, 1.5fr); }
.contact-builder__intro { min-width: 0; position: sticky; top: 8rem; }
.contact-builder__intro > p:not(.section-kicker),
.contact-builder__intro li { color: var(--ink-soft); }
.contact-builder__intro ul { display: grid; gap: 0.55rem; margin: 1.25rem 0 0; padding-left: 1.2rem; }

.contact-builder__surface {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: 0 22px 60px rgba(16, 61, 97, 0.1);
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.5rem);
  position: relative;
}

.contact-builder__surface::before { background: var(--gradient-ui); content: ""; height: 0.32rem; inset: 0 0 auto; position: absolute; }
.contact-builder__fallback > p { color: var(--ink-soft); }
.contact-form { display: grid; gap: 0; }
.contact-form[hidden],
.contact-review[hidden],
.contact-send-status[hidden],
.contact-errors[hidden] { display: none; }

.contact-form__step { border-bottom: 1px solid var(--border); padding-block: clamp(1.35rem, 3vw, 2rem); }
.contact-form__step:first-of-type { padding-top: 0.6rem; }
.contact-form__step-heading { display: block; margin-bottom: 1rem; }
.contact-form__step-heading .section-kicker { margin-bottom: 0.15rem; }
.contact-form__step-heading h3 { font-size: clamp(1.25rem, 2.2vw, 1.65rem); }

.contact-fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.contact-fieldset > legend { color: var(--navy); font-size: 0.82rem; font-weight: 800; padding: 0; }
.contact-topic-grid { display: grid; gap: 0.65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-topic {
  align-items: start;
  background: var(--white);
  border: 1px solid #aebfca;
  border-radius: 12px;
  color: var(--navy);
  cursor: pointer;
  display: flex;
  gap: 0.65rem;
  min-height: 4.75rem;
  min-width: 0;
  padding: 0.8rem;
}

.contact-topic:hover { border-color: var(--green-dark); }
.contact-topic:has(input:checked) { background: #eef7f3; border-color: var(--green-dark); box-shadow: inset 0 0 0 1px var(--green-dark); }
.contact-topic input { accent-color: var(--green-dark); flex: 0 0 auto; height: 1.05rem; margin-top: 0.2rem; width: 1.05rem; }
.contact-topic span { display: grid; gap: 0.15rem; }
.contact-topic strong { color: var(--navy); }
.contact-topic small { color: var(--ink-soft); font-size: 0.72rem; line-height: 1.4; }

.contact-field-grid { display: grid; gap: 0.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-field-grid label,
.contact-message { color: var(--navy); display: grid; font-size: 0.78rem; font-weight: 800; gap: 0.35rem; }
.contact-field__optional { color: var(--ink-soft); font-size: 0.68rem; font-weight: 650; }
.contact-field-grid input,
.contact-message textarea {
  background: var(--white);
  border: 1px solid #aebfca;
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  min-height: 3rem;
  padding: 0.65rem 0.8rem;
  width: 100%;
}

.contact-message textarea { min-height: 10rem; resize: vertical; }
.contact-response-method { margin-top: 1rem; }
.contact-response-options { display: grid; gap: 0.65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0.45rem; }
.contact-response-options .contact-topic { min-height: 3.2rem; }
.contact-form__guidance { background: var(--pale-blue); border-left: 4px solid var(--green); color: var(--ink-soft); font-size: 0.78rem; padding: 0.8rem 0.9rem; }
.contact-character-count { color: var(--ink-soft); font-size: 0.7rem; margin: 0.35rem 0 0; text-align: right; }
.contact-acknowledgment { align-items: start; color: var(--navy); cursor: pointer; display: flex; font-size: 0.78rem; font-weight: 750; gap: 0.65rem; margin-top: 1rem; }
.contact-acknowledgment input { accent-color: var(--green-dark); flex: 0 0 auto; height: 1.05rem; margin-top: 0.15rem; width: 1.05rem; }

.contact-builder__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.25rem; }
.contact-builder__actions .button { cursor: pointer; }
.contact-errors { background: #fff0f0; border: 1px solid #d79090; border-radius: 12px; margin-bottom: 1rem; padding: 1rem; }
.contact-errors h3 { color: #762323; font-size: 1rem; }
.contact-errors ul { color: #762323; margin: 0.5rem 0 0; padding-left: 1.2rem; }

.contact-review h3,
.contact-send-status h3 { font-size: clamp(1.45rem, 2.5vw, 2rem); margin-bottom: 0.7rem; }
.contact-review__summary { border-top: 1px solid var(--border); margin: 1.25rem 0 0; }
.contact-review__summary > div { border-bottom: 1px solid var(--border); display: grid; gap: 1rem; grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr); padding-block: 0.75rem; }
.contact-review__summary dt { color: var(--ink-soft); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.contact-review__summary dd { color: var(--navy); font-weight: 800; margin: 0; text-align: right; }
.contact-review > p:not(.section-kicker),
.contact-send-status > p:not(.section-kicker) { color: var(--ink-soft); }
.contact-send-status { background: var(--pale-blue); border: 1px solid var(--border); border-radius: 14px; padding: clamp(1.4rem, 3vw, 2rem); }
.contact-send-status__icon { margin-bottom: 1rem; }

.contact-paths { padding-top: 0; }
.contact-paths__panel { background: var(--navy); border-radius: var(--radius-section); color: var(--white); padding: clamp(2.2rem, 5vw, 4.5rem); }
.contact-paths__panel h2 { color: var(--white); }
.contact-paths__links { display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(1.8rem, 4vw, 3rem); }
.contact-paths__links a { border-top: 1px solid rgba(255, 255, 255, 0.32); color: var(--white); display: grid; gap: 0.2rem; min-width: 0; padding: 1.2rem 1.2rem 0 0; text-decoration: none; }
.contact-paths__links a + a { border-left: 1px solid rgba(255, 255, 255, 0.32); padding-left: 1.2rem; }
.contact-paths__links strong { font-family: var(--font-heading); font-size: 1.1rem; text-transform: uppercase; }
.contact-paths__links span { color: rgba(255, 255, 255, 0.76); font-size: 0.8rem; }

.news-hero {
  align-items: stretch;
  background-color: var(--navy-deep);
  background-image: linear-gradient(112deg, rgba(8, 47, 77, 0.98), rgba(3, 93, 164, 0.86)), url("../img/live-site/mission-background.webp");
  background-position: center;
  background-size: cover;
  border-radius: var(--radius-section);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  min-height: clamp(30rem, 46vw, 38rem);
  overflow: hidden;
}

.news-hero__content {
  align-content: end;
  display: grid;
  padding: clamp(2.5rem, 7vw, 6.5rem);
}

.news-hero__content .eyebrow {
  color: #cae8bd;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin-bottom: 0.8rem;
  text-transform: uppercase;
}

.news-hero__content h1 { color: var(--white); max-width: 12ch; }
.news-hero__content > p:last-child { color: rgba(255, 255, 255, 0.84); font-size: clamp(1rem, 1.7vw, 1.2rem); margin: 1rem 0 0; max-width: 40rem; }

.news-hero__mark {
  align-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-left: 1px solid rgba(255, 255, 255, 0.28);
  display: grid;
  gap: 1rem;
  padding: clamp(2.25rem, 5vw, 4.5rem);
}

.news-hero__mark span { color: #cae8bd; font-size: 0.74rem; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; }
.news-hero__mark strong { color: var(--white); font-family: var(--font-heading); font-size: clamp(1.7rem, 3vw, 2.65rem); line-height: 1.12; text-transform: uppercase; }
.news-hero__mark p { color: rgba(255, 255, 255, 0.78); margin: 0; }

.news-coverage {
  background: linear-gradient(180deg, var(--pale-blue), #f7fbf9);
}

.news-coverage__heading { margin-bottom: clamp(2rem, 4vw, 3.5rem); max-width: 54rem; }
.news-coverage__heading > p:last-child { color: var(--ink-soft); margin-bottom: 0; }
.news-coverage__list { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.news-media { padding-top: 0; }

.news-feature {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-section);
  box-shadow: 0 22px 50px rgba(8, 47, 77, 0.11);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  min-width: 0;
  overflow: hidden;
}

.news-feature--video {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(25rem, 1fr);
}

.news-feature--article {
  align-items: center;
  grid-template-columns: minmax(0, 1.1fr) minmax(25rem, 0.9fr);
}

.news-feature__media {
  background: var(--navy-deep);
  margin: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.news-feature__media--video {
  aspect-ratio: 16 / 9;
  min-height: 0;
  width: 100%;
}

.news-feature__media video,
.news-feature__media iframe,
.news-feature__media img { display: block; height: 100%; width: 100%; }
.news-feature__media video { background: #061b2b; object-fit: contain; }
.news-feature__media iframe { border: 0; max-width: 100%; min-width: 0; }
.news-feature__media img { object-fit: cover; }

.news-feature__media video:focus-visible,
.news-feature__media iframe:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: -5px;
}

.news-feature__media--embed {
  align-items: center;
  aspect-ratio: 16 / 9;
  display: flex;
  min-height: 0;
  width: 100%;
}

.news-feature__media--embed iframe {
  aspect-ratio: 16 / 9;
  flex: 0 0 auto;
  height: auto;
  width: 100%;
}

.news-feature__media iframe:focus-visible {
  box-shadow: inset 0 0 0 5px var(--green);
  outline: 0;
}

.news-embed-loader {
  align-items: stretch;
  background: var(--navy-deep);
  border: 0;
  color: var(--white);
  cursor: pointer;
  display: grid;
  height: 100%;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
  width: 100%;
}

.news-embed-loader::after {
  background: linear-gradient(180deg, rgba(8, 47, 77, 0.02) 30%, rgba(8, 47, 77, 0.94) 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.news-embed-loader img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  transition: transform 220ms ease;
  width: 100%;
}

.news-embed-loader:hover img { transform: scale(1.025); }

.news-embed-loader:focus-visible {
  box-shadow: inset 0 0 0 5px var(--green);
  outline: 0;
}

.news-embed-loader__overlay {
  align-items: center;
  align-self: end;
  display: grid;
  gap: 0.15rem 0.9rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: clamp(1rem, 3vw, 1.65rem);
  position: relative;
  z-index: 2;
}

.news-embed-loader__play {
  align-items: center;
  background: var(--white);
  border-radius: 50%;
  display: flex;
  grid-row: 1 / span 2;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.news-embed-loader__play::after {
  border-bottom: 0.48rem solid transparent;
  border-left: 0.72rem solid var(--navy);
  border-top: 0.48rem solid transparent;
  content: "";
  margin-left: 0.18rem;
}

.news-embed-loader__overlay strong {
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.2;
  text-transform: uppercase;
}

.news-embed-loader__overlay small { color: rgba(255, 255, 255, 0.82); font-size: 0.82rem; }

.news-feature__media figcaption {
  background: rgba(8, 47, 77, 0.88);
  bottom: 0;
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 750;
  left: 0;
  letter-spacing: 0.06em;
  padding: 0.8rem 1rem;
  position: absolute;
  text-transform: uppercase;
}

.news-feature__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 3.25rem);
}

.news-feature__content h3 { font-size: clamp(1.65rem, 2.6vw, 2.4rem); }
.news-feature__content > p:not(.section-kicker):not(.news-feature__fallback) { color: var(--ink-soft); margin-block: 0.9rem 0; }
.news-feature__content .button { align-self: flex-start; margin-top: auto; }

.news-feature__behind {
  align-self: stretch;
  aspect-ratio: 2.1 / 1;
  border-top: 1px solid rgba(255, 255, 255, 0.36);
  grid-column: 1 / -1;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.news-feature__behind img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}

.news-feature__behind figcaption {
  background: rgba(8, 47, 77, 0.9);
  bottom: 0;
  color: var(--white);
  font-size: 0.76rem;
  font-weight: 800;
  left: 0;
  letter-spacing: 0.08em;
  padding: 0.85rem 1rem;
  position: absolute;
  text-transform: uppercase;
}

.news-feature__content .news-feature__fallback {
  color: var(--ink-soft);
  font-size: 0.84rem;
  margin: 1.15rem 0 0;
}

.news-feature__fallback a { color: var(--green-dark); font-weight: 800; }

.news-feature__meta {
  border-block: 1px solid var(--border);
  color: var(--navy);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 0.55rem 1.1rem;
  letter-spacing: 0.08em;
  margin-bottom: 1.35rem;
  padding-block: 0.85rem;
  text-transform: uppercase;
}

.news-feature__meta > * { white-space: nowrap; }

.news-feature__meta > * + *::before {
  color: var(--green);
  content: "•";
  margin-right: 1.1rem;
}

.news-media__panel {
  align-items: center;
  background: linear-gradient(120deg, #edf7f2, var(--pale-blue));
  border: 1px solid var(--border);
  border-radius: var(--radius-section);
  display: grid;
  gap: clamp(2.5rem, 7vw, 6rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  padding: clamp(2.5rem, 6vw, 5rem);
}

.news-media__copy > p:not(.section-kicker) { color: var(--ink-soft); margin-bottom: 0; }
.news-media__details { border-top: 1px solid var(--border); display: grid; }
.news-media__details article { border-bottom: 1px solid var(--border); padding-block: 1.15rem; }
.news-media__details h3 { font-size: 1.1rem; margin-bottom: 0.35rem; }
.news-media__details p { color: var(--ink-soft); font-size: 0.84rem; margin: 0; }
.news-media__action { margin-top: 1.5rem; }

@media (max-width: 62rem) {
  .news-hero,
  .news-feature,
  .news-feature--article,
  .news-media__panel { grid-template-columns: minmax(0, 1fr); }
  .news-hero { min-height: 0; }
  .news-hero__mark { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.28); }
  .news-feature__media { min-height: 0; }
  .news-feature__behind { aspect-ratio: 16 / 7; grid-column: 1; }
  .jackson-purpose__media.jackson-purpose__media--portrait { min-height: clamp(32rem, 67vw, 42rem); }
}

@media (max-width: 37.5rem) {
  .news-hero__content,
  .news-hero__mark,
  .news-feature__content,
  .news-media__panel { padding: 2.2rem 1.35rem; }
  .news-feature__behind { aspect-ratio: 4 / 3; }
  .news-feature__meta { gap: 0.3rem 0.75rem; }
  .news-feature__meta > * + *::before { margin-right: 0.75rem; }
  .news-feature__content .button,
  .news-media__action .button { width: 100%; }
  .jackson-purpose__media.jackson-purpose__media--portrait { min-height: 28rem; }
}

@media (max-width: 82rem) {
  .nav-list { gap: 0.55rem; }
  .nav-link,
  .nav-group > summary { font-size: 0.8rem; }
  .header-actions .utility-link { display: none; }
  .offer-grid { grid-template-columns: repeat(3, 1fr); }

  .jackson-hero { grid-template-columns: minmax(0, 1fr); }
  .jackson-hero__content { grid-column: 1; }
  .jackson-hero__media::after { background: linear-gradient(0deg, rgba(8, 47, 77, 0.97) 0%, rgba(8, 47, 77, 0.38) 60%, rgba(8, 47, 77, 0.04) 100%); }
}

@media (min-width: 62.001rem) and (max-width: 68rem) {
  .primary-header {
    gap: 0.75rem;
    grid-template-columns: minmax(7.75rem, 8.5rem) minmax(0, 1fr) auto;
  }

  .brand img { width: 8.4rem; }
  .nav-list { gap: 0.3rem; }
  .nav-link,
  .nav-group > summary { font-size: 0.74rem; }
  .header-actions { gap: 0.5rem; }
  .header-actions .button { font-size: 0.76rem; padding-inline: 0.8rem; }
}

@media (max-width: 62rem) {
  .primary-header {
    gap: clamp(0.5rem, 1.5vw, 0.9rem);
    grid-template-columns: minmax(9rem, 1fr) auto auto;
    min-height: 5.4rem;
  }

  .brand img { width: 9rem; }

  .menu-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--navy);
    cursor: pointer;
    display: inline-flex;
    gap: 0.6rem;
    grid-column: 3;
    grid-row: 1;
    min-height: 2.75rem;
    padding: 0.45rem;
  }

  .menu-toggle__label {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .menu-toggle__icon { display: grid; gap: 0.28rem; width: 1.7rem; }

  .menu-toggle__icon span {
    background: currentColor;
    height: 3px;
    transition: transform 180ms ease, opacity 180ms ease;
    width: 100%;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .primary-nav {
    background: var(--white);
    border-left: 1px solid var(--border);
    box-shadow: -15px 20px 45px rgba(16, 61, 97, 0.15);
    grid-column: 1 / -1;
    height: calc(100vh - 7.4rem);
    max-width: 31rem;
    overflow-y: auto;
    padding: 2rem 1.2rem;
    position: absolute;
    right: 0;
    top: 100%;
    width: 60%;
  }

  [data-site-header][data-enhanced="true"] .primary-nav:not([data-open="true"]) { display: none; }

  .nav-list { align-items: stretch; display: grid; gap: 0; }

  .nav-list > li {
    border-bottom: 1px solid var(--gray);
  }

  .nav-link,
  .nav-group > summary {
    font-size: 0.92rem;
    justify-content: space-between;
    padding: 0.85rem 0.25rem;
    width: 100%;
  }

  .nav-submenu {
    background: var(--pale-blue);
    border: 0;
    box-shadow: none;
    margin: 0 0 0.7rem;
    min-width: 0;
    position: static;
    transform: none;
  }

  .nav-submenu::before { display: none; }

  .mobile-actions {
    display: grid;
    margin-top: 1.2rem;
  }

  .header-actions {
    display: flex;
    grid-column: 2;
    grid-row: 1;
  }

  .header-actions .utility-link,
  .header-actions .button--gradient { display: none; }

  .header-actions .button--donate {
    font-size: 0.75rem;
    min-height: 2.75rem;
    padding: 0.65rem 0.9rem;
  }

  .hero__content { grid-template-columns: minmax(0, 1fr); }
  .hero__support { max-width: 45rem; }

  .about-narrative__opening,
  .collective-layout,
  .about-boundary-layout,
  .about-route-line,
  .offer-preview__layout,
  .offer-overview__layout,
  .offer-audience__inner,
  .offer-audience__next,
  .event-status__layout,
  .event-expectations__inner,
  .calendar-status__layout,
  .calendar-standard__inner,
  .event-program-status__layout,
  .event-program-standard__inner,
  .provider-directory__layout,
  .provider-hero,
  .directory-discovery__layout,
  .directory-profile__panel,
  .directory-next-step__panel,
  .membership-hero,
  .membership-overview__layout,
  .membership-benefit-ledger__layout,
  .membership-boundary__panel,
  .membership-process__layout,
  .membership-next-step,
  .involvement-preview__inner,
  .involvement-hero,
  .involvement-process__layout,
  .involvement-next-step__panel,
  .sponsorship-hero,
  .sponsorship-opportunities__layout,
  .corporate-champion__panel,
  .sponsorship-process__layout,
  .sponsorship-boundary__panel,
  .sponsorship-scope__panel,
  .sponsorship-faq__layout,
  .sponsorship-next-step__panel,
  .donate-hero,
  .giving-clarity__panel > header,
  .giving-relationships__panel,
  .contact-preview__panel,
  .contact-hero,
  .contact-builder,
  .jackson-origin__layout,
  .jackson-recovery__layout,
  .jackson-purpose__panel,
  .mission-preview__inner,
  .mission-editorial { grid-template-columns: minmax(0, 1fr); }

  .jackson-hero { grid-template-columns: minmax(0, 1fr); }
  .jackson-hero__content { grid-column: 1; }
  .jackson-hero__media::after { background: linear-gradient(0deg, rgba(8, 47, 77, 0.97) 0%, rgba(8, 47, 77, 0.38) 60%, rgba(8, 47, 77, 0.04) 100%); }
  .jackson-purpose__media { min-height: 29rem; }
  .jackson-origin__layout,
  .jackson-recovery__layout,
  .jackson-purpose__panel { gap: 2rem; }

  .offer-overview__intro { position: static; }
  .offer-audience__next > div { justify-content: flex-start; }

  .events-hero {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
  }

  .events-hero__content { padding: clamp(2.5rem, 7vw, 4.5rem); }

  .events-hero--calendar { grid-template-columns: minmax(0, 1fr); }
  .events-hero--program { grid-template-columns: minmax(0, 1fr); }

  .story-principles { grid-template-columns: minmax(0, 1fr); }
  .story-principles article + article { border-left: 0; border-top: 1px solid var(--border); }

  .about-prose-flow {
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .about-prose-flow article + article {
    border-top: 6px solid var(--green-dark);
  }

  .home-mission__values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-mission__values article { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  .home-mission__values article + article { border-left: 0; }
  .home-mission__values article:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, 0.3); }
  .home-mission__values article:last-child { border-bottom: 0; grid-column: 1 / -1; }
  .home-priorities__grid { grid-template-columns: minmax(0, 1fr); }
  .home-priority { min-height: 25.5rem; }

  .value-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .value-rail article + article { border-left: 0; }
  .value-rail article { border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  .value-rail article:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, 0.3); }
  .value-rail article:last-child { border-bottom: 0; }

  .value-grid { grid-template-columns: repeat(3, 1fr); row-gap: 2.2rem; }
  .offer-grid { grid-template-columns: repeat(2, 1fr); }
  .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-path-grid { grid-template-columns: minmax(0, 1fr); }
  .directory-guidance__steps { grid-template-columns: minmax(0, 1fr); }
  .directory-guidance__steps li + li { border-left: 0; border-top: 1px solid var(--border); }

  .two-column-media,
  .who-panel,
  .directory-panel,
  .boundary-panel,
  .membership-grid,
  .membership-teaser,
  .give-section__inner,
  .contact-panel { grid-template-columns: minmax(0, 1fr); }

  .boundary-panel__details {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.38);
    padding-left: 0;
    padding-top: 1.5rem;
  }

  .who-panel figure { min-height: 26rem; }
  .membership-benefits { grid-template-columns: repeat(2, 1fr); }
  .involvement-hero__media { min-height: 28rem; }
  .involvement-process__layout > header { position: static; }
  .involvement-clarity__list { grid-template-columns: minmax(0, 1fr); }
  .involvement-clarity__list > div + div { border-left: 0; padding-left: 0; }
  .sponsorship-process__layout > header { position: static; }
  .sponsorship-faq__layout > header { position: static; }
  .giving-principle-grid { grid-template-columns: minmax(0, 1fr); }
  .giving-principle + .giving-principle { border-left: 0; padding-left: 0; }
  .giving-relationships__actions { justify-content: flex-start; }
  .contact-builder__intro { position: static; }
  .contact-hero__media { min-height: 25rem; }
  .journey-panel { justify-content: center; padding-top: 15rem; }
  .journey-panel__content { max-width: none; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 37.5rem) {
  :root { --radius-section: 28px; --section-space: 3.75rem; }
  .shell-wide { margin-inline: 0.65rem; }

  .prototype-banner__inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.1rem;
    justify-content: center;
    padding-block: 0.35rem;
  }

  .primary-header {
    gap: 0.4rem;
    grid-template-columns: minmax(7.1rem, 1fr) auto auto;
    min-height: 4.9rem;
  }
  .brand img { width: 7.6rem; }

  .header-actions .button--donate {
    border-radius: 12px;
    font-size: 0.69rem;
    min-height: 2.5rem;
    padding: 0.55rem 0.68rem;
  }

  .header-actions .button--donate::after { margin-left: 0.3rem; }

  .menu-toggle__label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .primary-nav { height: calc(100vh - 6.9rem); width: 80%; }

  .hero {
    background-position: 50% 58%;
    min-height: 37rem;
  }

  .hero::after {
    background: linear-gradient(360deg, rgba(16, 61, 97, 0.98) 0%, rgba(16, 61, 97, 0.84) 45%, rgba(16, 61, 97, 0.12) 82%);
  }

  .hero__content { gap: 1.5rem; padding-bottom: 2.5rem; }
  h1 { font-size: clamp(2.35rem, 12vw, 3.1rem); }
  h2 { font-size: clamp(1.75rem, 8vw, 2.2rem); }

  .media-frame--top-right { border-top-right-radius: 60px; }
  .media-frame--bottom-left { border-bottom-left-radius: 60px; }

  .value-grid,
  .offer-grid,
  .model-grid,
  .membership-benefits,
  .footer-grid { grid-template-columns: minmax(0, 1fr); }

  .value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .value-card--text { grid-column: 1 / -1; }

  .value-rail { grid-template-columns: minmax(0, 1fr); }
  .value-rail article:nth-child(even) { border-left: 0; }

  .home-mission__values { grid-template-columns: minmax(0, 1fr); }
  .home-mission__values article,
  .home-mission__values article:nth-child(even) { border-left: 0; }
  .home-mission__values article:last-child { grid-column: auto; }
  .home-priority { min-height: 22.5rem; padding: 2.5rem 1.5rem; }
  .home-priority .button { width: 100%; }

  .audience-editorial { grid-template-columns: minmax(0, 1fr); }
  .audience-editorial article {
    gap: 0.8rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .about-route-line { align-items: start; }

  .image-card { min-height: 23rem; }
  .who-panel figure { min-height: 20rem; }
  .who-panel__content { padding: 2rem 1.35rem; }
  .audience-links a { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 0.65rem; }

  .directory-panel { padding: 2rem 1.3rem; }
  .journey-panel { background-position: 24% 50%; padding: 12rem 0.8rem 0.8rem; }
  .journey-panel__content { padding: 1.5rem; }

  .interior-hero {
    background-position: 50% 50%;
    min-height: 23rem;
  }

  .interior-hero--about { background-position: 50% 55%; }

  .interior-hero::after {
    background: linear-gradient(360deg, rgba(16, 61, 97, 0.97) 0%, rgba(16, 61, 97, 0.72) 46%, rgba(16, 61, 97, 0.06) 86%);
  }

  .jackson-hero { min-height: 35rem; }
  .jackson-hero__media img { object-position: 39% 40%; }
  .jackson-hero__content { padding: 2rem 1.35rem; }
  .jackson-hero__content h1 { font-size: clamp(2.25rem, 9.5vw, 2.85rem); }
  .jackson-origin__story blockquote { margin-block: 1.5rem; }
  .story-principles article { grid-template-columns: 3.7rem minmax(0, 1fr); padding-inline: 0; }
  .story-principles img { height: 3.2rem; width: 3.2rem; }
  .jackson-purpose__media { min-height: 23rem; }
  .jackson-purpose__copy { padding: 2rem 1.35rem; }

  .offer-hero {
    min-height: 28rem;
  }

  .offer-hero__media img { object-position: 42% 50%; }
  .offer-hero__content { padding-bottom: 2.2rem; }

  .offer-service {
    gap: 1.2rem;
    grid-template-columns: 6rem minmax(0, 1fr);
  }

  .offer-service figure { border-radius: 14px; }

  .offer-audience__list article {
    gap: 0.7rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .offer-audience__next .button { width: 100%; }

  .events-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 37rem;
  }

  .events-hero__content {
    align-content: end;
    background: linear-gradient(0deg, rgba(8, 47, 77, 0.98) 0%, rgba(8, 47, 77, 0.88) 52%, rgba(8, 47, 77, 0.12) 100%);
    grid-column: 1;
    grid-row: 1;
    padding: 2.2rem 1.35rem;
    z-index: 2;
  }

  .events-hero__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 37rem;
  }

  .events-hero__media::after { display: none; }
  .events-hero__media img { object-position: center 38%; }
  .event-status__panel { padding: 1.75rem 1.25rem; }
  .event-path { min-height: 0; }
  .event-expectations__list li { grid-template-columns: minmax(0, 1fr); }
  .events-hero--calendar { min-height: 24rem; }
  .calendar-empty { padding: 1.75rem 1.25rem; }
  .calendar-empty__actions .button { width: 100%; }
  .events-hero--program { min-height: 27rem; }
  .events-hero--program .events-hero__content h1 { font-size: clamp(1rem, 9vw, 3.1rem); }
  .event-program-status__panel { padding: 1.75rem 1.25rem; }
  .event-program-actions .button { width: 100%; }

  .membership-hero {
    min-height: 0;
    padding: clamp(2.2rem, 7vw, 4rem);
  }

  .provider-hero { min-height: 0; padding: clamp(2.2rem, 7vw, 4rem); }
  .provider-directory__layout { grid-template-columns: minmax(0, 1fr); }
  .provider-filters {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }
  .provider-filters__heading { grid-column: 1 / -1; margin-bottom: 0; }
  .provider-filter-field { margin-bottom: 0; }
  .provider-filters__clear { align-self: end; }
  .directory-next-step__actions { justify-content: flex-start; }

  .membership-hero__content h1 { max-width: 18ch; }
  .membership-next-step__actions { justify-content: flex-start; }

  .story-bridge__inner { grid-template-columns: minmax(0, 1fr); }
  .story-bridge__mark { max-width: 12rem; }

  .about-next-panel {
    background-position: 24% 50%;
    padding: 12rem 0.8rem 0.8rem;
  }

  .about-next-panel__content { padding: 1.5rem; }

  .field-grid { grid-template-columns: minmax(0, 1fr); }
  .field-grid .field-grid__message { grid-column: auto; }

  .member-login-band__inner,
  .footer-bottom .shell {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
    justify-content: center;
    padding-block: 0.8rem;
  }

  .membership-hero { padding: 2.2rem 1.35rem; }
  .membership-hero__content h1 { font-size: clamp(2rem, 11vw, 3rem); }
  .membership-hero__audiences { padding: 1.5rem 1.25rem; }
  .membership-overview__copy { border-left: 0; border-top: 3px solid var(--green); padding: 1.3rem 0 0; }
  .membership-benefit { grid-template-columns: minmax(0, 1fr); }
  .membership-tier-grid { grid-template-columns: minmax(0, 1fr); }
  .membership-boundary__panel { padding: 2.2rem 1.35rem; }
  .membership-process__list li { grid-template-columns: minmax(0, 1fr); }
  .membership-next-step__actions { display: grid; width: 100%; }
  .membership-next-step__actions .button { width: 100%; }

  .provider-hero { padding: 2.2rem 1.35rem; }
  .provider-hero__content h1 { font-size: clamp(2rem, 11vw, 3rem); }
  .provider-hero__summary { padding: 1.5rem 1.25rem; }
  .provider-filters { grid-template-columns: minmax(0, 1fr); padding: 1.35rem; }
  .provider-filters__heading { grid-column: auto; }
  .provider-filters__clear { width: 100%; }
  .provider-results__heading { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
  .provider-card { padding: 1.35rem; }
  .provider-card__topline { align-items: flex-start; flex-direction: column; gap: 0.55rem; }
  .directory-discovery__filters li { grid-template-columns: minmax(0, 1fr); }
  .directory-profile__panel { padding: 2.2rem 1.35rem; }
  .directory-profile__facts { grid-template-columns: minmax(0, 1fr); }
  .directory-profile__facts li:nth-child(odd) { border-right: 0; padding-left: 1rem; }
  .directory-next-step__actions { display: grid; width: 100%; }
  .directory-next-step__actions .button { width: 100%; }

  .involvement-hero__content { padding: 2.4rem 1.35rem; }
  .involvement-hero__content h1 { font-size: clamp(2.15rem, 11vw, 3.25rem); max-width: 12ch; }
  .involvement-hero__media { background-position: 25% 50%; min-height: 23rem; }
  .involvement-hero__actions,
  .involvement-next-step__actions { display: grid; width: 100%; }
  .involvement-hero__actions .button,
  .involvement-next-step__actions .button { width: 100%; }
  .involvement-path-grid { grid-template-columns: minmax(0, 1fr); }
  .involvement-process__list li { grid-template-columns: minmax(0, 1fr); }
  .involvement-clarity__panel { padding: 2.2rem 1.35rem; }
  .involvement-next-step__actions { justify-content: flex-start; }

  .sponsorship-hero { min-height: 0; padding: 2.4rem 1.35rem; }
  .sponsorship-hero__content h1 { font-size: clamp(2.15rem, 10.5vw, 3.25rem); max-width: 12ch; }
  .sponsorship-hero__summary { padding: 1.5rem 1.25rem; }
  .sponsorship-hero__actions,
  .sponsorship-next-step__actions { display: grid; width: 100%; }
  .sponsorship-hero__actions .button,
  .sponsorship-next-step__actions .button { width: 100%; }
  .sponsorship-foundation-grid { grid-template-columns: minmax(0, 1fr); }
  .sponsorship-opportunities__layout,
  .corporate-champion__panel { padding: 2.2rem 1.35rem; }
  .sponsorship-opportunities__list article,
  .sponsorship-process__list li { grid-template-columns: minmax(0, 1fr); }
  .sponsorship-boundary__panel { padding: 2.2rem 1.35rem; }
  .sponsorship-next-step__actions { justify-content: flex-start; }
  .sponsorship-scope__panel,
  .sponsorship-next-step__panel { padding: 2.2rem 1.35rem; }
  .sponsorship-scope__columns,
  .sponsorship-element-grid { grid-template-columns: minmax(0, 1fr); }

  .donate-hero { min-height: 0; padding: 2.4rem 1.35rem; }
  .donate-hero__content h1 { font-size: clamp(2.15rem, 11vw, 3.2rem); max-width: 12ch; }
  .donation-builder { padding: 1.5rem 1.2rem; }
  .donation-builder__mark { right: 1.2rem; top: 1.35rem; }
  .donation-amounts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .donation-builder__actions,
  .giving-relationships__actions { display: grid; width: 100%; }
  .donation-builder__actions .button { width: 100%; }
  .giving-relationships__actions .button { width: 100%; }
  .donation-review__summary > div { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
  .donation-review__summary dd { text-align: left; }
  .other-giving__grid { grid-template-columns: minmax(0, 1fr); }
  .giving-clarity__panel,
  .giving-relationships__panel { padding: 2.2rem 1.35rem; }

  .contact-preview__panel,
  .contact-hero__content,
  .contact-paths__panel { padding: 2.2rem 1.35rem; }
  .contact-preview__actions,
  .contact-builder__actions { display: grid; width: 100%; }
  .contact-preview__actions .button,
  .contact-builder__actions .button { width: 100%; }
  .contact-hero__content h1 { font-size: clamp(2.15rem, 11vw, 3.25rem); max-width: 12ch; }
  .contact-hero__content .button { justify-self: stretch; width: 100%; }
  .contact-hero__media { min-height: 21rem; }
  .contact-safety { grid-template-columns: minmax(0, 1fr); }
  .contact-topic-grid,
  .contact-field-grid,
  .contact-response-options,
  .contact-paths__links { grid-template-columns: minmax(0, 1fr); }
  .contact-review__summary > div { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
  .contact-review__summary dd { text-align: left; }
  .contact-paths__links a + a { border-left: 0; padding-left: 0; }

  .footer-nav nav {
    background: transparent;
    border-radius: 0;
    flex-direction: column;
    gap: 0.65rem;
    text-align: center;
  }

  .review-drawer { bottom: 0.6rem; right: 0.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  .button,
  .mission-section,
  .mission-preview,
  .home-mission,
  .home-priority,
  .about-prose-flow article,
  .audience-editorial article,
  .model-card,
  .boundary-panel,
  .image-card,
  .who-panel,
  .directory-panel,
  .membership-benefits article,
  .journey-panel,
  .about-next-panel,
  .events-hero,
  .event-status__panel,
  .event-path,
  .event-expectations__panel,
  .calendar-empty,
  .calendar-standard__panel,
  .event-program-status__panel,
  .event-program-standard__panel,
  .provider-hero,
  .provider-hero__summary,
  .provider-filters,
  .provider-filter-field :where(input, select),
  .provider-card,
  .provider-results__empty,
  .directory-path,
  .directory-profile__panel,
  .directory-next-step__panel,
  .membership-hero,
  .membership-hero__audiences,
  .membership-review-status,
  .membership-tier,
  .membership-boundary__panel,
  .membership-next-step,
  .involvement-hero,
  .involvement-path,
  .involvement-process__list li,
  .involvement-clarity__panel,
  .involvement-next-step__panel,
  .sponsorship-hero,
  .sponsorship-hero__summary,
  .sponsorship-foundation,
  .sponsorship-opportunities__layout,
  .corporate-champion__panel,
  .sponsorship-scope__panel,
  .sponsorship-element,
  .sponsorship-boundary__panel,
  .sponsorship-next-step__panel,
  .sponsorship-faq__list details,
  .donate-hero,
  .donation-builder,
  .donation-choice,
  .donation-custom__control,
  .donation-text-field input,
  .donation-extra__fields,
  .donation-review__summary > div,
  .donation-payment-status,
  .other-giving__grid article,
  .giving-clarity__panel,
  .giving-principle,
  .giving-relationships__panel,
  .contact-preview__panel,
  .contact-hero,
  .contact-safety,
  .contact-builder__surface,
  .contact-topic,
  .contact-field-grid input,
  .contact-message textarea,
  .contact-errors,
  .contact-review__summary > div,
  .contact-send-status,
  .contact-paths__panel,
  .contact-panel { border: 2px solid CanvasText; }

  .donate-hero::before,
  .donation-builder::before,
  .contact-builder__surface::before { display: none; }

  :where(a, button, summary, [tabindex]):focus-visible {
    box-shadow: none;
    outline-color: CanvasText;
  }
}

@media print {
  .prototype-banner,
  .menu-toggle,
  .review-drawer { display: none; }
}

@media (max-width: 62rem) {
  .membership-application-hero,
  .membership-application__layout,
  .membership-application-boundaries__panel { grid-template-columns: minmax(0, 1fr); }
  .membership-application-hero > aside { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.2); }
  .membership-application__intro { position: static; }
  .legal-hero,
  .legal-layout { grid-template-columns: minmax(0, 1fr); }
  .legal-hero__summary { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.24); }
  .legal-toc { position: static; }
  .legal-toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-toc a:nth-child(even) { padding-left: 1rem; }
}

@media (max-width: 52rem) {
  .membership-progress li { justify-content: center; }
  .membership-progress strong { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
}

@media (max-width: 42rem) {
  .membership-tier__action { align-self: stretch; width: 100%; }
  .membership-application-hero { border-radius: var(--radius-card); }
  .membership-application-hero > div,
  .membership-application-hero > aside { padding: 2.2rem 1.35rem; }
  .membership-application-hero h1 { font-size: clamp(2.05rem, 11vw, 3rem); }
  .membership-progress { gap: 0.25rem; padding-inline: 0.75rem; }
  .membership-progress li:not(:last-child)::after { left: calc(100% - 0.4rem); right: 0.4rem; }
  .membership-plan-grid,
  .membership-field-grid { grid-template-columns: minmax(0, 1fr); }
  .membership-checkbox-grid { grid-template-columns: minmax(0, 1fr); }
  .membership-plan > span { min-height: 8.5rem; }
  .membership-form__actions { display: grid; }
  .membership-form__actions .button { width: 100%; }
  .membership-review__summary div { gap: 0.35rem; grid-template-columns: minmax(0, 1fr); }
  .membership-field-meta { display: grid; }
  .legal-hero { border-radius: var(--radius-card); }
  .legal-hero__content,
  .legal-hero__summary { padding: 2.2rem 1.35rem; }
  .legal-hero__content h1 { font-size: clamp(2.35rem, 12vw, 3.25rem); }
  .legal-toc nav { grid-template-columns: minmax(0, 1fr); }
  .legal-toc a:nth-child(even) { padding-left: 0; }
  .legal-copy { border-radius: var(--radius-card); padding: 1.35rem; }
  .footer-legal-links { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
}
