/* Shared route and component styles; the approved brand palette and type remain. */
button,input{font:inherit}button{cursor:pointer}button,a,input{touch-action:manipulation}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:5px}.nav :focus-visible,.hero :focus-visible,footer :focus-visible{outline-color:var(--sun)}
button.button{background:var(--sun);color:var(--ink)}.button:active{transform:scale(.98)}
.brand-logo{width:52px;height:52px;object-fit:contain;background:var(--cream);border-radius:50%;padding:4px}.footer-bottom .wordmark{display:flex}
.nav-links{gap:18px;font-size:12px}.menu-toggle{display:none}.nav-ask{border-bottom:1px solid currentColor}
.hero-photo{height:100%;width:100%;object-fit:cover;object-position:45% center}.portrait-main::after{pointer-events:none}
.campaign-photo::before,.has-photo::before{display:none}.campaign-photo{padding:32px;display:flex;align-items:center}.campaign-photo img{width:100%;height:470px;object-fit:cover;transform:rotate(-3deg)}.photo-caption{position:absolute;bottom:8px;left:32px;right:32px;font-size:11px}.story-image img{width:100%;height:100%;object-fit:cover}
.page-hero{padding:170px max(24px,calc((100vw - var(--max))/2)) 70px;background:var(--berry);color:var(--cream)}.page-hero h1{font:700 clamp(58px,8vw,115px)/.88 "Space Grotesk";letter-spacing:-.08em;max-width:1050px;margin-bottom:30px}.page-hero h1 em{font-family:"DM Serif Display";font-weight:400;color:var(--sun)}.page-hero>p:last-child{font-size:20px;line-height:1.5;max-width:710px;margin-bottom:0}
.project-grid,.source-grid,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.project-card,.source-card,.contact-card{background:var(--lilac);padding:30px;border-top:1px solid var(--ink)}.project-card:nth-child(2),.contact-card:nth-child(2){background:var(--sun)}.project-card:nth-child(3),.contact-card:nth-child(3){background:var(--coral)}.project-card h3,.contact-card h3,.source-card h3{font:700 30px/1 "Space Grotesk";letter-spacing:-.05em;margin:25px 0 16px}.project-card p,.contact-card p,.source-card p,.detail-grid p,.source-note p{line-height:1.6}.status{display:inline-block;font-size:11px;font-weight:700;padding:7px 10px;border:1px solid currentColor;border-radius:999px}.small{font-size:13px;line-height:1.5}.editorial-note{padding:23px;border-left:4px solid var(--berry);background:#f2e9dd;line-height:1.6;margin:25px 0}.evidence{background:var(--lilac)}.evidence p,.ask-teaser p{max-width:720px;font-size:19px;line-height:1.6}.ask-teaser{background:var(--cobalt);color:var(--cream)}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin:45px 0}.detail-grid h2,.source-note h2{font:700 30px "Space Grotesk";letter-spacing:-.05em}.detail-grid li{margin:10px 0;line-height:1.6}.metric{border-top:1px solid var(--line);padding:20px 0}.metric strong{display:block;font:700 40px "Space Grotesk";margin-bottom:12px}.source-note{border-top:1px solid var(--ink);padding-top:30px;margin-top:40px}.project-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.location-section{background:var(--forest);color:var(--cream)}.location-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:35px}.impact-map{height:350px;border:1px solid var(--cream);border-radius:var(--radius-feature);position:relative;background:radial-gradient(circle at 60% 50%,#19614c,var(--forest));overflow:hidden}.map-caption{position:absolute;top:45px;left:15%;font-size:12px;line-height:1.5;opacity:.8}.map-pin{position:absolute;background:var(--sun);color:var(--ink);border:0;border-radius:999px;padding:12px 18px}.map-pin[aria-pressed=true]{outline:3px solid var(--cream);outline-offset:4px}.abuja{left:20%;top:65%}.adamawa{right:7%;top:43%}.location-list{padding-left:20px}.location-list li{padding:15px 0}.location-list a{line-height:1.8}
.gallery-section{padding-top:50px}.gallery-filters,.suggestions{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.filter-button,.suggestions button{border:1px solid var(--ink);border-radius:999px;background:transparent;padding:12px 18px}.filter-button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-grid figure{margin:0}.gallery-grid img{display:block;width:100%;height:310px;object-fit:cover}.gallery-grid figcaption{font-size:13px;margin-top:10px}.gallery-grid figcaption span{display:block;font-size:11px;opacity:.7;margin-top:4px}.gallery-grid [hidden]{display:none}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.film-grid video{width:100%;height:430px;background:var(--ink);object-fit:contain}.films{background:var(--sun);padding-top:60px}dialog{border:0;background:var(--ink);color:var(--cream);padding:20px;max-width:94vw;max-height:94vh}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{display:block;max-width:85vw;max-height:72vh;object-fit:contain}#lightbox-close{display:block;margin:0 0 15px auto;background:var(--cream);border:0;padding:12px 20px;border-radius:999px}
.ask-section{max-width:1100px;margin:auto}.ask-section label{display:block;font-weight:700;margin-bottom:12px}.ask-input-row{display:flex;gap:12px}.ask-input-row input{min-width:0;flex:1;padding:18px;border:1px solid var(--ink);border-radius:var(--radius-field);background:white}.answer{background:var(--lilac);padding:30px;line-height:1.6;min-height:130px}.answer .button{margin:15px 0 0 15px}.contact-card .button{font-size:13px}.source-grid{margin-bottom:50px}
@media(max-width:1100px){.nav-links{gap:12px}.nav-links a{font-size:11px}.wordmark{font-size:16px}}
@media(max-width:950px){.menu-toggle{display:block;background:transparent;color:var(--cream);border:1px solid currentColor;border-radius:999px;padding:12px 18px}.nav-links{display:none;position:absolute;top:85px;left:20px;right:20px;background:var(--ink);padding:25px;box-shadow:0 18px 40px #0005}.nav-links.is-open{display:flex;flex-direction:column;align-items:stretch}.nav-links a:not(.nav-cta){display:block;font-size:16px;padding:9px}.nav-links .nav-cta{font-size:16px}.project-grid,.source-grid,.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.page-hero{padding:135px 20px 55px}.page-hero h1{font-size:clamp(46px,12vw,80px)}.page-hero>p:last-child{font-size:17px}.detail-grid,.location-layout{grid-template-columns:1fr;gap:25px}.campaign .button.ghost{display:inline-flex;margin-left:0}.campaign-photo img{height:330px}.campaign-photo{padding:25px;min-height:400px}.project-grid,.source-grid,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;gap:18px}.gallery-grid img{height:220px}.film-grid{grid-template-columns:1fr}.film-grid video{height:450px}.ask-input-row{flex-direction:column}.answer .button{margin-left:0}.hero-art{width:43vw;height:230px;bottom:66px}.hero-summary{max-width:58%;font-size:15px}.hero h1{font-size:clamp(58px,16vw,100px)}.hero .button.primary{max-width:58%;font-size:12px}.hero{min-height:800px}.source-note{overflow-wrap:anywhere}}
@media(max-width:380px){.gallery-grid{grid-template-columns:1fr}.hero{min-height:850px}.hero-art{height:200px}.hero-summary{max-width:65%}.impact-map{height:320px}.map-pin{font-size:12px;padding:10px}.adamawa{right:5%}.abuja{left:12%}}


/* Global component family. Full-width colour sections remain editorial bands. */
.section{padding-inline:var(--page-inset)}
.nav{padding:24px var(--page-inset);padding-top:calc(24px + env(safe-area-inset-top,0px));z-index:20}
.nav-links{gap:clamp(14px,1.5vw,24px);font-size:13px}
.nav-links a{white-space:nowrap}
.brand-logo{flex:none}
.wordmark{letter-spacing:-.045em;line-height:1.06;flex-shrink:0}
.button,.nav-cta,.menu-toggle,.filter-button,.suggestions button,.map-pin,#lightbox-close {
 min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
 padding:12px 24px;border:1px solid currentColor;border-radius:var(--radius-pill);
 font:600 14px/1.2 "DM Sans",sans-serif;text-decoration:none;vertical-align:middle;
 position:relative;cursor:pointer;
}
.button,.nav-cta{overflow:hidden}
.button-label{display:inline-block;transition:transform var(--duration-ui) var(--ease-out)}
.button-icon{position:absolute;right:14px;top:50%;width:18px;height:18px;opacity:0;transform:translate(-6px,-50%);clip-path:inset(0 100% 0 0);pointer-events:none;transition:transform var(--duration-ui) var(--ease-out),opacity var(--duration-ui) ease,clip-path var(--duration-ui) var(--ease-out)}
.button-icon svg{display:block;width:100%;height:100%}
.button.primary,.nav-cta,button.button{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.button.ghost{display:inline-flex;background:transparent;color:var(--cream);margin:0}
.button:focus-visible,.nav-cta:focus-visible,.join-option:focus-visible{outline-offset:5px}
.button:focus-visible .button-icon,.nav-cta:focus-visible .button-icon,.join-option:focus-visible .button-icon{opacity:1;transform:translate(0,-50%);clip-path:inset(0)}
.button:focus-visible .button-label,.nav-cta:focus-visible .button-label{transform:translateX(-7px)}
.menu-toggle{background:transparent;color:var(--cream);gap:10px;display:none}
.menu-icon{width:18px;height:18px;transition:transform var(--duration-ui) var(--ease-out)}
.menu-toggle[aria-expanded="true"] .menu-icon{transform:rotate(45deg)}
.work-card{border-radius:var(--radius-feature);padding:30px}
.project-card,.source-card,.contact-card{border-radius:var(--radius-card);border-top:0;padding:32px;min-width:0}
.contact-card{display:flex;flex-direction:column;align-items:flex-start}
.contact-card .button{margin-top:auto;font-size:14px}
.story{border-top:0;padding:14px 14px 24px;border-radius:var(--radius-card);background:var(--cream)}
.story h3,.story p,.story>.text-link{margin-left:8px;margin-right:8px}
.story-image{border-radius:var(--radius-media)}
.campaign-photo img{border-radius:var(--radius-media)}
.gallery-open{display:block;border-radius:var(--radius-media);overflow:hidden}
.gallery-grid figure{min-width:0}
.gallery-grid img{transition:transform var(--duration-reveal) var(--ease-out)}
.gallery-grid figcaption{padding:4px 8px}
.film-grid video{border-radius:var(--radius-media)}
.impact-map{border-radius:var(--radius-feature)}
.map-pin::before{content:"";width:7px;height:7px;background:currentColor;border-radius:50%}
.impact-row{border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 24px;margin-bottom:24px}
.status{border-radius:var(--radius-pill)}
.content-note,.privacy-note{max-width:780px;font-size:14px;line-height:1.65;color:inherit;opacity:.82;margin:20px 0 28px}
.privacy-note{font-size:13px}
.privacy-note .text-link{font-size:inherit}
.editorial-note{border-radius:var(--radius-lg)}
.source-note{padding-top:32px}
.source-grid .source-card h3{font-size:26px;line-height:1.1}
.source-card p{overflow-wrap:anywhere}
.join-option{border-radius:var(--radius-sm);position:relative;padding:18px 4px 18px 0;min-height:60px}
.join-option .button-label{font:700 21px/1.3 "Space Grotesk";letter-spacing:-.045em}
.join-option .button-icon{font:inherit}
footer{padding-inline:var(--page-inset);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.footer-link{width:fit-content;min-height:34px;padding-block:7px}
dialog{border-radius:var(--radius-modal);padding:20px;max-height:90dvh;max-width:min(1080px,94vw);overscroll-behavior:contain}
dialog img{border-radius:var(--radius-md);max-height:70dvh;max-width:100%;margin:auto}
#lightbox-close{margin-left:auto;margin-bottom:16px;display:flex;color:var(--ink);background:var(--cream)}
/* Hero V2 retains the editorial statement and documentary composition. */
.hero{min-height:820px;padding:152px var(--page-inset) 88px;grid-template-columns:1.12fr .88fr;align-items:center;column-gap:24px}
.hero::before{display:block;pointer-events:none}
/* Original editorial spacing; flex prevents reveal-wrapper margins collapsing into extra leading. */
.hero h1{display:flex;flex-direction:column;font-size:clamp(78px,9.8vw,150px);line-height:.77;margin-bottom:30px;letter-spacing:-.1em}
.hero-line{display:block;overflow:clip;padding:.13em .12em .25em;margin:-.13em -.12em -.25em}
.hero-line>span{display:block}
.hero-summary{max-width:450px;line-height:1.5;margin-bottom:26px}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-art{height:570px;min-width:0}
.portrait-main{width:82%;height:94%;border-radius:220px 220px var(--radius-feature) var(--radius-feature)}
.portrait-small{left:-3%;top:17%;width:38%;border-radius:var(--radius-lg);z-index:1;transform:rotate(-7deg)}
.portrait-small::after{border-radius:var(--radius-md)}
.portrait-small::before{font-size:clamp(24px,2.8vw,45px)}
.page-hero{padding:155px var(--page-inset) 64px}
.page-hero h1{line-height:.94;overflow-wrap:normal}
.page-hero>p:last-child{max-width:730px}
/* Ask Hope: question, entry, suggestions, answer. */
body[data-page="ask-hope"] .page-hero{padding-bottom:42px}
body[data-page="ask-hope"] .page-hero h1{font-size:clamp(64px,7vw,104px);margin-bottom:18px}
body[data-page="ask-hope"] .page-hero>p:last-child{font-size:18px;max-width:600px}
.ask-section{max-width:1100px;margin:0 auto;padding:48px var(--gutter) 88px}
.ask-section label{font:600 clamp(22px,2.5vw,30px)/1.2 "Space Grotesk";letter-spacing:-.035em;margin-bottom:20px}
.ask-input-row{display:flex;align-items:stretch;gap:12px}
.ask-input-row input{min-height:58px;border:1px solid var(--line);padding:18px 22px;border-radius:var(--radius-field);background:#fffdfa;line-height:1.4;color:var(--ink)}
.ask-input-row .button{min-width:136px;flex:none}
.ask-section .privacy-note{margin:12px 4px 0}
.suggestions{gap:10px;margin:26px 0}
.suggestions button{background:transparent;font-size:13px;padding:12px 18px;min-height:44px;text-align:left}
.suggestions button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.answer{border-radius:var(--radius-card);padding:28px 32px;background:var(--lilac);min-height:160px}
.answer>p{max-width:720px}
.answer-intro{font:600 23px/1.2 "Space Grotesk";letter-spacing:-.035em;margin-bottom:12px}
.answer .small{font-size:12px;opacity:.8}
.answer-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}
.answer .button{margin:0}
.answer .text-link{font-size:13px}
.ask-context{font-size:13px;margin-bottom:20px;line-height:1.5}
@media(hover:hover) and (pointer:fine){
 .button:hover .button-icon,.nav-cta:hover .button-icon,.join-option:hover .button-icon{opacity:1;transform:translate(0,-50%);clip-path:inset(0)}
 .button:hover .button-label,.nav-cta:hover .button-label{transform:translateX(-7px)}
 .button:hover,.nav-cta:hover{transform:translateY(-2px)}
 .button.ghost:hover{background:rgba(255,248,239,.09)}
 .nav-links a:not(.nav-cta):hover{opacity:1;text-decoration:underline;text-underline-offset:6px}
 .work-card:hover{transform:translateY(-4px)}
 .gallery-open:hover img{transform:scale(1.035)}
 .filter-button:hover,.suggestions button:hover{background:var(--ink);color:var(--cream)}
 .text-link:hover{border-bottom-color:transparent}
}
/* Tablet is a distinct composition, including iPad with a trackpad. */
@media(min-width:701px) and (max-width:1100px){
 .hero{min-height:740px;padding-top:145px;padding-bottom:68px;grid-template-columns:1.1fr .9fr;gap:16px;display:grid}
 .hero h1{font-size:clamp(70px,10.2vw,112px)}
 .hero-art{position:relative;inset:auto;width:auto;height:480px;margin:0}
 .hero-summary{max-width:390px;font-size:17px}
 .hero .button.primary{max-width:none;font-size:14px}
 .portrait-main{width:96%;height:88%}
 .portrait-small{left:-12%;top:18%;width:43%}
 .portrait-small::before{font-size:30px}
 .section{padding-block:88px}
 .intro-grid{grid-template-columns:1fr 1.15fr;gap:40px}
 .intro-grid p{font-size:23px}
 .section-title{font-size:clamp(52px,6.8vw,76px)}
 .work-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:16px}
 .work-card:nth-child(1){grid-column:span 7;grid-row:span 2}
 .work-card:nth-child(2){grid-column:span 5;grid-row:span 1}
 .work-card:nth-child(3){grid-column:span 5;grid-row:span 2}
 .work-card:nth-child(4){grid-column:span 7;grid-row:span 1}
 .work-card h3{font-size:36px}
 .campaign{grid-template-columns:1fr 1fr;gap:0}
 .campaign-copy{padding:70px var(--gutter)}
 .campaign-copy h2{font-size:78px}
 .campaign-photo{padding:24px;min-height:470px}
 .campaign-photo img{height:370px}
 .photo-caption{left:24px;right:24px}
 .story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .story h3{font-size:29px;line-height:.95}
 .story-image{aspect-ratio:3/4}
 .project-grid,.source-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-card:last-child:nth-child(odd),.source-card:last-child:nth-child(odd){grid-column:span 2}
 .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gallery-grid img{height:230px}
 .film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .film-grid video{height:340px}
 .join-inner{grid-template-columns:1fr 1fr;gap:40px}
 .join h2{font-size:80px}
 .detail-grid,.location-layout{grid-template-columns:1fr 1fr;gap:32px}
 .section.ask-section{padding-block:44px 72px}
}
@media(max-width:1100px){
 .nav{padding-inline:var(--gutter)}
 .menu-toggle{display:inline-flex}
 .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:3px;position:absolute;top:calc(90px + env(safe-area-inset-top,0px));left:auto;right:var(--gutter);width:min(470px,calc(100vw - 2 * var(--gutter)));padding:24px;background:var(--ink);border:1px solid rgba(255,248,239,.16);border-radius:var(--radius-menu);box-shadow:0 18px 44px #0003;max-height:calc(100svh - 116px);overflow-y:auto;overscroll-behavior:contain}
 .nav-links a:not(.nav-cta){display:flex;align-items:center;font-size:18px;min-height:46px;padding:10px 16px;border-radius:var(--radius-md);white-space:normal}
 .nav-links .nav-cta{font-size:15px;margin-top:12px;align-self:stretch}
 .nav-ask{border-top:1px solid #fff3;border-bottom:0;margin-top:8px;padding-top:16px!important}
 .nav-links a[aria-current="page"]{background:#ffffff12}
 .wordmark{font-size:18px}
 .footer-bottom{grid-template-columns:1.5fr 1fr 1fr;gap:24px}
 .footer-bottom>div:first-child{grid-column:auto}
 .footer-bottom>div:last-child{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
 .footer-bottom>div:last-child p:last-child{margin-left:auto;max-width:240px}
}
@media(max-width:700px){
 :root{--gutter:22px;--radius-feature:32px;--radius-card:28px;--radius-media:22px}
 .nav{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:18px}
 .brand-logo{width:42px;height:42px}
 .wordmark{font-size:16px}
 .menu-toggle{min-height:44px;padding:11px 16px;font-size:13px}
 .nav-links{padding:18px;top:calc(78px + env(safe-area-inset-top,0px));max-height:calc(100svh - 96px)}
 .hero{display:block;min-height:100svh;padding:126px var(--gutter) 36px}
 .hero h1{font-size:clamp(65px,17.6vw,108px);line-height:.77;margin-bottom:26px}
 .hero-summary{max-width:420px;font-size:16px;line-height:1.5}
 .hero .button.primary{max-width:none;font-size:14px}
 .hero-actions{gap:10px;flex-wrap:nowrap}
 .hero-actions .button{padding-inline:24px;min-width:0;flex:none}
 .hero-art{position:relative;inset:auto;height:340px;width:100%;max-width:500px;margin:36px auto 0}
 .portrait-main{width:77%;height:100%;border-radius:160px 160px var(--radius-feature) var(--radius-feature)}
 .portrait-small{width:31%;left:0;top:18%;border-radius:var(--radius-md)}
 .portrait-small::before{font-size:clamp(24px,7vw,36px)}
 .portrait-small::after{inset:9px;border-radius:var(--radius-sm)}
 .section{padding:68px var(--gutter)}
 .section-title{font-size:clamp(44px,12vw,72px);line-height:.94;margin-bottom:30px}
 .intro-grid{grid-template-columns:1fr;gap:25px}
 .intro-grid p{font-size:23px;line-height:1.35;letter-spacing:-.025em}
 .impact-row{margin-top:38px;padding:8px 12px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .stat{padding:16px 8px 16px 0}.stat+.stat{padding-left:10px}.stat b{font-size:34px}.stat span{font-size:11px;line-height:1.4}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:12px}
 .work-card{padding:24px}
 .work-card h3{font-size:clamp(24px,7vw,37px);line-height:.95;letter-spacing:-.065em}
 .work-card:nth-child(1){grid-column:span 2;grid-row:span 1}
 .work-card:nth-child(2),.work-card:nth-child(3){grid-column:span 1;grid-row:span 1;padding:22px 18px}
 .work-card:nth-child(4){grid-column:span 2;grid-row:span 1}
 .campaign{display:grid;grid-template-columns:1fr;gap:0}
 .campaign-copy{padding:64px var(--gutter) 46px}
 .campaign-copy h2{font-size:88px}
 .campaign-copy p{font-size:17px}
 .campaign-photo{min-height:380px;padding:26px var(--gutter) 45px}
 .campaign-photo img{height:310px;transform:rotate(-2deg)}
 .photo-caption{left:var(--gutter);right:var(--gutter);bottom:13px}
 .story-grid{grid-template-columns:1fr;gap:24px}
 .story-image{aspect-ratio:1.2}
 .story h3{font-size:36px;line-height:.96}
 .join-inner{grid-template-columns:1fr;gap:30px}
 .join h2{font-size:clamp(60px,14.7vw,90px);line-height:.84}
 .join p{font-size:18px}
 .join-options{margin-top:26px}
 .project-grid,.source-grid,.contact-grid{grid-template-columns:1fr;gap:16px}
 .project-card,.source-card,.contact-card{padding:26px}
 .project-card h3,.contact-card h3{font-size:31px}
 .detail-grid,.location-layout{grid-template-columns:1fr;gap:30px}
 .project-actions{gap:10px}.project-actions .button{max-width:100%;text-align:left;line-height:1.4}
 .page-hero{padding:125px var(--gutter) 42px}
 .page-hero h1{font-size:clamp(48px,12.8vw,78px);line-height:.96;margin-bottom:24px}
 .page-hero>p:last-child{font-size:17px;line-height:1.55}
 .gallery-section{padding-top:32px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 .gallery-grid img{height:215px}
 .gallery-filters{gap:8px;margin:22px 0}
 .filter-button{font-size:12px;padding:11px 15px;min-height:44px}
 .film-grid{grid-template-columns:1fr;gap:26px}
 .film-grid video{height:440px}
 .ask-section{padding:30px var(--gutter) 64px}
 body[data-page="ask-hope"] .page-hero{padding-bottom:30px}
 body[data-page="ask-hope"] .page-hero h1{font-size:70px;margin-bottom:16px}
 body[data-page="ask-hope"] .page-hero>p:last-child{font-size:16px}
 .ask-input-row{flex-direction:column;gap:12px}
 .ask-input-row .button{align-self:flex-start;min-height:48px;min-width:144px}
 .ask-input-row input{width:100%;min-height:58px}
 .suggestions{gap:8px;margin:22px 0}
 .suggestions button{font-size:12px;padding:11px 15px}
 .answer{padding:24px}
 .answer-actions{align-items:flex-start;gap:18px}
 .answer .button{margin:0}
 .impact-map{height:310px}
 .map-caption{left:24px;top:30px}
 .map-pin{font-size:13px;padding-inline:16px}
 .abuja{left:9%;top:67%}.adamawa{right:7%;top:42%}
 .footer-top{padding-bottom:42px}
 .footer-top h2{font-size:58px}
 .footer-bottom{grid-template-columns:1fr 1fr;gap:26px}
 .footer-bottom>div:first-child{grid-column:span 2}
 .footer-bottom>div:last-child{display:block}
 .footer-bottom>div:last-child p:last-child{margin-left:0}
 .footer-link{min-height:44px;padding-block:11px}
 dialog{padding:16px;border-radius:var(--radius-lg);max-width:calc(100vw - 24px)}
}
@media(max-width:374px){
 :root{--gutter:18px}
 .hero h1{font-size:17.4vw}
 .hero-actions .button{padding-inline:19px;font-size:13px}
 .hero-art{height:290px}
 .work-card h3{font-size:24px}
 .gallery-grid img{height:180px}
 .page-hero h1{font-size:12.5vw}
}
@media(orientation:landscape) and (max-height:500px){
 .nav-links{max-height:calc(100svh - 92px)}
 .hero{min-height:0}
}

/* Final presentation refinements reuse the existing geometry and type family. */
.skip{z-index:30}
.impact-summary{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);max-width:780px}
.impact-summary p{font-size:16px;line-height:1.6;margin:0 0 18px}
.trust-overview,.support-journey{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.trust-overview .section-title,.support-journey .section-title{font-size:clamp(44px,5.2vw,76px);line-height:.98;margin:0 0 28px}
.trust-overview p,.support-purpose p{font-size:18px;line-height:1.65;max-width:55ch}
.evidence-list{margin:0}
.evidence-list>div{padding:24px 0;border-top:1px solid var(--line)}
.evidence-list>div:first-child{padding-top:0;border:0}
.evidence-list dt{font:600 24px/1.15 "Space Grotesk",sans-serif;letter-spacing:-.04em;margin-bottom:12px}
.evidence-list dd{margin:0;line-height:1.65}
.evidence-list .text-link{display:table;margin-top:12px}
.giving-panel{background:var(--lilac);border-radius:var(--radius-card);padding:clamp(26px,3vw,40px)}
.giving-panel h2{font:700 clamp(28px,3vw,40px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.055em;margin:0 0 24px}
.giving-panel p,.giving-panel li{line-height:1.65}
.giving-panel ol{padding-left:22px;margin:24px 0 28px}
.giving-panel li{padding-left:4px;margin:14px 0}
.giving-panel .privacy-note{margin:20px 0 0}
.other-ways{padding-top:0}
.other-ways .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){
 .trust-overview,.support-journey{grid-template-columns:1fr;gap:36px}
 .trust-overview p,.support-purpose p{font-size:16px}
 .trust-overview .section-title,.support-journey .section-title{font-size:clamp(40px,11vw,62px)}
 .other-ways .contact-grid{grid-template-columns:1fr}
 .giving-panel .button{max-width:100%}
}
/* Progressive navigation: links remain available if scripting is unavailable. */
@media(max-width:1100px){
 .nav:has(.nav-links:not([data-enhanced])){position:relative;flex-wrap:wrap;background:var(--berry);gap:24px}
 .nav:has(.nav-links:not([data-enhanced])) .menu-toggle{display:none}
 .nav-links:not([data-enhanced]){position:static;width:100%;max-height:none;opacity:1;visibility:visible;pointer-events:auto;transform:none}
}
