/* Shared site refinement: logo colours, readable content, consistent controls. */
:root { --ux-ink:#183e38; --ux-muted:#50675f; --ux-line:#dce8e1; --ux-surface:#f1f7f3; --ux-radius:24px; --ux-nav:80px; --ux-section-nav:58px; }
[hidden] { display:none !important; }
html { scroll-padding-top:160px; }
body.site-refined { background:#fcfdfb; color:var(--ux-ink); font-size:16px; line-height:1.75; }
body.site-refined .programme-name { font-style:italic; }
.site-refined h1,.site-refined h2,.site-refined h3 { text-wrap:balance; }
.site-refined h2 { letter-spacing:-.035em; }
.site-refined section[id],.site-refined article[id] { scroll-margin-top:160px; }
.site-refined :focus-visible { outline:3px solid #007b9f; outline-offset:4px; }
.site-refined .container { max-width:1280px; padding-inline:40px; }
.site-refined .navbar { background:#fffffffa; border-bottom:1px solid var(--ux-line); }
.site-refined .nav-inner { max-width:1280px; height:var(--ux-nav); padding-inline:40px; }
.site-refined .nav-logo img { width:150px; height:56px; }
.site-refined .nav-link { font-size:14px; font-weight:500; padding-block:12px; }
.site-refined .nav-link[aria-current=page],.site-refined .nav-link.active { text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px; }
.site-refined .dropdown-menu { border:1px solid var(--ux-line); border-radius:16px; padding:10px; box-shadow:0 18px 50px #183e3817; }
.site-refined .dropdown-menu a { padding:12px 16px; border-radius:8px; font-size:14px; }
.site-refined .dropdown-menu a:hover,.site-refined .dropdown-menu a[aria-current=page] { background:#eaf5ee; color:#226153; }
.site-refined .btn,.site-refined .btn-nav { min-height:48px; padding:14px 26px; border-radius:100px; font-size:14px; letter-spacing:0; }
.site-refined .text-btn { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-underline-offset:5px; }
.site-refined .text-btn:hover { text-decoration:underline; }
.site-refined .tag { border-radius:100px; padding:7px 14px; font-size:10px; letter-spacing:.09em; }

/* Calm, consistent hero treatment with room for the actual programme photos. */
.site-refined .home-hero.brand-hero { padding:150px max(40px,calc((100% - 1200px)/2)) 72px; gap:64px; margin-bottom:0; background:linear-gradient(125deg,#f0f7f2 30%,#e4f1ee 75%,#e0f1f6); border-radius:0 0 40px 40px; }
.site-refined .home-hero h1 { color:var(--ux-ink); font-size:clamp(44px,4.8vw,70px); line-height:1.03; }
.site-refined .home-hero .hero-sub { font-size:17px; line-height:1.8; }
.site-refined .home-hero .hero-eyebrow { font-size:11px; }
.site-refined .home-hero .hero-note { font-size:12px; }
.site-refined .home-hero .hero-photo img { border-radius:28px; }
.site-refined .home-hero .hero-photo figcaption { background:#1c5146; font-size:13px; }
.site-refined .page-hero.brand-hero,.site-refined .hero.brand-hero:not(.home-hero) { background:linear-gradient(120deg,#f1f7f2,#eaf5f3); min-height:500px; padding:128px max(40px,calc((100% - 1200px)/2)) 62px; gap:64px; border-radius:0 0 32px 32px; }
.site-refined .page-hero.brand-hero h1,.site-refined .hero.brand-hero:not(.home-hero) h1,.site-refined .prog-detail.brand-hero h1 { color:var(--ux-ink); font-size:clamp(36px,4.3vw,60px); }
.site-refined .brand-hero p,.site-refined .page-hero.brand-hero p { font-size:17px; line-height:1.75; }
.site-refined .brand-hero .tag { border-radius:0; padding:0 0 8px; }
.site-refined .page-hero.brand-hero .hero-bg,.site-refined .page-hero.brand-hero .page-hero-bg,.site-refined .hero.brand-hero:not(.home-hero) .hero-bg { height:350px; border-radius:24px; box-shadow:10px 10px 0 #cfe7dc; }
.site-refined .prog-detail.brand-hero { background:linear-gradient(120deg,#f1f7f2,#eaf5f3); }
.site-refined .hero-action-bar .btn { font-size:14px; min-height:48px; }
.ux-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; line-height:1.5; color:#5f766c; margin-bottom:28px; }
.ux-breadcrumb a { color:#2b7160; text-decoration:underline; text-underline-offset:3px; }
.ux-breadcrumb [aria-current] { max-width:100%; }

/* Local navigation is scrollable at small widths, with visible current state. */
.page-sections { position:sticky; top:var(--ux-nav); z-index:50; background:#fcfdfbf5; border-bottom:1px solid var(--ux-line); backdrop-filter:blur(12px); }
.site-refined .page-sections-inner { display:flex; align-items:center; gap:8px; min-height:var(--ux-section-nav); overflow-x:auto; scrollbar-width:thin; white-space:nowrap; padding-block:7px; }
.page-sections-label { font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:#62786d; margin-right:18px; flex-shrink:0; }
.page-sections a { padding:9px 15px; border-radius:100px; font-size:12px; font-weight:500; color:#385a4c; min-height:40px; flex-shrink:0; }
.page-sections a:hover { background:#e8f3ec; }
.page-sections a[aria-current] { background:#1c5146; color:#fff; }
.back-to-top { position:fixed; z-index:80; right:24px; bottom:24px; height:48px; width:48px; border-radius:50%; border:1px solid #bdd6c9; background:#fff; box-shadow:0 5px 22px #183e3814; color:#1c5146; font-size:24px; cursor:pointer; }
.back-to-top:hover { color:#fff; background:#1c5146; }

/* A single spacing rhythm and more legible editorial content. */
.site-refined .document-section,.site-refined .section-programmes,.site-refined .section-components,.site-refined .section-stories,.site-refined .section-sponsors,.site-refined .section-mission,.site-refined .section-timeline,.site-refined .section-focus,.site-refined .section-team,.site-refined .section-advisory,.site-refined .section-contact-info,.site-refined .section-contact-form,.site-refined .section-form,.site-refined .awards-section { padding-block:80px; }
.site-refined .document-heading,.site-refined .section-head-center { margin-bottom:38px; }
.site-refined .document-heading h2,.site-refined .section-head-center h2,.site-refined .stories-head h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.13; color:var(--ux-ink); }
.site-refined .document-heading p,.site-refined .section-sub,.site-refined .document-body>p { font-size:16px; line-height:1.85; color:var(--ux-muted); }
.site-refined .document-body>p { max-width:76ch; }
.site-refined .report-article { padding:36px; border-radius:20px; box-shadow:0 4px 18px #183e3803; }
.site-refined .report-article p,.site-refined .report-article li { font-size:16px; line-height:1.85; }
.site-refined .report-article h4 { font-size:19px; }
.site-refined .report-jump-links { top:calc(var(--ux-nav) + 24px); }
.site-refined.has-page-sections .report-jump-links { top:calc(var(--ux-nav) + var(--ux-section-nav) + 24px); }
.site-refined .report-jump-links a { font-size:13px; min-height:44px; }
.site-refined .report-metrics { gap:20px; }
.site-refined .report-metric { padding:28px; border-radius:20px; }
.site-refined .report-metric p,.site-refined .report-outcomes p,.site-refined .voice-outcome-grid p { font-size:14px; line-height:1.8; }
.site-refined .home-about { margin:64px auto 28px; max-width:1200px; width:calc(100% - 80px); }
.site-refined .home-about>.container { background:#1d5147; padding:48px; border-radius:28px; }
.site-refined .home-about .about-top h2 { font-size:clamp(26px,2.7vw,36px); line-height:1.25; }
.site-refined .home-about .about-split-left h3,.site-refined .home-about .about-split-right p { font-size:15px; }
.site-refined .section-impact { max-width:1200px; width:calc(100% - 80px); margin:32px auto; }
.site-refined .section-impact>.container { padding:48px; background:#eef5ef; border-radius:28px; }
.site-refined .impact-item { border-radius:20px; min-height:210px; }
.site-refined .impact-label { font-size:16px; }
.site-refined .impact-description { font-size:14px; line-height:1.75; }
.site-refined .reach-summary { font-size:16px; line-height:1.8; color:var(--ux-muted); margin:20px 0 0; padding:0; border:0; background:none; }
.carousel-autoplay { min-width:72px; }
@media(max-width:600px) { .people-carousel .carousel-controls { flex-wrap:wrap; } .people-carousel .carousel-actions { flex-wrap:wrap; gap:10px; } .people-carousel .carousel-hint { flex-basis:100%; } }
.site-refined .involved-layout { background:#1d5147; border-radius:28px; padding:48px; }
.site-refined .involved-text h2 { color:#fff; }
.site-refined .involved-text p { font-size:16px; }
.site-refined .prog-icon-card { border-radius:20px; padding:30px; }
.site-refined .prog-icon-card h3,.site-refined .prog-icon-card h4 { font-size:25px; }
.site-refined .prog-icon-card p { font-size:15px; line-height:1.8; }
.site-refined .programme-directory { gap:30px; align-items:start; }
.site-refined .directory-programme { padding:30px; border-radius:24px; }
.site-refined .directory-programme>h3 { font-size:32px; }
.site-refined .directory-programme>p { font-size:15px; margin-bottom:16px; }
.site-refined .directory-programme>img { display:block; width:100%; height:250px; margin:0 0 24px; border-radius:16px; }
.site-refined .directory-programme>a { display:inline-block; font-size:14px; padding:8px 0; }
[data-programme-activity] { border-top:1px solid #e3ede6; padding:20px 0; }
[data-programme-activity]:first-of-type { margin-top:20px; }
.site-refined [data-programme-activity] h4 { margin:0 0 8px; font-size:19px; }
.site-refined [data-programme-activity] p { font-size:14px; line-height:1.7; }
.programme-search { margin:32px 0; padding:28px; background:#eaf4ee; border-radius:20px; }
.programme-search label { display:block; font-size:16px; color:#244f40; font-weight:600; margin-bottom:12px; }
.programme-search-controls { display:flex; align-items:center; gap:14px; }
.programme-search input { width:100%; min-width:0; height:52px; border:1px solid #b9d1c3; border-radius:10px; background:#fff; padding:12px 16px; color:#244f40; font-size:16px; }
.programme-search button { flex-shrink:0; min-height:48px; padding:10px 18px; background:#fff; border:1px solid #b9d1c3; color:#244f40; border-radius:100px; font-size:13px; cursor:pointer; }
.programme-search [role=status] { font-size:12px; color:#527062; margin:12px 0 0; }
.programme-no-results { padding:40px; border:1px dashed #aecaba; border-radius:20px; text-align:center; color:#426455; }

/* People, partners, resources and forms share the same material and scale. */
.site-refined .partner-tab { min-height:48px; padding:12px 23px; font-size:14px; }
.site-refined .partner-logo-card { border-radius:18px; min-height:180px; }
.site-refined .partner-logo-card span { font-size:13px; }
.site-refined .sponsors-grid { gap:18px; }
.site-refined .people-carousel .team-card,.site-refined .people-carousel .advisory-card { padding:32px; border-radius:24px; }
.site-refined .people-carousel p { font-size:15px; }
.site-refined .people-carousel .team-role { font-size:13px; }
.site-refined .people-carousel .team-initials { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#e3f1e9,#dceef3); color:#2b7160; font:500 64px/1 'Outfit',sans-serif; letter-spacing:-.04em; }
.site-refined .carousel-button { min-height:46px; font-size:13px; }
.site-refined .resource-document-card { border-radius:20px; padding:30px; }
.site-refined .resource-document-card p { font-size:15px; }
.site-refined .resource-document-card a,.site-refined .resource-file-list a { font-size:14px; min-height:44px; }
.site-refined .reach-heading p,.site-refined .district-detail p { font-size:15px; }
.site-refined .chart-note { font-size:13px; }
.site-refined .chart-switch button { font-size:12px; }
.site-refined .contact-card p,.site-refined .contact-card a { font-size:15px; overflow-wrap:anywhere; }
.site-refined form input:not([type=checkbox]):not([type=radio]),.site-refined form textarea,.site-refined form select { font-size:16px; min-height:50px; border-radius:10px; padding:14px 16px; }
.site-refined form textarea { min-height:150px; line-height:1.6; }
.site-refined form input[type=checkbox] { min-width:18px; min-height:18px; accent-color:#007b9f; }
.site-refined form label { font-size:14px; line-height:1.6; }
.site-refined form input:focus,.site-refined form textarea:focus { border-color:#007b9f; box-shadow:0 0 0 3px #007b9f15; }
.site-refined .footer { background:#173f37; }
.site-refined .footer-menu-col a { font-size:14px; display:inline-block; padding-block:5px; }
.site-refined .footer-menu-col p,.site-refined .footer-brand p { font-size:14px; }
.site-refined .footer-bottom { border-color:#ffffff25; }
.site-refined .story-reading { background:#f5f9f5; }
.site-refined .story-reading-header { max-width:1000px; }
.site-refined .story-reading-image { max-width:1100px; }
.site-refined .story-editorial-card { border-radius:24px; }

@media(max-width:1000px) {
 .site-refined .container,.site-refined .nav-inner { padding-inline:28px; }
 .site-refined .nav-menu { gap:17px; }
 .site-refined .home-hero.brand-hero,.site-refined .page-hero.brand-hero,.site-refined .hero.brand-hero:not(.home-hero) { padding-inline:28px; gap:36px; }
 .site-refined .home-about,.site-refined .section-impact { width:calc(100% - 56px); }
 .site-refined .report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 :root { --ux-nav:72px; }
 .site-refined .nav-menu { background:#173f37; top:72px; }
 .site-refined .nav-logo img { width:130px; height:48px; }
 .site-refined .nav-menu .nav-link { font-size:18px; padding-block:14px; color:#fff; }
 .site-refined .nav-menu .dropdown-menu { background:transparent; box-shadow:none; border:0; }
 .site-refined .dropdown-menu a { color:#d8eee3; }
}
@media(max-width:760px) {
 .site-refined .container,.site-refined .nav-inner { padding-inline:22px; }
 .site-refined .home-hero.brand-hero,.site-refined .page-hero.brand-hero,.site-refined .hero.brand-hero:not(.home-hero) { grid-template-columns:1fr; padding:110px 22px 36px; min-height:0; gap:30px; border-radius:0 0 26px 26px; }
 .site-refined .home-hero h1 { font-size:clamp(40px,9vw,60px); }
 .site-refined .page-hero.brand-hero h1,.site-refined .hero.brand-hero:not(.home-hero) h1,.site-refined .prog-detail.brand-hero h1 { font-size:clamp(32px,7.3vw,48px); }
 .site-refined .brand-hero p,.site-refined .page-hero.brand-hero p,.site-refined .home-hero .hero-sub { font-size:16px; }
 .site-refined .page-hero.brand-hero .hero-bg,.site-refined .page-hero.brand-hero .page-hero-bg,.site-refined .hero.brand-hero:not(.home-hero) .hero-bg { height:260px; box-shadow:6px 6px 0 #cfe7dc; }
 .ux-breadcrumb { margin-bottom:20px; font-size:11px; }
 .page-sections-label { display:none; }
 .page-sections a { padding:9px 13px; }
 .site-refined .document-section,.site-refined .section-programmes,.site-refined .section-components,.site-refined .section-stories,.site-refined .section-sponsors,.site-refined .section-mission,.site-refined .section-timeline,.site-refined .section-focus,.site-refined .section-team,.site-refined .section-advisory,.site-refined .section-contact-info,.site-refined .section-contact-form,.site-refined .section-form,.site-refined .awards-section { padding-block:52px; }
 .site-refined .document-heading,.site-refined .section-head-center { margin-bottom:28px; }
 .site-refined .home-about,.site-refined .section-impact { width:calc(100% - 32px); margin-block:28px; }
 .site-refined .home-about>.container,.site-refined .section-impact>.container { padding:28px 22px; border-radius:22px; }
 .site-refined .impact-item { min-height:180px; padding:22px 18px; }
 .site-refined .impact-description { font-size:13px; }
 .site-refined .impact-label { font-size:14px; }
 .site-refined .report-layout { display:block; }
 .site-refined .report-jump-links,.site-refined.has-page-sections .report-jump-links { position:static; display:flex; flex-flow:row wrap; margin-bottom:24px; padding:0; border:0; gap:8px; }
 .site-refined .report-jump-links a { border:1px solid var(--ux-line); border-radius:100px; padding:10px 14px; }
 .site-refined .report-article { padding:26px 22px; }
 .site-refined .report-article p,.site-refined .report-article li { font-size:15px; }
 .site-refined .programme-directory { grid-template-columns:1fr; }
 .site-refined .directory-programme { padding:24px; }
 .site-refined .directory-programme>img { height:220px; }
 .programme-search { padding:22px; }
 .programme-search-controls { flex-wrap:wrap; }
 .site-refined .report-metric { padding:24px 20px; }
 .site-refined .involved-layout { padding:28px; }
 .site-refined .partner-tab { font-size:12px; padding:10px 16px; }
 .site-refined .sponsors-grid { gap:12px; }
 .site-refined .partner-logo-card { min-height:160px; padding:20px 12px; }
 .back-to-top { bottom:18px; right:16px; height:44px; width:44px; }
}
@media(max-width:420px) {
 .site-refined .hero-actions,.site-refined .hero-action-bar { flex-direction:column; align-items:stretch; }
 .site-refined .hero-actions .btn,.site-refined .hero-action-bar .btn { width:100%; text-align:center; }
 .site-refined .report-metrics { grid-template-columns:1fr; }
 .site-refined .report-outcomes { grid-column:auto; }
}
@media(prefers-reduced-motion:reduce) { .site-refined *, .site-refined *::before,.site-refined *::after { scroll-behavior:auto !important; } }
