@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin.woff2) format("woff2");}
@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-italic-latin.woff2) format("woff2");}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-latin.woff2) format("woff2");}
:root{
  --navy:#0a5174;--navy-deep:#06344c;--orange:#e87a24;--orange-ink:#8a3c0c;
  --sky:#5aa1c4;--sky-on:#e7f4fb;--olive:#3f4c10;--plum:#820263;
  --paper:#fbf8f3;--paper-2:#f3eee4;--ink:#1d2730;--muted:#3e4c57;
  --line:rgba(29,39,48,.14);--serif:Lora,Georgia,"Iowan Old Style",serif;
  --sans:Montserrat,"Avenir Next","Segoe UI",sans-serif;
  --wrap:1180px;--pad:clamp(1.1rem,4vw,2.4rem);--head:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--head) + 12px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:var(--navy);text-underline-offset:.18em}
a:hover{color:var(--orange-ink)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.overlay :focus-visible,.site-foot :focus-visible,.band :focus-visible,.nums :focus-visible{outline-color:#fff}
.site-head.overlay.stuck :focus-visible{outline-color:#0a5174}
.site-head.overlay .primary-nav.open :focus-visible{outline-color:#fff}
.skip{position:absolute;left:12px;top:-80px;background:#fff;color:var(--navy);padding:.6rem 1rem;z-index:80;font-weight:600}
.skip:focus{top:12px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.5rem,1.2rem + 4.4vw,4.8rem)}
h2{font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem)}
h3{font-size:1.35rem;line-height:1.2}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.prose{max-width:68ch}
.prose p,.prose li{max-width:68ch}
.lede{font-size:clamp(1.12rem,1rem + .4vw,1.35rem);line-height:1.5;max-width:42ch}
.eyebrow{font:600 .78rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--orange-ink);margin:0 0 .8rem}
.site-head{position:sticky;top:0;z-index:40;background:rgba(251,248,243,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.bar{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);min-height:var(--head);display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;margin-right:auto;text-decoration:none;color:var(--navy)}
.brand img{height:44px;width:auto}
.brand-name{font:700 1.02rem/1.05 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.brand-name small{display:block;font:600 .68rem/1.3 var(--sans);letter-spacing:.24em;color:var(--orange-ink)}
.site-head.overlay .brand{color:#fff}.site-head.overlay .brand-name small{color:#ffd7b8}
.site-head.overlay.stuck .brand{color:var(--navy)}.site-head.overlay.stuck .brand-name small{color:var(--orange-ink)}
.logo-white{display:none}
.primary-nav{display:flex;gap:1.15rem;align-items:center;margin-right:.6rem}
.primary-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;padding:.4rem 0;border-bottom:2px solid transparent;min-height:44px;display:inline-flex;align-items:center}
.primary-nav a:hover{border-bottom-color:var(--orange);color:var(--navy)}
.primary-nav a[aria-current=page]{border-bottom-color:#8a3c0c;color:var(--navy)}
.btn-donate{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.15rem;border-radius:999px;background:var(--orange);color:var(--ink);font:600 .95rem/1 var(--sans);text-decoration:none;border:2px solid var(--orange)}
.btn-donate:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-line{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .2rem;color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6)}
.menu-btn{display:none;min-width:44px;min-height:44px;padding:0 .85rem;border-radius:999px;border:2px solid var(--navy);background:transparent;color:var(--navy);font:600 .9rem/1 var(--sans);cursor:pointer}
.site-head.overlay{position:fixed;left:0;right:0;background:linear-gradient(180deg,rgba(6,30,44,.88),rgba(6,30,44,.78));border-bottom:0;color:#fff;transition:background .25s}
.site-head.overlay .primary-nav a{color:#fff}
.site-head.overlay .menu-btn{border-color:#fff;color:#fff}
.site-head.overlay .logo-color{display:none}
.site-head.overlay .logo-white{display:block}
.site-head.overlay.stuck{background:rgba(251,248,243,.96);border-bottom:1px solid var(--line);color:var(--ink)}
.site-head.overlay.stuck .primary-nav a{color:var(--ink)}
.site-head.overlay.stuck .menu-btn{border-color:var(--navy);color:var(--navy)}
.site-head.overlay.stuck .logo-color{display:block}
.site-head.overlay.stuck .logo-white{display:none}
@media(max-width:1320px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .js .primary-nav{display:none}
  .js .primary-nav.open{display:flex;flex-direction:column;align-items:flex-start;position:fixed;inset:var(--head) 0 0 0;background:var(--navy-deep);padding:1.2rem var(--pad) 2rem;gap:0;overflow:auto;z-index:45}
  .js .primary-nav.open a{color:#fff;font-size:1.45rem;font-family:var(--serif);padding:.85rem 0;width:100%;border-bottom:1px solid rgba(255,255,255,.16)}
  .no-js .primary-nav{flex-wrap:wrap}
  .brand img{height:38px}
  .brand-name{font-size:.86rem;white-space:nowrap}
}
@media(max-width:420px){
  .brand-name{font-size:.78rem;letter-spacing:.04em}
  .brand-name small{font-size:.6rem;letter-spacing:.18em}
  .bar{gap:.55rem}
  .menu-btn{padding:0 .7rem}
  .btn-donate{padding:.5rem .95rem}
}
.hero{position:relative;min-height:100svh;color:#fff;display:flex;align-items:flex-end;background:var(--navy-deep);isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,30,44,.55),rgba(6,30,44,.08) 32%,rgba(6,30,44,.88))}
.hero-copy{position:relative;z-index:1;padding:calc(var(--head) + 2rem) var(--pad) clamp(2.5rem,8vh,5rem);max-width:var(--wrap);margin:0 auto;width:100%}
.hero h1{max-width:16ch;margin-bottom:.4rem}
.hero .lede{color:#f4f7f8}
.hero .eyebrow{color:#ffd7b8}
.actions{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;margin-top:1.3rem}
.page-hero{position:relative;min-height:min(68vh,640px);color:#fff;display:flex;align-items:flex-end;background:var(--navy-deep)}
.page-hero .hero-copy{padding-top:calc(var(--head) + 2.5rem)}
.page-hero h1{max-width:16ch}
.page-hero .lede{color:#f4f7f8}
.page-hero .eyebrow{color:#ffd7b8}
.crumbs{font-size:.9rem;margin:0 0 .8rem}
.crumbs a{color:inherit}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}
.sec{padding:clamp(3.2rem,7vw,5.5rem) 0}
.sec-tight{padding:clamp(2rem,5vw,3.5rem) 0}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.split.rev .copy{order:2}
@media(max-width:800px){.split,.split.rev .copy{display:block;order:0}.split picture{margin-bottom:1.2rem}}
.frame{border-radius:2px;overflow:hidden}
.frame img{width:100%;aspect-ratio:3/2;object-fit:cover}
.frame.tall img{aspect-ratio:4/5}
.frame.contain img{object-fit:contain;background:var(--paper-2);aspect-ratio:1}
figcaption,.cap{font:500 .82rem/1.4 var(--sans);color:var(--muted);margin-top:.45rem}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pillar{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.pillar img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pillar div{padding:1rem 1rem 1.2rem}
.pillar h3{font-size:1.25rem}
.pillar p{font-size:.98rem;margin:0}
@media(max-width:900px){.pillars{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pillars{grid-template-columns:1fr}}
.nums{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden}
.nums .bg,.band .bg,.hero-media{position:absolute;inset:0;margin:0}
.hero .hero-media,.page-hero .hero-media{top:var(--head);right:0;bottom:auto;left:0;height:calc(100% - var(--head))}
.nums .bg picture,.band .bg picture,.hero-media picture{height:100%}
.nums .bg img{width:100%;height:100%;object-fit:cover;opacity:.2}
.nums::after{content:"";position:absolute;inset:0;background:rgba(6,20,32,.62);z-index:0}
.nums .wrap{position:relative;z-index:1;padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem)}
.numgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem 1.6rem;margin-top:1.5rem}
.num b{display:block;font:600 clamp(2rem,1.4rem + 2vw,3.2rem)/1 var(--serif);color:#ffc48a;letter-spacing:-.03em}
.num span{display:block;margin-top:.35rem}
.num small{display:block;margin-top:.35rem;color:var(--sky-on);font-size:.82rem}
@media(max-width:700px){.numgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.numgrid{grid-template-columns:1fr}}
.cards{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1rem}
.card{display:flex;flex-direction:column;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);min-height:100%}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card div{padding:1rem 1rem 1.15rem}
.card h3{font-size:1.35rem;margin:.2rem 0}
.card p{color:var(--muted);font-size:.95rem}
.card:hover h3{color:var(--orange-ink)}
@media(max-width:800px){.cards{grid-template-columns:1fr}}
.pull{margin:1.6rem 0;padding:0 0 0 1.1rem;border-left:3px solid var(--plum)}
.pull p{font:italic 600 clamp(1.35rem,1.1rem + .8vw,1.85rem)/1.35 var(--serif);margin:0 0 .5rem}
.pull cite{font-style:normal;font-size:.95rem;color:var(--muted)}
.founders{background:var(--paper-2)}
.founders .wrap{padding-top:clamp(3.2rem,7vw,5.5rem);padding-bottom:clamp(3.2rem,7vw,5.5rem)}
@media(max-width:800px){.founders picture{margin-bottom:1rem}}
.band{position:relative;color:#fff;background:var(--navy);overflow:hidden;isolation:isolate}
.band .bg{position:absolute;inset:0}
.band .bg img{width:100%;height:100%;object-fit:cover;opacity:.2}
.band::after{content:"";position:absolute;inset:0;background:rgba(6,20,32,.62);z-index:0}
.band .wrap{position:relative;z-index:1;padding-top:clamp(3.5rem,8vw,6rem);padding-bottom:clamp(3.5rem,8vw,6rem)}
.band a:not(.btn-donate){color:#fff}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}
.person{background:#fff;border:1px solid var(--line)}
.person img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 30%}
.person div{padding:.9rem 1rem 1.1rem}
.person h3{font-size:1.2rem;margin:0}
.role{font-size:.85rem;font-weight:600;color:var(--orange-ink);margin:.2rem 0 .45rem}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--navy)}
.timeline li{padding:0 0 1.4rem 1.2rem;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--orange)}
.timeline b{font-family:var(--serif);font-size:1.3rem}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;list-style:none;margin:0;padding:0}
.values li{background:#fff;border-top:3px solid var(--navy);padding:1rem;font-weight:600}
@media(max-width:700px){.values{grid-template-columns:1fr}}
.prose .drop > p:first-of-type::first-letter{font-family:var(--serif);float:left;font-size:4.4rem;line-height:.78;padding:.08em .12em 0 0;color:var(--navy);font-weight:600}
.story-hero{position:relative;background:var(--navy-deep);padding-top:var(--head)}
.story-hero img{width:100%;max-height:78vh;object-fit:cover}
.story-hero picture.contain,.story-hero picture.native{max-width:min(100%,960px);margin-inline:auto;background:var(--paper)}
.story-hero picture.contain img,.story-hero picture.native img{width:auto;max-width:100%;height:auto;max-height:78vh;object-fit:contain;margin-inline:auto;background:var(--paper)}
.story-hero:has(picture.contain),.story-hero:has(picture.native){background:var(--paper)}
.person picture.native{width:max-content;max-width:100%;margin-inline:auto}
.person picture.native img{width:auto;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:var(--paper-2)}
.donate-pay{margin:1.25rem 0 0}
.mail-head{margin-top:2.5rem}
.mail-card{margin:1rem 0 1.25rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-left:3px solid var(--navy);background:#fff}
.mail-card p,.mail-card address{margin:0}
.mail-card address{margin-top:.65rem}
.ein-line,.donate-links{margin:0 0 1rem}
@media(max-width:700px){.mail-head{margin-top:1.75rem}}
.meta{color:var(--muted);font-size:.92rem;margin:0 0 1.2rem}
.pager{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:2rem}
.pager a{font-weight:600;max-width:46%}
.yt{position:relative;display:block;width:100%;padding:0;border:0;background:var(--navy);cursor:pointer;aspect-ratio:16/9}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.92}
.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:var(--orange);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.yt-play::before{content:"";position:absolute;left:30px;top:24px;border-style:solid;border-width:13px 0 13px 20px;border-color:transparent transparent transparent var(--ink)}
.yt-label{position:absolute;left:1rem;bottom:1rem;right:1rem;color:#fff;font-weight:600;text-align:left;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1rem 2rem 1rem 0;font:600 1.2rem/1.35 var(--serif);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:.85rem;font:400 1.5rem/1 var(--sans);color:var(--orange-ink)}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 0 1rem;max-width:68ch}
.story-list{display:grid;gap:.2rem}
.story-list a{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;align-items:baseline}
.story-list time{font-size:.85rem;color:var(--muted);font-weight:600}
.story-list h3{font-size:1.25rem;margin:0}
.hub-label{margin:2rem 0 .4rem}
.site-foot{background:var(--navy-deep);color:#f4f7f8;padding:clamp(2.5rem,6vw,4rem) 0 1.5rem;font-size:.98rem}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.6rem 2rem}
.foot-logo{height:64px;width:auto;margin-bottom:.8rem}
.site-foot h2{font:600 .78rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sky-on);margin:0 0 .7rem}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.site-foot address{font-style:normal;line-height:1.55}
.socials{display:flex;gap:.5rem;margin-top:.8rem}
.socials a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;text-decoration:none;font-weight:700}
.notice{margin:1.4rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.82rem;line-height:1.45;color:#d5e2ea;max-width:none}
.notice a{color:inherit}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr}}
.note{font-size:.92rem;color:var(--muted)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}
@media(max-width:700px){.cols{grid-template-columns:1fr}}
iframe{max-width:100%;border:0;aspect-ratio:16/9;width:100%;height:auto}
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.js [data-reveal].in,.js [data-reveal]:focus-within{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}
}

.num-note{font-size:.92rem;color:#d7e4ec;max-width:62ch}
.pillar{color:inherit;text-decoration:none}
.card h2{font-size:1.35rem;margin:.2rem 0}
.card:hover h2{color:var(--orange-ink)}
.person h2{font-size:1.15rem;margin:0}
.program-cards{grid-template-columns:1fr 1fr}
.featured{grid-template-columns:repeat(3,1fr)}
.faq summary h2{font:inherit;font-size:1.2rem;line-height:1.35;margin:0;letter-spacing:0}
.split-hero{padding:calc(var(--head) + 1.5rem) 0 1rem}
.split-hero .side-media img{width:auto;max-width:100%;height:auto;margin-inline:auto;background:var(--paper-2)}
.socials svg,.yt-link svg,.contact-social svg{width:22px;height:22px;fill:currentColor}
.yt-link{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:#fff;text-decoration:none}
.contact-social{list-style:none;padding:0;display:grid;gap:.4rem}
.contact-social a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}
@media(min-width:981px){
  .bar{flex-wrap:nowrap;gap:.4rem}
  .primary-nav{flex-wrap:nowrap;gap:.35rem}
  .primary-nav a{font-size:.72rem;white-space:nowrap}
  .nav-sub{display:none}
  .brand-name{font-size:.78rem}
}
@media(min-width:1200px){
  .primary-nav{gap:.75rem}
  .primary-nav a{font-size:.84rem}
  .brand-name{font-size:.95rem}
}
@media(max-width:800px){.program-cards,.featured{grid-template-columns:1fr}}
@media(max-width:560px){
  .story-list a{grid-template-columns:1fr;gap:.15rem}
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-head .btn-donate,.site-head.overlay .btn-donate,.btn-donate{color:var(--ink)}
.site-head .btn-donate:hover{color:#fff}
.site-foot a.btn-donate{color:var(--ink)}
.site-foot a.btn-donate:hover{color:#fff}

/* Theil round 1 (2026-11-01): wheel, five spheres, impact, Undying Hope Africa, speaking */
.wheel-split{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;margin-bottom:2rem}
@media(max-width:800px){.wheel-split{grid-template-columns:1fr}}
.wheel{margin:0 auto;max-width:440px;width:100%}
.wheel svg{width:100%;height:auto;display:block}
.wheel text{fill:#fff;font:600 15px/1 var(--sans)}
.wheel text.hub{fill:var(--navy);font:600 22px/1 var(--serif)}
.wheel figcaption{text-align:center;font-size:.88rem;color:var(--muted);margin-top:.6rem}
.prose .wheel{margin:1.5rem auto}
.pillars.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.pillars.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.pillars.five{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pillars.five{grid-template-columns:1fr}}
.grads{margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.25)}
.grads-head{font:600 1.4rem/1.2 var(--serif);margin:0 0 .8rem}
.grads-head b{font-size:clamp(2rem,1.4rem + 2vw,3.2rem);color:#ffc48a;margin-right:.35rem}
.grads ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.grads li b{display:block;font:600 1.8rem/1 var(--serif);color:#ffc48a}
.grads-note{font-size:.9rem;color:var(--sky-on);margin:.8rem 0 0}
@media(max-width:900px){.grads ul{grid-template-columns:1fr 1fr}}
.impact-top{padding-top:0}
.uha-band{background:var(--navy-deep);color:#fff}
.uha-band .wrap{padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem);align-items:center}
.uha-band .eyebrow{color:#ffd7b8}
.uha-band h2{color:#fff}
.uha-logo{display:flex;justify-content:center}
.uha-logo img{max-width:100%;height:auto}
.uha-hero{background:var(--navy-deep);color:#fff;padding-top:calc(var(--head) + 2.5rem);padding-bottom:3rem}
.uha-hero .wrap{align-items:center}
.uha-hero h1,.uha-hero .lede{color:#fff}
.uha-hero .eyebrow{color:#ffd7b8}
.uha-hero .crumbs a,.uha-hero .crumbs li{color:#e7f4fb}
.uha-family{background:var(--navy);color:#fff}
.uha-family .wrap{padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem)}
.uha-family .eyebrow{color:#ffd7b8}
.uha-family h2,.uha-family h3{color:#fff}
.entities{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.entity{background:var(--navy-deep);padding:1.4rem 1.1rem;border-top:3px solid var(--orange)}
.entity-logo{height:170px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.entity-logo img{max-height:170px;width:auto;max-width:100%}
.entity h3{font-size:1.15rem}
.entity p{font-size:.95rem;margin:0;color:#e7f4fb}
@media(max-width:1100px){.entities{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.entities{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.entities{grid-template-columns:1fr}}
.partner-logos{display:flex;gap:1.2rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.partner-logos picture{background:var(--navy-deep);padding:1rem;display:flex;align-items:center;justify-content:center;width:190px;height:190px}
.partner-logos img{max-height:150px;width:auto}
.map-split{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:start}
@media(max-width:900px){.map-split{grid-template-columns:1fr}}
.exp-map{margin:0}
.map-frame{position:relative;background:#fff;border:1px solid var(--line)}
.map-frame img{width:100%;height:auto}
.pins{list-style:none;margin:0;padding:0}
.pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.3rem}
.exp-map .dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--orange);color:var(--ink);font:700 .78rem/1 var(--sans);border:2px solid #fff;box-shadow:0 0 0 2px var(--navy-deep);vertical-align:middle}
.map-legend .dot{margin-right:.35rem}
.pin-label{background:var(--navy-deep);color:#fff;font-size:.78rem;padding:.15rem .45rem;white-space:nowrap}
.map-legend{list-style:none;margin:1rem 0 0;padding:0;font-size:.95rem}
.map-legend li{margin:.3rem 0}
.steps{list-style:none;margin:0;padding:0;border-left:2px solid var(--navy)}
.steps li{padding:0 0 1.3rem 1.2rem;position:relative}
.steps li::before{content:"";position:absolute;left:-8px;top:.2rem;width:14px;height:14px;border-radius:50%;background:var(--olive)}
.steps li:first-child::before{background:var(--orange)}
.steps h3{font-size:1.2rem;margin:.1rem 0 .3rem}
.steps p{margin:0}
.btn-line.dark{color:var(--navy);border-bottom-color:var(--navy);margin-left:1rem}
/* Impact 2021-2026 (Theil round 2) */
.impact-home h2{font-size:clamp(2.2rem,1.4rem + 3vw,3.6rem)}
.impact-lede{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);color:#e6eef4;max-width:60ch;margin:.4rem 0 0}
.impact-ahead{margin:2rem 0 1.6rem;padding:1.4rem 1.6rem;border:1px solid rgba(255,196,138,.45);border-left:4px solid #ffc48a;background:rgba(6,20,32,.45);border-radius:4px}
.impact-ahead .eyebrow{color:#ffd7b8;margin:0 0 .8rem}
.ahead-row{display:flex;flex-wrap:wrap;gap:1rem 2.4rem;margin-bottom:.9rem}
.ahead-num b{display:block;font:600 clamp(1.8rem,1.3rem + 1.6vw,2.6rem)/1 var(--serif);color:#ffc48a}
.ahead-num span{display:block;margin-top:.3rem;font-size:.95rem}
.impact-ahead p:last-child{margin:0;color:#d7e4ec;max-width:66ch}
@media(max-width:520px){.nums .numgrid{grid-template-columns:1fr 1fr;gap:1.2rem 1rem}.num span{font-size:.92rem}}

/* Full bios on /leadership (Who We Are): stacked rows, photo + long copy */
.people-full{display:flex;flex-direction:column;gap:1.6rem}
.person-full{display:grid;grid-template-columns:200px 1fr;gap:1.25rem;align-items:start;background:#fff;border:1px solid var(--line);padding:1.1rem 1.2rem 1.25rem}
.person-full picture{width:200px}
.person-full img{width:200px;height:200px;aspect-ratio:1;object-fit:cover;object-position:center 20%;border-radius:2px}
.person-full div{padding:0}
.person-full h2,.person-full h3{font-size:1.35rem;margin:0}
.person-full .role{margin:.25rem 0 .75rem}
.person-full p{margin:0 0 .75rem;font-size:.98rem;line-height:1.55}
.person-full p:last-child{margin-bottom:0}
.cred-list{margin:.15rem 0 1rem;padding-left:1.15rem}
.cred-list li{margin:.2rem 0;font-size:.92rem;line-height:1.45}
.section-title{margin:1.6rem 0 1rem;font-size:clamp(1.5rem,3vw,2rem)}
.sec.alt{background:var(--paper-2)}
.site-foot .tagline{font-family:var(--serif);font-size:1.15rem;color:#fff;margin:.35rem 0 .85rem}
@media(max-width:700px){
  .person-full{grid-template-columns:1fr;padding:1rem}
  .person-full picture,.person-full img{width:140px;height:140px;margin-inline:auto}
}
