:root {
  --midnight: #2B2D42;
  --moss: #4E6E58;
  --aqua: #4CEBDF;
  --sand: #EDD4B2;
  --wet-sand: #D0A98F;
  --light-aqua: #D8FFFC;
  --ink: #202235;
  --muted: #62677a;
  --surface: #ffffff;
  --surface-soft: #f7f8fa;
  --border: #e6e8ed;
  --shadow: 0 18px 50px rgba(43, 45, 66, 0.10);
  --radius: 18px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.skip-link { position:absolute; left:-999px; top:8px; z-index:9999; background:#fff; padding:10px 14px; border-radius:8px; }
.skip-link:focus { left:12px; }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(43,45,66,.98);
  border-bottom: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 28px rgba(32,34,53,.12);
}
.nav { min-height: 88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; text-decoration:none; }
.brand img { width: 248px; height:auto; }
.nav-links { display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.nav-links a { text-decoration:none; font-weight:650; font-size:.95rem; color:#fff; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--aqua); }
.nav-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 20px; border-radius:999px; background:var(--aqua); color:var(--midnight) !important; }
.menu-toggle { display:none; border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff; border-radius:10px; width:44px; height:44px; font-size:1.3rem; }

.hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 84% 20%, rgba(76,235,223,.28), transparent 29%),
    radial-gradient(circle at 76% 88%, rgba(237,212,178,.46), transparent 36%),
    linear-gradient(135deg, #fbfcff 0%, #f5f7fa 100%);
  border-bottom:1px solid var(--border);
}
.hero::after { content:""; position:absolute; width:420px; height:420px; right:-140px; top:-160px; border:72px solid rgba(78,110,88,.08); border-radius:50%; }
.hero-grid { min-height: 620px; display:grid; grid-template-columns: 1.18fr .82fr; align-items:center; gap:72px; padding:84px 0; position:relative; z-index:2; }
.eyebrow { margin:0 0 18px; color:var(--moss); font-weight:800; letter-spacing:.13em; text-transform:uppercase; font-size:.78rem; }
h1, h2, h3 { color:var(--midnight); line-height:1.12; margin-top:0; letter-spacing:-.025em; }
h1 { font-size:clamp(2.8rem, 6vw, 5.2rem); margin-bottom:24px; max-width:900px; }
h2 { font-size:clamp(2rem, 4vw, 3.25rem); margin-bottom:18px; }
h3 { font-size:1.35rem; margin-bottom:10px; }
.lead { font-size:clamp(1.1rem, 2vw, 1.28rem); color:#4b5064; max-width:760px; margin:0 0 30px; }
.hero-actions, .cta-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border-radius:999px; text-decoration:none; font-weight:800; border:1px solid transparent; transition:.2s ease; }
.button-primary { background:var(--aqua); color:var(--midnight); }
.button-primary:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(43,45,66,.18); }
.button-secondary { background:#fff; border-color:#cfd3dc; color:var(--midnight); }
.button-secondary:hover { border-color:var(--moss); color:var(--moss); }

.hero-card { background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.95); box-shadow:var(--shadow); border-radius:26px; padding:28px; }
.hero-card .label { font-weight:800; font-size:.77rem; letter-spacing:.1em; text-transform:uppercase; color:var(--moss); margin-bottom:18px; }
.hero-card ul { list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.hero-card li { display:flex; gap:13px; align-items:flex-start; color:#3f4457; }
.hero-card li::before { content:""; width:10px; height:10px; margin-top:8px; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 5px rgba(76,235,223,.16); flex:0 0 auto; }

.hero-amplifier { position:relative; display:inline-block; z-index:0; }
.hero-amplifier::after { content:""; position:absolute; left:-.03em; right:-.03em; bottom:.05em; height:.17em; background:var(--aqua); opacity:.75; z-index:-1; border-radius:999px; }

.credibility { background:var(--midnight); color:#fff; }
.credibility-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); }
.credibility-item { padding:26px 20px; text-align:center; background:var(--midnight); font-weight:750; }

.section { padding:92px 0; }
.section-soft { background:var(--surface-soft); }
.section-dark { background:var(--midnight); color:#fff; }
.section-dark h2, .section-dark h3 { color:#fff; }
.section-kicker { color:var(--moss); font-weight:800; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; margin:0 0 12px; }
.section-intro { max-width:760px; color:var(--muted); font-size:1.08rem; margin:0 0 42px; }
.section-dark .section-intro { color:#d8dbe5; }

.cards { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; }
.card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:32px; box-shadow:0 10px 30px rgba(43,45,66,.04); }
.card p { color:var(--muted); margin-bottom:20px; }
.card-link { font-weight:800; color:var(--moss); text-decoration:none; }
.card-link:hover { text-decoration:underline; }
.cards-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.audience-card { min-height:190px; display:flex; flex-direction:column; justify-content:flex-end; border-top:4px solid var(--aqua); }


.cards-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.impact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px; }
.impact-stat { border-radius:var(--radius); background:var(--midnight); color:#fff; padding:30px; border-top:5px solid var(--aqua); }
.impact-stat h3 { color:#fff; margin:8px 0 8px; }
.impact-stat p { margin:0; color:#d9dce6; }
.impact-number { color:var(--aqua); font-size:clamp(2rem,4vw,3rem); line-height:1; font-weight:850; letter-spacing:-.045em; }
.impact-number span { color:#fff; font-size:.72em; padding:0 .08em; }
.impact-note { margin:16px 0 0; font-size:.86rem; color:var(--muted); }
.stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.story-card { position:relative; background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:32px; box-shadow:0 10px 30px rgba(43,45,66,.04); }
.story-card::before { content:""; position:absolute; left:0; top:26px; bottom:26px; width:5px; background:var(--aqua); border-radius:0 999px 999px 0; }
.story-name { color:var(--midnight); font-weight:850; font-size:1.35rem; margin-bottom:10px; }
.story-card p { margin:0; color:var(--muted); }
.section-kicker-aqua { color:var(--aqua); }
.footer-affiliation { margin-top:34px; padding-top:18px; border-top:1px solid rgba(255,255,255,.10); color:#aeb4c3; font-size:.86rem; }
.footer-affiliation a { color:#dfe2e8; font-weight:700; }
.footer-affiliation a:hover { color:var(--aqua); }

.split { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.checklist { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.checklist li { position:relative; padding-left:32px; color:#50566a; }
.checklist li::before { content:"✓"; position:absolute; left:0; top:-1px; font-weight:900; color:var(--moss); }
.section-dark .checklist li { color:#e2e5ec; }

.page-hero { background:linear-gradient(145deg,#f7f9fb,#eef6f4); border-bottom:1px solid var(--border); padding:88px 0 72px; }
.page-hero h1 { max-width:950px; font-size:clamp(2.5rem,5vw,4.4rem); }
.page-hero .lead { max-width:820px; }

.callout { background:var(--light-aqua); border:1px solid rgba(76,235,223,.45); border-radius:24px; padding:34px; }
.callout h3 { margin-bottom:8px; }
.quote-block { border-left:5px solid var(--aqua); padding:12px 0 12px 28px; font-size:1.25rem; color:#44495b; }

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.contact-list { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; }
.contact-list a { color:var(--moss); font-weight:700; text-decoration:none; }
.form { display:grid; gap:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
label { display:grid; gap:8px; font-weight:700; color:var(--midnight); }
input, select, textarea { width:100%; font:inherit; border:1px solid #ccd1da; border-radius:11px; padding:13px 14px; background:#fff; color:var(--ink); }
textarea { min-height:150px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline:3px solid rgba(76,235,223,.25); border-color:var(--moss); }
.form-note { color:var(--muted); font-size:.9rem; margin:0; }

.cta-band { padding:72px 0; background:linear-gradient(120deg,var(--midnight),#383c59); color:#fff; }
.cta-band-inner { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.cta-band h2 { color:#fff; margin:0; max-width:760px; }
.cta-band .button-primary { background:var(--aqua); color:var(--midnight); white-space:nowrap; }

.site-footer { background:#202235; color:#cfd3df; padding:54px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:46px; }
.footer-logo { width:190px; filter:brightness(0) invert(1); opacity:.95; margin-bottom:20px; }
.site-footer h3 { color:#fff; font-size:1rem; margin-bottom:14px; }
.site-footer a { color:#dfe2e8; text-decoration:none; }
.site-footer a:hover { color:var(--aqua); }
.footer-links { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.footer-bottom { margin-top:40px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.88rem; }

@media (max-width: 960px) {
  .menu-toggle { display:inline-grid; place-items:center; }
  .nav-links { display:none; position:absolute; top:88px; left:0; right:0; background:var(--midnight); border-bottom:1px solid rgba(255,255,255,.12); padding:22px 24px 26px; flex-direction:column; align-items:flex-start; gap:18px; box-shadow:0 18px 28px rgba(43,45,66,.08); }
  .nav-links.open { display:flex; }
  .nav-cta { width:100%; }
  .hero-grid, .split, .contact-grid { grid-template-columns:1fr; gap:42px; }
  .hero-grid { min-height:auto; }
  .credibility-grid { grid-template-columns:1fr 1fr; }
  .cards-4, .cards-3, .impact-grid { grid-template-columns:1fr 1fr; }
  .cta-band-inner { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .nav { min-height:72px; }
  .brand img { width:210px; }
  .nav-links { top:72px; }
  .hero-grid { padding:64px 0; }
  .hero-card { padding:24px; }
  .section { padding:68px 0; }
  .cards, .cards-4, .cards-3, .impact-grid, .stories, .credibility-grid, .form-row, .footer-grid { grid-template-columns:1fr; }
  .credibility-item { text-align:left; padding:18px 14px; }
  .card { padding:26px; }
  .page-hero { padding:64px 0 54px; }
}
