.hero { position: relative; overflow: hidden; min-height: min(82svh, 44rem); display: grid; align-items: center; padding-block: clamp(4rem, 10vw, 7rem); background: var(--color-brand-blue-deep); color: #fff; }
.hero::before, .hero::after { content: ""; position: absolute; border: 2px solid rgba(255,255,255,.2); border-radius: 50%; pointer-events: none; }
.hero::before { width: 38rem; height: 38rem; right: -22rem; top: -15rem; }
.hero::after { width: 20rem; height: 20rem; right: 5vw; bottom: -13rem; }
.hero h1 { max-width: 12ch; color: #fff; font-size: var(--font-size-display-lg); }
.hero .lead { color: #fff; }
.hero .eyebrow { color: var(--color-campaign-lime); }
.hero-content { position: relative; z-index: 1; max-width: 47rem; animation: hero-in var(--duration-enter) var(--ease-standard) both; }
@keyframes hero-in { from { opacity: 0; transform: translateY(.75rem); } }
.hero-signature { margin-top: var(--space-8); font-weight: 700; }
.campaign-hero { border-bottom: .75rem solid var(--color-campaign-lime); }
.section-heading { max-width: 45rem; margin-bottom: var(--space-12); }
.door-card { min-height: 19rem; }
.door-number { color: var(--color-brand-blue); font-family: var(--font-display); font-size: 2.5rem; font-weight: 800; }
.finder-teaser { padding: clamp(1.5rem, 5vw, 3rem); border-radius: var(--radius-lg); background: var(--color-brand-blue-soft); }
.network-band { overflow: hidden; }
.regions { margin-bottom: var(--space-6); color: var(--color-campaign-lime); font-weight: 700; }
.project-grid .card:first-child { grid-column: span 1; }
.result-list { display: grid; gap: var(--space-4); }
.juba-card h3 { margin-bottom: var(--space-2); }
.juba-meta { margin-bottom: var(--space-3); color: var(--color-text-muted); }
.juba-contact { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: auto; padding-top: var(--space-4); }
.finder-layout { display: grid; gap: var(--space-8); }
.filters { align-self: start; }
.resource-meta { color: var(--color-text-muted); font-size: .9rem; font-weight: 600; }
.article section + section { margin-top: var(--space-12); }
.article h2 { margin-top: 0; }
.leadership-group + .leadership-group { margin-top: var(--space-16); }
.contact-cards { margin-bottom: var(--space-12); }
.compact-list { columns: 1; }
@media (min-width: 48rem) {
  .compact-list { columns: 2; column-gap: var(--space-12); }
  .finder-layout { grid-template-columns: minmax(14rem, .32fr) minmax(0, 1fr); }
  .filters { position: sticky; top: 6rem; }
  .project-grid .card:first-child { grid-column: span 2; }
}
