:root {
  --ink:#203039; --ink-soft:#465961; --paper:#f7f2e9; --paper-soft:#fbf8f1;
  --white:#fffdf8; --line:#ded3c3; --earth:#975032; --earth-dark:#7e4028;
  --water:#216c7b; --water-dark:#175a68; --blue:#243f5f; --blue-soft:#e8eef2;
  --ochre:#d4a349; --radius:5px; --max:1180px;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;color:var(--ink);background:var(--paper-soft);font-family:var(--sans);line-height:1.7}
img {max-width:100%;display:block;height:auto}
a {color:var(--water-dark);text-underline-offset:4px}
a:hover {text-decoration-thickness:2px}
button {font:inherit}
[hidden] {display:none!important}
:focus-visible {outline:3px solid var(--water-dark);outline-offset:5px}
[id] {scroll-margin-top:110px}
.skip-link {position:fixed;top:-150px;left:16px;z-index:100;background:var(--white);padding:12px 20px}
.skip-link:focus {top:12px}
.container {width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.site-shell {min-height:100vh;display:flex;flex-direction:column}
main {flex:1}
h1,h2,h3 {font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 20px;color:var(--blue)}
h1,h2,h3,.brand,main a {overflow-wrap:anywhere}
.home-intro-grid > *, .program-intro > *, .feature > *, .split > *, .program-layout > * {min-width:0}
h1 {font-size:3.5rem;max-width:20ch}
h2 {font-size:2.35rem}
h3 {font-size:1.6rem}
p {margin:0 0 20px}
p:last-child {margin-bottom:0}
ul,ol {padding-left:1.25em}
li {margin-bottom:9px}
figure {margin:0}
figcaption {font-size:.8rem;line-height:1.6;color:var(--ink-soft);margin-top:10px}
.site-header {position:sticky;top:0;z-index:20;background:var(--paper-soft);border-bottom:1px solid var(--line)}
.nav {min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand {display:grid;gap:3px;text-decoration:none;color:var(--blue);max-width:365px;flex-shrink:1}
.brand-mark {font:400 1.2rem/1.3 var(--serif)}
.brand small {font-size:.68rem;line-height:1.5;color:var(--ink-soft)}
.nav-links {display:flex;align-items:center;gap:22px;flex-shrink:0}
.nav-links a {font-size:.91rem;white-space:nowrap;text-decoration:none;color:var(--ink)}
.nav-links a[aria-current="page"]:not(.button) {text-decoration:underline;text-decoration-thickness:2px}
.nav-links a:hover:not(.button) {text-decoration:underline}
.button,.menu-toggle {display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:28px;background:var(--water-dark);color:white;font-weight:700;font-size:.95rem;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer}
.nav-links a.button {color:white}
.button:hover {background:var(--water);text-decoration:none}
.button.earth {background:var(--earth)}
.button.earth:hover {background:var(--earth-dark)}
.button.secondary {background:transparent;border-color:#697d82;color:var(--blue)}
.button.secondary:hover {background:var(--blue-soft)}
.menu-toggle {background:transparent;color:var(--water-dark);border-color:#697d82;display:none}
.actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.eyebrow {font:700 .75rem/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--water-dark);margin-bottom:15px}
.lead {font-size:1.16rem;color:var(--ink-soft);line-height:1.7;max-width:65ch}
.home-intro {padding:54px 0 48px}
.home-intro-grid {display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.home-intro h1 {font-size:3.65rem;max-width:17ch}
.home-intro figure img {aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.home-intro .lead {max-width:47ch}
.section {padding:64px 0}
.section.soft {background:#eef2ee}
.section.sand {background:#f0e9dd}
.section-head {max-width:720px;margin-bottom:32px}
.feature {display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px}
.feature img {width:100%;border-radius:var(--radius)}
.feature .facts {margin-top:24px}
.facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:0}
.facts div {padding-top:14px;border-top:1px solid #b6c5c0}
.facts dt {font-size:.8rem;color:var(--ink-soft);line-height:1.5}
.facts dd {font:400 1.9rem/1.2 var(--serif);color:var(--blue);margin:0 0 8px}
.facts div {display:flex;flex-direction:column-reverse;justify-content:flex-end}
.cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.card {min-width:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.card img {width:100%;aspect-ratio:4/3;object-fit:cover}
.card-body {padding:25px}
.card-body p {font-size:.95rem}
.card h3 {font-size:1.55rem}
.text-link {font-weight:650;display:inline-block;padding-block:6px}
.split {display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.reading {max-width:740px}
.reading.center {margin-inline:auto}
.reading p {max-width:70ch}
.reading h2 {margin-top:38px}
.reading h2:first-child {margin-top:0}
.support-band {padding:42px 0;border-top:1px solid var(--line)}
.support-inner {display:flex;align-items:center;justify-content:space-between;gap:40px}
.support-inner p {max-width:65ch}
.support-inner h2 {font-size:2rem}
.support-inner .button {flex-shrink:0}
.page-intro {padding:52px 0 46px}
.page-breadcrumb {display:flex;align-items:center;gap:9px;padding-top:24px;font-size:.82rem;color:var(--ink-soft)}
.page-breadcrumb a {color:var(--ink-soft)}
.page-breadcrumb + .page-intro {padding-top:28px}
.page-intro p {max-width:65ch}
.page-intro h1 {font-size:3rem;max-width:23ch}
.program-intro {display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}
.program-intro figure img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.program-brief {margin-top:30px;padding:22px;background:#eef2ee;border-left:3px solid var(--water-dark)}
.program-brief p {font-size:.95rem}
.program-brief strong {color:var(--blue)}
.program-layout {display:grid;grid-template-columns:minmax(0,740px) minmax(0,300px);gap:75px;align-items:start}
.aside-note {border-top:3px solid var(--water-dark);padding-top:22px;font-size:.94rem}
.aside-note h2 {font-size:1.6rem}
.aside-note dl {margin:20px 0}
.aside-note dt {font-weight:700;margin-top:18px}
.aside-note dd {margin:3px 0 0}
.listing {display:grid;grid-template-columns:1fr 1fr;gap:28px}
.listing .card img {aspect-ratio:16/9}
.listing .card-body {padding:28px}
.notice {padding:24px;background:#eef2ee;border-left:3px solid var(--water-dark)}
.photo-context {margin-top:24px}
.note {font-size:.9rem;color:var(--ink-soft)}
.board {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.board article {border-top:1px solid var(--line);padding-top:18px}
.board h3 {font-size:1.3rem;margin-bottom:8px}
.board p {font-size:.9rem;color:var(--ink-soft)}
.faq {max-width:800px}
.faq details {padding:22px 0;border-bottom:1px solid var(--line)}
.faq summary {font-size:1.1rem;font-weight:650;color:var(--blue);cursor:pointer;padding:4px 0}
.faq details p {margin-top:16px;max-width:70ch}
.contact-email {font-size:1.18rem;font-weight:650;overflow-wrap:anywhere}
.copy-status {font-size:.9rem;min-height:1.7em;margin-top:12px}
.site-footer {padding:45px 0;background:#192c35;color:var(--white)}
.footer-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:70px}
.site-footer h2 {font-size:1.65rem;color:var(--white);max-width:30ch;margin-bottom:16px}
.site-footer p {font-size:.88rem;color:#e0e7e8}
.site-footer .fineprint {font-size:.8rem;max-width:55ch}
.footer-links {display:flex;align-content:start;flex-wrap:wrap;gap:10px 24px}
.footer-links a {color:var(--white);font-size:.94rem;padding:6px 0}
.fineprint {font-size:.8rem}
@media(max-width:1050px) {
 .nav {gap:20px}.brand {max-width:270px}.nav-links {gap:15px}.nav-links a {font-size:.84rem}.nav-links .button {padding-inline:15px}
 .home-intro-grid,.program-intro {gap:35px}.home-intro h1 {font-size:3rem}.program-layout {gap:40px;grid-template-columns:minmax(0,1fr) 260px}
}
@media(max-width:820px) {
 .nav {display:grid;grid-template-columns:minmax(0,1fr) auto;padding-block:14px;min-height:0;gap:12px}
 .brand {max-width:360px}.brand-mark {font-size:1.1rem}.brand small {font-size:.65rem}
 .menu-toggle {display:inline-flex}
 .nav-links {grid-column:1/-1;display:grid;gap:5px;grid-template-columns:1fr;border-top:1px solid var(--line);padding-top:12px}
 .nav-links {display:none}.nav-open .nav-links {display:grid}
 .nav-links a {min-height:44px;display:flex;align-items:center;font-size:1rem;padding:6px 4px}
 .nav-links a.button {padding:11px 20px;margin-top:5px}
 .home-intro-grid,.program-intro,.feature,.split,.program-layout {grid-template-columns:minmax(0,1fr);gap:32px}
 .home-intro {padding:32px 0}.home-intro h1 {font-size:2.6rem;max-width:20ch}
 .home-intro figure {max-width:650px}.home-intro figure img {aspect-ratio:16/9}
 .page-intro h1 {font-size:2.6rem}.program-intro figure {max-width:620px}
 .cards {gap:18px}.card-body {padding:20px}.program-layout .aside-note {max-width:740px}
 .support-inner {display:block}.support-inner .button {margin-top:22px}
 .footer-grid {gap:35px;grid-template-columns:1fr}
}
@media(max-width:600px) {
 .container {width:calc(100% - 36px)}
 h2 {font-size:1.95rem}h3 {font-size:1.5rem}
 .home-intro h1 {font-size:2.3rem}.home-intro .lead {font-size:1.05rem}
 .home-intro .actions {align-items:stretch;flex-direction:column;margin-top:22px;gap:10px}
 .home-intro figure {margin-top:0}.home-intro-grid {gap:28px}
 .section {padding:42px 0}.section-head {margin-bottom:25px}
 .cards,.listing,.board {grid-template-columns:1fr}
 .card img {aspect-ratio:16/9}.card-body {padding:24px}
 .feature {gap:25px}.facts {gap:14px}.facts dd {font-size:1.75rem}
 .facts dt {font-size:.75rem}
 .page-intro {padding:32px 0}.page-intro h1 {font-size:2.2rem}
 .lead {font-size:1.05rem}.program-brief {padding:19px;margin-top:24px}
 .program-intro {gap:26px}.aside-note {margin-top:10px}
 .actions {gap:10px}.actions .button {max-width:100%}
 .site-footer {padding:35px 0}.site-footer h2 {font-size:1.45rem}
 .story-facts dd {white-space:normal}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}}

/* Program disclosure: ordinary links, enhanced with a button when JS is available. */
.nav {flex-wrap:wrap}
.nav-links {flex-wrap:wrap;flex-shrink:1;min-width:0}
.nav-programs {position:relative}
.programs-label,.programs-toggle {font-size:.91rem;color:var(--ink)}
.programs-label {display:none}
.programs-toggle {border:0;background:transparent;padding:10px 0;min-height:44px;cursor:pointer;line-height:1.5}
.programs-toggle:hover,.section-current .programs-toggle {text-decoration:underline;text-underline-offset:4px}
.program-links {display:grid;gap:3px;padding:12px;background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius)}
.program-links {position:absolute;top:100%;left:0;min-width:220px;box-shadow:0 8px 24px #20303920}
.program-links a {display:block;padding:10px 12px;white-space:normal;min-height:44px}
.program-links a:hover {background:var(--blue-soft)}
.aside-followup {margin-top:32px}
.story-source-credit {max-width:76ch;font-size:.9rem;color:var(--ink-soft);margin:0 0 28px}
@media(max-width:1050px) {
 .nav {display:grid;grid-template-columns:minmax(0,1fr) auto;padding-block:14px;min-height:0;gap:12px}
 .brand {max-width:360px}
 .menu-toggle {display:inline-flex}
 .nav-links {grid-column:1/-1;display:grid;gap:5px;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line);padding-top:12px;align-items:stretch}
 .nav-links {display:none}.nav-open .nav-links {display:grid;max-height:calc(100dvh - 130px);overflow-y:auto;padding:12px 8px}
 .nav-links a,.programs-toggle {min-height:44px;display:flex;align-items:center;font-size:1rem;padding:8px 4px;white-space:normal;overflow-wrap:anywhere}
 .programs-toggle {width:100%;justify-content:space-between;text-align:left}
 .nav-links a.button {padding:11px 20px;margin-top:5px}
 .program-links {position:static;min-width:0;box-shadow:none;margin:4px 0 8px 12px}
 .program-links a {padding:8px 12px}
}

/* Fact columns reflow with text enlargement rather than overlapping. */
.facts {grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr))}
main dt,main p {overflow-wrap:anywhere}
