.initiatives-introduction {
  padding-block:44px 0;
}

.initiatives-introduction h1 {
  font-size:var(--heading-size);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.05em;
  max-width:22ch;
}

.initiatives-introduction p {
  font-size:1.125rem;
  line-height:1.8;
}

.initiative-list {
  padding-block:80px 88px;
}

.initiative-list article {
  grid-template-columns:1fr 1.35fr;
  gap:64px;
  padding-block:36px;
  align-items:start;
}

.initiative-list h2 {
  font-size:clamp(1.6rem,2.3vw,2rem);
  line-height:1.25;
  max-width:22ch;
}

.initiative-list p {
  font-size:1.0625rem;
  line-height:1.8;
}

.projects-section {
  padding-block:72px 80px;
  background:var(--surface);
}

.projects-section .section-heading {
  margin-bottom:36px;
}

.projects-section .section-heading h2 {
  font-size:clamp(2.25rem,3.6vw,3.25rem);
}

.projects-section .section-heading>p {
  max-width:65ch;
  font-size:1.0625rem;
}

.project-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:28px;
}

.project-tabs[hidden], .project[hidden] {
  display:none;
}

.project-tabs button {
  min-width:0;
  min-height:84px;
  padding:17px 25px;
  border:1px solid #a3b8c3;
  border-radius:999px;
  background:transparent;
  color:var(--accent);
  font-size:.9375rem;
  font-weight:600;
  line-height:1.5;
  text-align:center;
}

.project-tabs button:hover {
  background:var(--surface-blue);
}

.project-tabs button[aria-selected=true] {
  background:var(--brand);
  border-color:var(--brand);
  color:white;
}

.project-tabs button:focus-visible {
  outline:3px solid var(--highlight);
  outline-offset:4px;
}

.project-panels .project {
  padding:48px;
  background:white;
  border:1px solid var(--border);
  border-radius:24px;
  margin-bottom:28px;
}

.project-panels .project:last-child {
  margin-bottom:0;
}

.project-heading {
  margin-bottom:36px;
}

.project h3 {
  font-size:clamp(1.9rem,3vw,2.6rem);
  line-height:1.25;
  max-width:30ch;
  font-weight:600;
}

.project-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1.85fr);
  gap:40px;
  align-items:start;
}

.project dl {
  padding:26px;
  background:var(--surface-blue);
  border-radius:16px;
}

.project dl>div {
  max-width:none;
  margin-bottom:24px;
}

.project dl>div:last-child {
  margin-bottom:0;
}

.project dt {
  font-size:.8125rem;
  letter-spacing:0;
  margin-bottom:8px;
}

.project dd {
  font-size:.9375rem;
  line-height:1.65;
}

.project-copy p {
  font-size:1.0625rem;
  line-height:1.85;
}

.project[role=tabpanel]:focus-visible {
  outline:3px solid var(--highlight);
  outline-offset:5px;
}

@media(max-width:900px) {
  .initiatives-introduction {
    padding-top:32px;
  }

  .initiative-list article {
    gap:36px;
  }

  .project-tabs button {
    padding:15px 20px;
    font-size:.875rem;
  }

  .project-panels .project {
    padding:32px;
  }

  .project-grid {
    grid-template-columns:1fr;
    gap:32px;
  }

  .project dl {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }

  .project dl>div {
    margin:0;
  }
}

@media(max-width:600px) {
  .initiatives-introduction {
    padding-top:24px;
  }

  .initiatives-introduction p {
    font-size:1rem;
  }

  .initiative-list {
    padding-block:48px 56px;
  }

  .initiative-list article {
    grid-template-columns:1fr;
    gap:16px;
    padding-block:28px;
  }

  .initiative-list h2 {
    font-size:1.65rem;
  }

  .initiative-list p {
    font-size:1rem;
  }

  .projects-section {
    padding-block:48px;
  }

  .projects-section .section-heading h2 {
    font-size:2.25rem;
  }

  .project-tabs {
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:24px;
  }

  .project-tabs button {
    min-height:56px;
    padding:13px 24px;
  }

  .project-panels .project {
    padding:28px 24px;
    border-radius:20px;
  }

  .project h3 {
    font-size:1.9rem;
  }

  .project-heading {
    margin-bottom:28px;
  }

  .project dl {
    grid-template-columns:1fr;
    padding:22px;
    gap:22px;
  }

  .project-copy p {
    font-size:1rem;
    line-height:1.8;
  }
}

@media print {
  .project-tabs {
    display:none;
  }

  .project[hidden] {
    display:block;
  }

  .project-panels .project {
    break-before:page;
  }

  .project dl {
    break-inside:avoid;
  }
}

.project dt {
  display:flex;
  align-items:center;
  gap:10px;
}

.fact-icon {
  width:18px;
  height:18px;
  flex:0 0 18px;
  stroke-width:1.75;
}
