@font-face {
  font-family: "GE SS Two";
  src: url("/fonts/ge-ss-two-light.otf") format("opentype");
  font-weight: 300 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "GE SS Two";
  src: url("/fonts/ge-ss-text-medium.otf") format("opentype");
  font-weight: 500 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "GE SS Two";
  src: url("/fonts/ge-ss-two-bold.otf") format("opentype");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Myriad Pro";
  src: url("/fonts/myriad-pro-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Myriad Pro";
  src: url("/fonts/myriad-pro-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --night: #0e0c30;
  --night-2: #17144d;
  --clematis: #2c2f7f;
  --royal: #4b52a2;
  --azure: #5690cc;
  --turquoise: #00b6b6;
  --sky: #00cbec;
  --green: #00a777;
  --paper: #f6f8fc;
  --paper-blue: #edf3fb;
  --ink: #13183b;
  --body: #526077;
  --white: #ffffff;
  --line: rgba(19, 24, 59, 0.12);
  --pad: clamp(1.25rem, 5vw, 5.75rem);
  --radius: 1.5rem;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: "GE SS Two", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  overflow-x: hidden;
}

:lang(en),
[dir="ltr"] {
  font-family: "Myriad Pro", Arial, sans-serif;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
  position: fixed;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 100;
  padding: 0.65rem 1rem;
  background: var(--white);
  color: var(--night);
  transform: translateY(-200%);
  transition: transform 180ms ease;
}

.skip-link:focus { transform: translateY(0); }

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

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 30;
  padding: 1.1rem var(--pad);
}

.nav-wrap {
  width: min(1480px, 100%);
  min-height: 5rem;
  margin: 0 auto;
  padding: 0.55rem 0.75rem 0.55rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  background: rgba(255,255,255,.94);
  box-shadow: 0 1rem 3rem rgba(3,3,18,.16);
  backdrop-filter: blur(18px);
}

.brand {
  width: clamp(9.2rem, 12vw, 11rem);
  display: block;
}

.brand img { width: 100%; }

.main-nav {
  display: flex;
  align-items: center;
  gap: clamp(1.2rem, 2.2vw, 2.3rem);
  color: #343a60;
  font-size: 0.86rem;
  font-weight: 500;
}

.main-nav a:not(.nav-contact) {
  position: relative;
  padding: .5rem 0;
}

.main-nav a:not(.nav-contact)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: .15rem;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: var(--turquoise);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after { transform: scaleX(1); }

.nav-contact {
  padding: 0.68rem 1.15rem;
  border-radius: .7rem;
  background: var(--clematis);
  color: var(--white);
  transition: background 180ms ease, transform 180ms ease;
}

.nav-contact:hover,
.nav-contact:focus-visible {
  background: var(--turquoise);
  transform: translateY(-1px);
}

.menu-toggle {
  display: none;
  width: 2.7rem;
  height: 2.7rem;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: .65rem;
  background: var(--paper-blue);
  cursor: pointer;
}

.menu-toggle i {
  display: block;
  width: 1.1rem;
  height: 1px;
  margin: .34rem auto;
  background: var(--night);
  transition: transform 180ms ease;
}

.hero {
  min-height: 100svh;
  padding: 10rem var(--pad) 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgba(14,12,48,.98) 0%, rgba(23,20,77,.96) 45%, rgba(44,47,127,.9) 100%),
    var(--night);
  color: var(--white);
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 7rem 7rem;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 80%);
}

.hero-glow {
  position: absolute;
  z-index: -2;
  border-radius: 50%;
  filter: blur(10px);
  pointer-events: none;
}

.hero-glow-one {
  width: 42rem;
  height: 42rem;
  left: -13rem;
  top: 5rem;
  background: radial-gradient(circle, rgba(86,144,204,.48), transparent 68%);
}

.hero-glow-two {
  width: 30rem;
  height: 30rem;
  right: 15%;
  bottom: -15rem;
  background: radial-gradient(circle, rgba(0,182,182,.24), transparent 65%);
}

