:root {
  --ease-calm: cubic-bezier(.22, 1, .36, 1);
  --shadow-soft: 0 10px 28px rgba(11, 40, 50, .045);
  --shadow-raised: 0 16px 38px rgba(11, 40, 50, .065);
}

body {
  background: #f6f8f5;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
::selection { color: #0b2832; background: #bde9d1; }
.site-header {
  background: rgba(248, 250, 247, .92);
  box-shadow: 0 4px 18px rgba(11, 40, 50, .02);
}
.nav-row { min-height: 88px; }
.brand { letter-spacing: -1.5px; }
.nav-links { letter-spacing: .01em; }
.language-switch select {
  border-color: #c7d8d1;
  border-radius: 6px;
  box-shadow: 0 2px 7px rgba(11, 40, 50, .035);
}

.hero {
  padding: clamp(92px, 9vw, 138px) 0 52px;
  background: linear-gradient(132deg, #f9faf7 0%, #f2f6f1 55%, #e9f1ec 100%);
}
.hero-layout { gap: clamp(54px, 6vw, 96px); }
.hero .eyebrow { letter-spacing: 1.55px; }
h1 { font-weight: 600; letter-spacing: -3.2px; line-height: 1.075; }
.hero-copy { line-height: 1.65; }
.hero-vision { margin-top: -5px; line-height: 1.72; }
.signal-card {
  border: 1px solid rgba(156, 232, 187, .14);
  border-radius: 9px;
  background: linear-gradient(148deg, #16424b 0%, #0b2832 64%, #12333b 100%);
  box-shadow: 0 23px 52px rgba(11, 40, 50, .12);
}
.hero-strip { margin-top: 78px; padding-top: 25px; }

section { padding: clamp(100px, 9vw, 132px) 0; border-top-color: #dce6e0; }
.section-head { gap: clamp(40px, 5vw, 76px); }
.section-kicker { font-size: 12px; letter-spacing: 1.45px; }
.section-head h2 { max-width: 760px; font-weight: 600; letter-spacing: -1.55px; line-height: 1.16; }
.section-head .lead { line-height: 1.68; }
.lead { font-size: 19px; }
.supporting { line-height: 1.75; }
.challenge-grid { gap: 26px; margin-top: 56px; }
.challenge-card {
  padding: 38px;
  border: 1px solid #dce7e1;
  border-top: 3px solid var(--teal);
  border-radius: 6px;
  box-shadow: var(--shadow-soft);
}
.challenge-card.alt {
  border-color: #e7dbca;
  border-top-color: #b28c5d;
  background: linear-gradient(155deg, #fbf9f4 0%, #f5efe4 100%);
}
.challenge-card h3 { font-weight: 600; }

.dark-section { background: linear-gradient(143deg, #0b2832 0%, #103640 67%, #16434a 100%); }
.platform-grid { gap: 24px; margin-top: 54px; }
.platform-card {
  padding: 32px 30px;
  border-color: rgba(190, 221, 214, .26);
  border-radius: 6px;
  background: rgba(255, 255, 255, .038);
  box-shadow: 0 10px 24px rgba(0, 16, 20, .045);
}
.platform-card .number { margin-bottom: 50px; }
.platform-card h3 { font-weight: 600; }
.platform-footnote { margin-top: 28px; }

.audience-grid { gap: 32px; margin-top: 54px; }
.audience-card { padding: 30px 4px 0; }
.audience-card h3 { font-weight: 600; }
.audience-card p { line-height: 1.72; }

.stage { background: linear-gradient(130deg, #eaf3ed 0%, #eff5ee 59%, #f5f7f0 100%); }
.stage-timeline { gap: 24px; margin-top: 46px; }
.stage-step {
  padding: 25px 25px 28px;
  border: 1px solid #d3e2d9;
  border-top: 2px solid #7ca994;
  border-radius: 5px;
  background: rgba(255, 255, 255, .52);
  box-shadow: 0 10px 25px rgba(11, 40, 50, .035);
}
.stage-note { margin-top: 40px; background: rgba(255, 255, 255, .68); }

.team { background: #fbfcfa; }
.team-subhead { margin-top: 48px; }
.team-grid, .advisor-grid { margin-top: 22px; }
.person {
  padding: 30px;
  border-color: #dce6df;
  border-radius: 6px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.person .monogram { background: linear-gradient(140deg, #e6f3e9, #cfe8da); }
.person h3 { font-weight: 600; }

.contact {
  padding: clamp(96px, 9vw, 126px) 0;
  background: linear-gradient(118deg, #0a5f50 0%, #0d765f 66%, #127d68 100%);
}
.contact-layout { gap: 64px; }
.site-footer { padding: 44px 0 52px; }
.site-footer p { line-height: 1.65; }

.button { border-radius: 5px; }
.button-primary { box-shadow: 0 7px 18px rgba(11, 40, 50, .10); }
.button-secondary { border-color: #a7beb3; background: rgba(255, 255, 255, .35); }
.nav-contact { border-radius: 5px; }

.button, .nav-contact, .language-switch select, .person, .challenge-card, .platform-card {
  transition: transform .45s var(--ease-calm), box-shadow .45s var(--ease-calm),
    background-color .35s ease, border-color .35s ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(11, 40, 50, .12); }
.challenge-card:hover, .person:hover { box-shadow: var(--shadow-raised); }
.platform-card:hover { border-color: rgba(190, 221, 214, .44); }
.nav-contact:hover { box-shadow: 0 8px 20px rgba(11, 40, 50, .10); }

.motion-ready .reveal-item {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity .78s var(--ease-calm), transform .78s var(--ease-calm);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready .reveal-item.in-view { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .hero-layout { gap: 52px; }
  .contact-layout { gap: 20px; }
}
@media (max-width: 640px) {
  .nav-row { min-height: 78px; }
  .hero { padding: 68px 0 38px; }
  .hero-strip { margin-top: 52px; }
  section { padding: 76px 0; }
  .challenge-grid, .platform-grid, .audience-grid, .stage-timeline { margin-top: 36px; }
  .challenge-card, .platform-card, .person { padding: 26px; }
  .platform-card .number { margin-bottom: 26px; }
  .stage-step { padding: 23px; }
  .team-subhead { margin-top: 38px; }
  .contact { padding: 78px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready .reveal-item { opacity: 1; transform: none; transition: none; }
  .button, .nav-contact, .language-switch select, .person, .challenge-card, .platform-card { transition: none; }
  .button:hover, .challenge-card:hover, .person:hover, .platform-card:hover { transform: none; }
}