.hero-pattern {
  position: absolute;
  z-index: -1;
  width: min(40vw, 36rem);
  aspect-ratio: 1;
  top: 8rem;
  left: -8rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  box-shadow:
    0 0 0 5rem rgba(255,255,255,.018),
    0 0 0 10rem rgba(255,255,255,.012);
}

.hero-inner {
  width: min(1180px, 100%);
  min-height: calc(100svh - 17rem);
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.hero-copy { width: 100%; padding-block: clamp(3rem, 8vw, 7rem); }

.eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: #bcdaf4;
  font-size: .83rem;
  font-weight: 500;
}

.eyebrow-dot {
  width: .48rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--turquoise);
  box-shadow: 0 0 1rem rgba(0,182,182,.8);
}

.hero h1,
.section h2,
.contact h2 {
  margin: 0;
  font-weight: 600;
  letter-spacing: -.045em;
}

.hero h1 {
  max-width: 1050px;
  margin-top: 1.3rem;
  font-size: clamp(3.3rem, 7vw, 7.6rem);
  line-height: 1.08;
}

.hero h1 span { color: #8ed9f3; }

.hero-copy > p {
  max-width: 760px;
  margin: 1.6rem 0 0;
  color: rgba(255,255,255,.7);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 2;
  font-weight: 300;
}

.hero-actions {
  margin-top: 2.3rem;
  display: flex;
  align-items: center;
  gap: 1.4rem;
}

.button {
  min-height: 3.25rem;
  padding: .82rem 1.25rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  font-size: .88rem;
  font-weight: 600;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.button:hover,
.button:focus-visible { transform: translateY(-2px); }

.button svg {
  width: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  transform: scaleX(-1);
}

.button-primary {
  background: var(--turquoise);
  color: var(--night);
  box-shadow: 0 1rem 3rem rgba(0,182,182,.18);
}

.button-primary:hover,
.button-primary:focus-visible { background: #4ed0d0; }

.button-link {
  min-height: auto;
  padding-inline: .2rem;
  border-radius: 0;
  color: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(255,255,255,.3);
}

.hero-facts {
  width: min(1480px, 100%);
  margin: 0 auto;
  min-height: 7rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,.12);
}

.hero-facts > div {
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-left: 1px solid rgba(255,255,255,.12);
}

.hero-facts > div:last-child { border-left: 0; }
.hero-facts strong { color: #8ed9f3; font-size: clamp(1.35rem, 2.2vw, 2rem); direction: ltr; }
.hero-facts span { color: rgba(255,255,255,.58); font-size: .78rem; }

.section { padding: clamp(5.5rem, 10vw, 10rem) var(--pad); }

.section-heading,
.impact-heading,
.strategy-heading,
.leadership-heading,
.governance-heading,
.programs-heading,
.media-heading,
.about-grid,
.values,
.stats-grid,
.program-grid,
.program-tracks,
.strategy-list,
.executive,
.board-heading,
.board-grid,
.governance-grid,
.media-grid,
.action-links-grid,
.faq-list {
  width: min(1480px, 100%);
  margin-inline: auto;
}

.section-label {
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--royal);
  font-size: .75rem;
  font-weight: 600;
}

.section-label span {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(75,82,162,.24);
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-size: .62rem;
}

.section-label.light { color: #94dbf3; }
.section-label.light span { border-color: rgba(148,219,243,.3); }

.section h2 {
  font-size: clamp(2.7rem, 5.6vw, 6.1rem);
  line-height: 1.15;
}

.about { background: var(--paper); }

.about-grid {
  margin-top: clamp(3.5rem, 7vw, 7rem);
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(3rem, 9vw, 9rem);
  align-items: start;
}

.about-statement > p {
  margin: 0;
  color: #354260;
  font-size: clamp(1.22rem, 2vw, 1.65rem);
  line-height: 2;
  font-weight: 400;
}

.vision-cards { display: grid; gap: 1rem; }

.vision-cards article {
  padding: clamp(1.7rem, 3vw, 2.7rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 1.3rem 4rem rgba(44,47,127,.06);
}

.vision-cards article:nth-child(2) { background: var(--paper-blue); }
.mini-label { color: var(--azure); font-size: clamp(.9rem, 1.15vw, 1.05rem); font-weight: 600; }
.vision-cards h3 { margin: .75rem 0 .8rem; font-size: clamp(1.7rem, 2.5vw, 2.45rem); line-height: 1.35; }
.vision-cards p { margin: 0; color: var(--body); font-size: 1rem; }

.values {
  margin-top: clamp(4rem, 8vw, 8rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.values > div {
  min-height: 8rem;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  border-left: 1px solid var(--line);
}

.values > div:last-child { border-left: 0; }
.values span { color: var(--azure); font-size: clamp(.95rem, 1.25vw, 1.15rem); font-weight: 600; }
.values strong { font-size: clamp(1.3rem, 2vw, 1.8rem); }

.journey-section {
  display: grid;
  grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
  gap: clamp(4rem, 9vw, 10rem);
  background: var(--night);
  color: var(--white);
}

.journey-intro { align-self: start; position: sticky; top: 2rem; }
.journey-intro p { max-width: 430px; color: rgba(255,255,255,.58); font-weight: 300; }

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

.timeline li {
  min-height: 9rem;
  padding: 1.9rem 0;
  display: grid;
  grid-template-columns: 6rem .8fr 1.2fr;
  align-items: center;
  gap: 1.3rem;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.timeline time { color: #8ed9f3; font-size: 1.1rem; font-weight: 600; direction: ltr; }
.timeline strong { font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.timeline span { color: rgba(255,255,255,.56); font-size: .88rem; }

.impact { background: var(--paper-blue); }
.impact-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: end; }
.impact-heading .section-label { grid-column: 1 / -1; margin-bottom: 0; }
.impact-heading em { color: var(--royal); font-style: normal; }
.impact-heading > p { max-width: 470px; margin: 0 0 .7rem; color: var(--body); }

.stats-grid {
  margin-top: clamp(3rem, 7vw, 6rem);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.stat-card {
  min-height: 15rem;
  padding: 1.7rem;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  background: rgba(255,255,255,.72);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.stat-card:hover { transform: translateY(-.35rem); box-shadow: 0 1.2rem 3rem rgba(44,47,127,.08); }
.stat-card-wide { grid-column: span 2; background: var(--white); }
.stat-card-accent { grid-column: span 2; background: var(--clematis); color: var(--white); }
.stat-card > span { max-width: 210px; color: var(--body); font-size: .78rem; }
.stat-card-accent > span { color: rgba(255,255,255,.62); }
.stat-card strong { color: var(--clematis); font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1; direction: ltr; text-align: right; }
.stat-card-accent strong { color: #98e5f7; }
.stat-card strong b { color: var(--turquoise); font-size: .5em; font-weight: 500; }
.stat-card p { margin: 0; color: var(--body); font-size: .82rem; }

.programs { background: var(--night); color: var(--white); }

.programs-heading {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 3rem;
  align-items: end;
}

.programs-heading > p { max-width: 440px; margin: 0 0 .5rem; color: rgba(255,255,255,.56); }

.program-tracks {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.program-tracks button {
  min-height: 3rem;
  padding: .65rem 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.68);
  font: inherit;
  font-size: .83rem;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.program-tracks button:hover,
.program-tracks button:focus-visible,
.program-tracks button.active {
  border-color: var(--turquoise);
  background: var(--turquoise);
  color: var(--night);
}

.program-empty {
  grid-column: 1 / -1;
  min-height: 12rem;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(255,255,255,.2);
  border-radius: 1.2rem;
  color: rgba(255,255,255,.6);
  text-align: center;
}

.program-grid {
  margin-top: clamp(3rem, 7vw, 6rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.program-card {
  min-height: 34rem;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 1.25rem;
  background: #171543;
  display: grid;
  grid-template-rows: 1fr auto;
}

.program-card-large { grid-column: span 2; grid-template-columns: 1.05fr .95fr; grid-template-rows: none; }
.program-card-wide { grid-column: span 2; grid-template-columns: .9fr 1.1fr; grid-template-rows: none; }
.program-card::before {
  content: "";
  position: absolute;
  width: 22rem;
  height: 22rem;
  border: 1px solid rgba(86,144,204,.16);
  border-radius: 50%;
  left: -9rem;
  top: -9rem;
  box-shadow: 0 0 0 4rem rgba(86,144,204,.025);
}

.program-card:nth-child(2) { background: #24215d; }
.program-card:nth-child(3) { background: #142957; }
.program-card:nth-child(4) { background: #191653; }

.program-media {
  min-height: 18rem;
  padding: 2rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  z-index: 1;
  background: radial-gradient(circle at 50% 100%, rgba(86,144,204,.28), transparent 60%);
}

.program-media img { max-height: 23rem; width: auto; object-fit: contain; filter: drop-shadow(0 1.2rem 1.5rem rgba(0,0,0,.28)); }

.program-body {
  padding: clamp(1.7rem, 3.5vw, 3.25rem);
  position: relative;
  z-index: 2;
}

.program-body > span { color: #8ed9f3; font-size: .7rem; font-weight: 500; }
.program-body h3 { margin: .5rem 0 .75rem; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.25; }
.program-body p { max-width: 550px; margin: 0; color: rgba(255,255,255,.58); font-size: .9rem; font-weight: 300; }
.program-body strong { display: block; margin-top: 1.4rem; color: #8fe0df; font-size: .8rem; }

.program-card-text {
  min-height: 27rem;
  padding-top: 4rem;
  background: linear-gradient(135deg, var(--clematis), #24215d);
}

.program-number {
  padding-inline: 3rem;
  color: rgba(255,255,255,.12);
  font-size: 7rem;
  line-height: 1;
  font-weight: 700;
}

.strategy { background: var(--white); }

.strategy-heading {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 3rem;
  align-items: start;
}

.strategy-heading .section-label { margin-top: .7rem; font-size: clamp(.95rem, 1.4vw, 1.2rem); }
.strategy-heading .section-label span { width: 2.5rem; height: 2.5rem; font-size: .82rem; }

.strategy-list {
  margin-top: clamp(3.5rem, 8vw, 7rem);
  border-top: 1px solid var(--line);
}

.strategy-list article {
  min-height: 10rem;
  padding: 2rem 0;
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 2rem;
  align-items: center;
  border-bottom: 1px solid var(--line);
  transition: padding 220ms ease, background 220ms ease;
}

.strategy-list article:hover { padding-inline: 1.5rem; background: var(--paper-blue); }
.strategy-list article > span { color: var(--azure); font-size: clamp(1rem, 1.4vw, 1.25rem); font-weight: 600; }
.strategy-list article > div { display: grid; grid-template-columns: .7fr 1.3fr; gap: 3rem; align-items: center; }
.strategy-list h3 { margin: 0; font-size: clamp(1.7rem, 2.8vw, 2.7rem); line-height: 1.3; }
.strategy-list p { max-width: 650px; margin: 0; color: var(--body); font-size: 1.05rem; }

.board-section,
.leadership { background: linear-gradient(145deg, var(--night), #15134a); color: var(--white); }
.leadership { background: linear-gradient(145deg, #15134a, #1c1a59); }

.leadership-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 3rem;
  align-items: end;
}

.leadership-heading .section-label { grid-column: 1 / -1; margin-bottom: 0; }
.leadership-heading > p { max-width: 470px; margin: 0 0 .7rem; color: rgba(255,255,255,.56); }

.executive {
  min-height: 32rem;
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding: 0 clamp(2rem, 5vw, 5rem);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(300px,.8fr) 1.2fr;
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.4rem;
  background: linear-gradient(115deg, rgba(86,144,204,.14), rgba(75,82,162,.05));
}

.executive::before {
  content: "";
  position: absolute;
  width: 31rem;
  height: 31rem;
  right: -13rem;
  top: -15rem;
  border: 1px solid rgba(142,217,243,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(142,217,243,.025);
}

.executive-photo { height: 31rem; align-self: end; display: flex; align-items: end; justify-content: center; }
.executive-photo img { max-height: 100%; filter: drop-shadow(0 1.3rem 2rem rgba(0,0,0,.3)); }
.executive-copy { position: relative; z-index: 2; }
.executive-copy > span { color: #8ed9f3; font-size: .75rem; }
.executive-copy h3 { margin: .6rem 0 1rem; font-size: clamp(2.4rem, 4.5vw, 5rem); line-height: 1.1; }
.executive-copy p { max-width: 580px; margin: 0; color: rgba(255,255,255,.62); font-size: 1rem; font-weight: 300; }
.executive-mark { position: absolute; left: 2rem; bottom: .2rem; color: rgba(255,255,255,.04); font-size: 13rem; line-height: 1; }

.board-heading {
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-bottom: 1.3rem;
  border-bottom: 1px solid rgba(255,255,255,.13);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

.board-heading h3 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.board-heading span { color: rgba(255,255,255,.45); font-size: .77rem; }

.board-grid {
  margin-top: clamp(3rem, 6vw, 5rem);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .75rem;
}

.person-card { min-width: 0; }
.person-photo {
  aspect-ratio: .84;
  overflow: hidden;
  border-radius: 1rem;
  background: linear-gradient(165deg, #2c2f7f, #171443);
  display: flex;
  align-items: end;
  justify-content: center;
}

.person-photo img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; transition: transform 300ms ease; }
.person-card:hover .person-photo img { transform: scale(1.025); }
.person-card h4 { margin: 1rem 0 .1rem; font-size: 1rem; }
.person-card .person-role { margin: 0; color: #94dbf3; font-size: .75rem; }
.person-card .person-bio { margin: .65rem 0 0; color: rgba(255,255,255,.56); font-size: .875rem; line-height: 1.85; white-space: pre-line; }
.person-card-no-photo .person-photo img { width: 38%; height: auto; align-self: center; opacity: .5; filter: saturate(.3); }

.governance { background: var(--paper-blue); }
.governance-heading { text-align: center; }
.governance-heading .section-label { justify-content: center; }
.governance-heading p { margin: 1.2rem 0 0; color: var(--body); }

.governance-grid {
  margin-top: clamp(3rem, 7vw, 6rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.governance-grid article {
  min-height: 24rem;
  padding: 2rem;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.score-ring {
  width: clamp(10rem, 16vw, 14rem);
  aspect-ratio: 1;
  position: relative;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--turquoise) calc(var(--score) * 1%), #e3e9f4 0);
}

.score-ring::before {
  content: "";
  position: absolute;
  inset: .75rem;
  border-radius: 50%;
  background: var(--white);
}

.score-ring strong { position: relative; color: var(--clematis); font-size: clamp(1.7rem, 3vw, 2.5rem); direction: ltr; }
.score-ring small { color: var(--azure); font-size: .55em; }
.governance-grid h3 { margin: 1.5rem 0 0; font-size: 1.1rem; }

.media-center { background: var(--paper); }
.media-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: end; }
.media-heading .section-label { grid-column: 1 / -1; margin-bottom: 0; }
.media-heading > p { max-width: 470px; margin: 0 0 .7rem; color: var(--body); }
.media-grid { margin-top: clamp(3rem, 7vw, 6rem); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.media-card { overflow: hidden; border: 1px solid var(--line); border-radius: 1.25rem; background: var(--white); box-shadow: 0 1.2rem 3rem rgba(44,47,127,.06); display: flex; flex-direction: column; }
.media-card-image { aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper-blue); }
.media-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 280ms ease; }
.media-card:hover .media-card-image img { transform: scale(1.025); }
.media-card-body { min-height: 15rem; padding: 1.4rem; display: flex; flex: 1; flex-direction: column; }
.media-card h3 { margin: 0 0 .65rem; font-size: clamp(1.25rem, 1.8vw, 1.65rem); line-height: 1.45; }
.media-card p { margin: 0; color: var(--body); }
.media-card a,
.action-link-card a { width: fit-content; margin-top: 1.2rem; padding: .62rem .9rem; display: inline-flex; border-radius: .65rem; background: var(--clematis); color: var(--white); font-size: .82rem; }
.media-card a { margin-top: auto; }
.media-card a:hover,
.action-link-card a:hover { background: var(--turquoise); color: var(--night); }

.action-links-grid { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.action-link-card { min-height: 12rem; padding: 1.4rem; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); }
.action-link-card h3 { margin: 0 0 .55rem; font-size: 1.25rem; }
.action-link-card p { margin: 0; color: var(--body); }
.action-link-card a { margin-top: auto; }

.satisfaction { background: var(--white); }
.section-heading > p { max-width: 600px; margin: 1.1rem 0 0; color: var(--body); }
.faq { background: var(--paper-blue); }
.faq-list { margin-top: 3rem; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { min-height: 5rem; padding: 1.2rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; font-size: clamp(1.15rem, 1.7vw, 1.5rem); font-weight: 600; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; color: var(--azure); font-size: 1.7rem; font-weight: 300; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { max-width: 850px; margin: -.2rem 0 0; padding: 0 0 1.6rem; color: var(--body); font-size: 1rem; white-space: pre-line; }

.contact {
  min-height: 36rem;
  padding: clamp(5rem, 10vw, 9rem) var(--pad);
  position: relative;
  overflow: hidden;
  background: var(--clematis);
  color: var(--white);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
}

.contact-pattern {
  position: absolute;
  width: 36rem;
  height: 36rem;
  left: -8rem;
  top: -12rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(255,255,255,.025), 0 0 0 10rem rgba(255,255,255,.015);
}

.contact-copy,
.contact-links { position: relative; z-index: 2; }
.contact-copy > span { color: #a6e6f4; font-size: .8rem; }
.contact h2 { margin-top: .6rem; font-size: clamp(3.5rem, 7vw, 7.5rem); line-height: 1; }
.contact-copy p { max-width: 500px; color: rgba(255,255,255,.62); }

.contact-links { border-top: 1px solid rgba(255,255,255,.18); }
.contact-links > a {
  padding: 1.4rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.contact-links a span { color: rgba(255,255,255,.5); font-size: .72rem; }
.contact-links a strong { font-size: clamp(.9rem, 1.5vw, 1.1rem); }
.social-links { margin-top: 1.5rem; display: flex; gap: .7rem; color: #a6e6f4; }
.social-links a {
  width: 3rem;
  height: 3rem;
  border: 1px solid rgba(166,230,244,.35);
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.social-links a:hover,
.social-links a:focus-visible { background: var(--turquoise); border-color: var(--turquoise); color: var(--night); transform: translateY(-2px); }
.social-links svg { width: 1.2rem; height: 1.2rem; }
.social-links svg rect,
.social-links svg circle { fill: none; stroke: currentColor; stroke-width: 1.7; }
.social-links svg circle:last-child { fill: currentColor; stroke: none; }
.social-links svg path { fill: currentColor; stroke: none; }

.site-footer {
  padding: 2rem var(--pad);
  background: var(--white);
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 2rem;
  color: var(--body);
  font-size: .7rem;
}

.site-footer img { width: 8.5rem; }
.site-footer p { margin: 0; }

[data-reveal] {
  opacity: 0;
  transform: translateY(1.6rem);
  transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
}

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

.page-enter { animation: enter-up .75s cubic-bezier(.2,.75,.3,1) both; }
.delay-1 { animation-delay: .1s; }
.delay-2 { animation-delay: .22s; }
.delay-3 { animation-delay: .34s; }

@keyframes enter-up {
  from { opacity: 0; transform: translateY(1.5rem); }
  to { opacity: 1; transform: translateY(0); }
}

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

.downloads {
  background: var(--paper-blue);
}

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

.download-card {
  display: grid;
  gap: 1rem;
  min-height: 14rem;
  padding: 1.5rem;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  background: var(--white);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.download-card:hover,
.download-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 1.2rem 3rem rgba(14, 12, 48, 0.1);
}

.download-card span {
  width: fit-content;
  padding: 0.24rem 0.55rem;
  border-radius: 999px;
  background: rgba(86, 144, 204, 0.12);
  color: var(--clematis);
  font-size: 0.75rem;
}

.download-card h3 { margin: 0; font-size: 1.25rem; }
.download-card p { margin: 0; color: var(--body); }
.download-card strong { align-self: end; color: var(--clematis); }

[hidden] { display: none !important; }

@media (max-width: 1100px) {
  .menu-toggle { display: block; position: relative; z-index: 3; }
  .menu-toggle[aria-expanded="true"] i:nth-of-type(1) { transform: translateY(.17rem) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i:nth-of-type(2) { transform: translateY(-.17rem) rotate(-45deg); }

  .main-nav {
    position: absolute;
    top: .75rem;
    left: var(--pad);
    right: var(--pad);
    padding: 6.4rem 1.5rem 1.5rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.98);
    box-shadow: 0 1.5rem 4rem rgba(3,3,18,.22);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-.6rem);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  }

  .main-nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .main-nav a { padding: .85rem 0 !important; border-bottom: 1px solid var(--line); }
  .main-nav .nav-contact { margin-top: .8rem; text-align: center; border-bottom: 0; }

  .hero-inner { padding-top: 4rem; }
  .journey-section { grid-template-columns: 1fr; }
  .journey-intro { position: static; }
  .board-grid { grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
  .media-grid,
  .action-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .downloads-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  :root { --pad: 1.15rem; }
  .site-header { padding-top: .7rem; }
  .nav-wrap { min-height: 4.3rem; }
  .brand { width: 8rem; }

  .hero { padding-top: 8rem; }
  .hero-inner { min-height: auto; }
  .hero h1 { font-size: clamp(3rem, 13.8vw, 4.7rem); }
  .hero-copy > p { font-size: .95rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .button-link { width: fit-content; align-self: center; }
  .hero-facts { grid-template-columns: 1fr; padding: .6rem 0; }
  .hero-facts > div { min-height: 4.5rem; padding: .8rem 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .hero-facts > div:last-child { border-bottom: 0; }

  .section h2 { font-size: clamp(2.6rem, 12vw, 4.25rem); }
  .about-grid,
  .impact-heading,
  .programs-heading,
  .strategy-heading,
  .leadership-heading,
  .media-heading,
  .contact { grid-template-columns: 1fr; }

  .about-grid { gap: 2.5rem; }
  .about-statement > p { font-size: 1.1rem; }
  .values { grid-template-columns: 1fr; }
  .values > div { min-height: 5rem; border-left: 0; border-bottom: 1px solid var(--line); }
  .values > div:last-child { border-bottom: 0; }

  .timeline li { grid-template-columns: 4.5rem 1fr; min-height: auto; gap: .7rem; }
  .timeline span { grid-column: 2; }

  .impact-heading .section-label,
  .leadership-heading .section-label,
  .media-heading .section-label { grid-column: auto; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-card-wide,
  .stat-card-accent { grid-column: span 2; }
  .stat-card { min-height: 12rem; padding: 1.3rem; }
  .stat-card strong { font-size: clamp(1.7rem, 8vw, 2.5rem); }

  .program-grid { grid-template-columns: 1fr; }
  .program-tracks { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4rem; scrollbar-width: thin; }
  .program-tracks button { flex: 0 0 auto; }
  .program-card,
  .program-card-large,
  .program-card-wide { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 1fr auto; min-height: 31rem; }
  .program-media { min-height: 15rem; }
  .program-media img { max-height: 17rem; }

  .strategy-heading { gap: 1rem; }
  .strategy-list article { grid-template-columns: 2.5rem 1fr; gap: .8rem; }
  .strategy-list article > div { grid-template-columns: 1fr; gap: .7rem; }

  .executive { padding: 2rem 1.5rem 0; grid-template-columns: 1fr; gap: 1rem; }
  .executive-copy { grid-row: 1; }
  .executive-photo { height: 22rem; grid-row: 2; }
  .executive-mark { display: none; }
  .board-heading { align-items: start; flex-direction: column; gap: .4rem; }
  .board-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem .65rem; }

  .governance-grid { grid-template-columns: 1fr; }
  .governance-grid article { min-height: 20rem; }
  .media-grid,
  .action-links-grid { grid-template-columns: 1fr; }

  .contact { min-height: auto; gap: 2.5rem; }
  .contact h2 { font-size: 4rem; }
  .contact-links > a { align-items: start; flex-direction: column; gap: .25rem; }
  .social-links { flex-wrap: wrap; }

  .site-footer { grid-template-columns: 1fr; justify-items: center; gap: .4rem; text-align: center; }
  .downloads-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  [data-reveal] { opacity: 1; transform: none; }
}
