:root { color-scheme: dark; --white:#fff; --black:#070707; --line:rgba(255,255,255,.34); --muted:rgba(255,255,255,.78); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--white); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
:focus-visible { outline:2px solid #fff; outline-offset:5px; }
.skip-link { position:absolute; left:1rem; top:-5rem; z-index:100; padding:.8rem 1rem; color:#000; background:#fff; }
.skip-link:focus { top:1rem; }

.site-header { position:fixed; inset:0 0 auto; z-index:30; height:75px; background:linear-gradient(180deg,rgba(0,0,0,.62),transparent); transition:background .25s; }
.site-header.scrolled { background:rgba(5,5,5,.9); }
.menu-open .site-header { background:#080808; }
.nav-shell { width:100%; height:100%; margin:auto; padding:0 40px; display:flex; align-items:center; gap:30px; }
.brand { flex:0 0 auto; display:flex; align-items:center; min-height:44px; line-height:0; }
.brand-mark { display:block; position:relative; width:147px; height:16px; }
.brand-part { position:absolute; left:0; top:-11px; width:147px; max-width:none; height:auto; filter:brightness(0) invert(1); transition:transform .23s cubic-bezier(.2,.8,.2,1); }
.brand-part-left { clip-path:inset(0 42% 0 0); }
.brand-part-e { clip-path:inset(0 27% 0 58%); }
.brand-part-right { clip-path:inset(0 0 0 73%); }
.brand-moving .brand-part-e { transform:translate(11px,-2px); }
.nav-links { margin:0; padding:0; list-style:none; display:flex; align-items:center; gap:30px; white-space:nowrap; }
.nav-links > li > a,.nav-dropdown summary { display:inline-flex; align-items:center; min-height:44px; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.nav-links > li > a,.nav-dropdown summary { position:relative; }
.nav-links > li > a::after,.nav-dropdown summary::after { content:""; position:absolute; bottom:8px; left:0; width:0; height:1px; background:#fff; transition:width .2s; }
.nav-links > li > a:hover::after,.nav-links > li > a:focus-visible::after,.nav-dropdown summary:hover::after,.nav-dropdown summary:focus-visible::after,.nav-dropdown[open] summary::after { width:100%; }
.nav-has-menu { position:relative; }
.nav-dropdown summary { cursor:pointer; list-style:none; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.nav-submenu { position:absolute; top:calc(100% + 10px); left:-22px; width:200px; padding:10px 0; background:#080808; border-top:1px solid rgba(255,255,255,.55); box-shadow:0 22px 50px #0008; }
.nav-submenu a { display:block; padding:13px 22px; color:rgba(255,255,255,.85); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.nav-submenu a:hover,.nav-submenu a:focus-visible { color:#fff; background:#222; }
.nav-contact { margin-left:auto; width:200px; min-height:35px; border:1px solid var(--line); border-radius:2px; padding:0 10px; justify-content:space-between; gap:14px; transition:background .2s,color .2s; }
.nav-contact:hover,.outline-button:hover { background:#fff; color:#000; }
.nav-contact span { font-size:1rem; font-weight:400; }
.nav-toggle { display:none; width:44px; height:44px; padding:13px 7px; margin-left:auto; background:none; border:0; }
.nav-toggle span { display:block; width:100%; height:2px; background:#fff; margin:5px 0; transition:transform .2s; }
.nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-6px) rotate(-45deg); }

main { display:block; }
section[id] { scroll-margin-top:75px; }
.story-section { isolation:isolate; position:relative; min-height:80svh; display:flex; align-items:flex-end; overflow:hidden; background:#171717; }
.story-section.hero { min-height:100svh; }
.story-section.compact { min-height:80svh; }
.story-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(1) brightness(.86); }
.story-section::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.06) 70%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 62%); }
.story-section.hero::after { background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.05) 72%),linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%); }
.story-section.image-right .story-image { object-position:70% center; }
.story-section.image-top .story-image { object-position:center 27%; }
.story-section.image-bottom .story-image { object-position:center 72%; }
.story-content { position:relative; z-index:1; width:min(640px,calc(100% - 44px)); margin:0 0 9svh clamp(24px,4.7vw,60px); }
.story-content.narrow { width:min(540px,calc(100% - 44px)); }
.kicker { display:block; margin-bottom:10px; font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { margin-bottom:16px; font-size:clamp(2.35rem,3.8vw,3.4rem); line-height:1.02; letter-spacing:-.04em; font-weight:800; text-transform:uppercase; text-wrap:balance; }
.story-section.hero h1 { max-width:none; font-size:clamp(2.35rem,3.8vw,3.4rem); text-wrap:wrap; }
h1 { max-width:16ch; }
.story-content h2 { max-width:none; }
.story-copy { width:min(540px,100%); margin:0 0 18px; font-size:clamp(1rem,1.18vw,1.08rem); line-height:1.45; color:var(--muted); }
.story-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; }
.outline-button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-width:124px; min-height:50px; padding:0 20px; border:1px solid rgba(255,255,255,.65); border-radius:2px; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; transition:background .2s,color .2s; }
.outline-button span { font-size:1.1rem; font-weight:400; }
.text-action { min-height:50px; display:inline-flex; align-items:center; gap:13px; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.text-action:hover { text-decoration:underline; text-underline-offset:5px; }
.source-note { margin-top:15px; max-width:590px; color:rgba(255,255,255,.7); font-size:.78rem; line-height:1.4; }
.impact-number { display:block; margin:0 0 10px; font-size:clamp(4.2rem,8vw,7rem); line-height:.86; font-weight:800; letter-spacing:-.07em; font-variant-numeric:tabular-nums; }
.impact-label { display:block; margin-bottom:12px; font-size:clamp(1.4rem,2.4vw,2.5rem); font-weight:750; text-transform:uppercase; letter-spacing:-.035em; }
.eyebrow-line { width:58px; height:2px; background:#fff; margin:0 0 20px; }
.section-index { position:absolute; right:clamp(24px,6vw,100px); bottom:clamp(58px,8vh,115px); color:rgba(255,255,255,.72); font-size:.8rem; letter-spacing:.2em; }
.scroll-cue { position:absolute; right:clamp(24px,6vw,100px); bottom:38px; z-index:2; font-size:1.5rem; animation:nudge 2.5s infinite; }
@keyframes nudge { 50% { transform:translateY(8px); } }

.proof-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.25); max-width:690px; margin:18px 0 0; }
.proof-strip div { padding:12px 15px 10px 0; background:rgba(0,0,0,.1); }
.proof-strip strong { display:block; font-size:clamp(1.9rem,3vw,3.1rem); line-height:1; letter-spacing:-.06em; }
.proof-strip span { display:block; margin-top:6px; max-width:140px; color:var(--muted); font-size:.78rem; line-height:1.35; }
.photo-credit { position:absolute; right:clamp(24px,6vw,100px); top:104px; color:rgba(255,255,255,.64); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.source-note a { text-decoration:underline; text-underline-offset:4px; }
.video-section { min-height:80svh; }
.video-stage { position:absolute; z-index:3; left:50%; top:45%; transform:translate(-50%,-50%); width:min(82vw,1000px); aspect-ratio:16/9; display:grid; place-items:center; pointer-events:none; }
.video-play { display:grid; place-items:center; gap:14px; padding:18px; color:#fff; background:none; border:0; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-shadow:0 2px 18px #000; pointer-events:auto; }
.video-play-icon { width:88px; height:88px; display:grid; place-items:center; padding-left:5px; border:1px solid rgba(255,255,255,.85); border-radius:50%; background:rgba(0,0,0,.28); font-size:1.7rem; transition:background .2s,transform .2s; }
.video-play:hover .video-play-icon { background:rgba(255,255,255,.2); transform:scale(1.05); }
.video-stage.is-playing { background:#000; box-shadow:0 20px 80px #000a; }
.video-stage iframe { display:block; width:100%; height:100%; border:0; pointer-events:auto; }

.page-intro { max-width:640px; }
.page-intro h1 { max-width:16ch; }
.story-list { margin:18px 0 25px; padding:0; list-style:none; display:grid; gap:11px; }
.story-list li { display:flex; gap:11px; font-size:1.05rem; line-height:1.4; }
.story-list li::before { content:"→"; flex:0 0 auto; }
.evidence-links { display:flex; flex-wrap:wrap; gap:8px; }
.evidence-links a { display:inline-flex; min-height:48px; align-items:center; padding:0 14px; border:1px solid rgba(255,255,255,.48); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.evidence-links a:hover { background:#fff; color:#000; }

.form-section { min-height:780px; padding:140px clamp(24px,6vw,100px) 95px; align-items:center; }
.form-layout { position:relative; z-index:1; width:min(1180px,100%); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,460px); align-items:start; gap:clamp(30px,7vw,110px); }
.form-intro { padding-top:23px; }
.form-intro h2 { font-size:clamp(2.6rem,4.6vw,5rem); }
.contact-form { background:rgba(250,250,249,.97); color:#111; padding:clamp(24px,3.3vw,46px); box-shadow:0 28px 80px rgba(0,0,0,.25); }
.contact-form h2 { margin-bottom:10px; font-size:1.65rem; letter-spacing:-.04em; text-transform:none; }
.contact-form p { color:#4c4c4c; line-height:1.5; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field.full { grid-column:1/-1; }
.field label { display:block; margin-bottom:7px; font-size:.82rem; font-weight:700; }
.field input,.field select,.field textarea { display:block; width:100%; min-height:48px; padding:11px 12px; color:#111; background:#fff; border:1px solid #b9b9b9; border-radius:0; font-size:1rem; }
.field textarea { min-height:118px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { outline:2px solid #111; outline-offset:2px; }
.field.form-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.submit-button { min-height:52px; margin-top:22px; padding:0 22px; color:#fff; background:#111; border:1px solid #111; font-size:.77rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.submit-button:hover { color:#111; background:#fff; }
.form-note,.form-status { margin:12px 0 0; font-size:.85rem; }
.form-status { min-height:20px; }
.toast { position:fixed; z-index:50; right:22px; bottom:22px; padding:14px 19px; background:#fff; color:#111; box-shadow:0 8px 30px #0007; opacity:0; pointer-events:none; transition:opacity .2s; }
.toast.visible { opacity:1; }

.site-footer { height:75px; background:#050505; }
.footer-inner { height:100%; margin:0 60px; display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:20px; }
.footer-social { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#171717; font-size:.72rem; font-weight:700; }
.footer-social:hover { background:#2a2a2a; }
.footer-links { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:28px; }
.footer-links a { font-size:.66rem; font-weight:500; text-transform:uppercase; letter-spacing:.02em; }
.footer-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-copyright { color:rgba(255,255,255,.82); font-size:.67rem; white-space:nowrap; text-transform:uppercase; }

@media (max-width:1160px) {
  .nav-shell { gap:22px; padding:0 28px; }
  .nav-links { gap:18px; }
  .nav-contact { width:174px; }
  .footer-inner { margin:0 28px; }
}
@media (max-width:920px) {
  .site-header { height:75px; }
  .nav-shell { justify-content:space-between; }
  .nav-links { position:fixed; inset:75px 0 0; display:none; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:24px 8vw 10vh; background:#080808; overflow:auto; }
  .nav-links.open { display:flex; }
  .nav-links li { border-bottom:1px solid rgba(255,255,255,.18); }
  .nav-links > li > a,.nav-dropdown summary { min-height:63px; font-size:1.25rem; }
  .nav-links > li > a::after,.nav-dropdown summary::after { display:none; }
  .nav-submenu { position:static; width:100%; padding:0 0 12px 12px; border:0; box-shadow:none; }
  .nav-submenu a { padding:11px 0; font-size:.8rem; }
  .nav-toggle { display:block; margin-left:auto; }
  .form-layout { grid-template-columns:1fr; }
  .form-intro { padding-top:0; }
  .footer-links { gap:15px; }
}
@media (max-width:600px) {
  .site-header { height:68px; }
  .nav-links { inset:68px 0 0; }
  .nav-shell { padding:0 20px; gap:8px; }
  .brand-mark { width:147px; height:16px; }
  .brand-part { width:147px; top:-11px; }
  .nav-contact { display:none; }
  .story-section { min-height:82svh; }
  .story-section.hero { min-height:100svh; }
  .story-section.compact { min-height:82svh; }
  section[id] { scroll-margin-top:68px; }
  .story-content { margin:0 22px 57px; width:calc(100% - 44px); }
  .kicker { font-size:.72rem; margin-bottom:13px; }
  h1,h2 { font-size:clamp(2.25rem,9.5vw,3.1rem); }
  .story-copy { font-size:1rem; }
  .outline-button { min-height:50px; min-width:170px; }
  .section-index,.photo-credit { display:none; }
  .scroll-cue { right:22px; bottom:22px; }
  .video-stage { top:40%; width:calc(100% - 44px); }
  .video-play-icon { width:72px; height:72px; }
  .proof-strip { gap:10px; }
  .proof-strip div { padding-right:3px; }
  .proof-strip strong { font-size:1.8rem; }
  .proof-strip span { font-size:.7rem; }
  .form-section { padding:100px 18px 70px; }
  .field-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .site-footer { height:auto; min-height:120px; }
  .footer-inner { margin:0 22px; padding:20px 0; grid-template-columns:48px 1fr; gap:14px; }
  .footer-links { grid-column:1/-1; grid-row:2; justify-content:flex-start; gap:12px 18px; }
  .footer-links a { min-height:44px; display:inline-flex; align-items:center; }
  .footer-copyright { justify-self:end; }
}

/* Home: uninterrupted photographic chapters. Interior: evidence-led editorial layouts. */
.home-page .story-section,.home-page .story-section.compact { min-height:100svh; }
.home-page .story-content { width:min(760px,calc(100% - 44px)); margin-bottom:12svh; }
.home-page h1,.home-page h2 { max-width:800px; margin-bottom:28px; font-size:clamp(3rem,4.6vw,5rem); line-height:.98; letter-spacing:-.045em; }
.home-page .kicker { margin-bottom:12px; font-size:.86rem; }
.home-page .outline-button { min-width:160px; }
.home-page .story-image { filter:grayscale(1) brightness(.9); }

.interior-hero { isolation:isolate; position:relative; min-height:100svh; display:grid; place-items:center; overflow:hidden; background:#111; text-align:center; }
.interior-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#0005,#0002 35%,#0006),linear-gradient(90deg,#0004,transparent 50%,#0004); }
.interior-hero .story-image { filter:grayscale(1) brightness(.66); }
.interior-hero.portrait-hero .story-image { object-position:center 27%; }
.interior-title { position:relative; z-index:1; width:min(1100px,calc(100% - 48px)); padding:90px 0 30px; }
.interior-title .kicker { margin-bottom:20px; }
.interior-title h1 { max-width:none; margin:0 0 20px; font-size:clamp(4.2rem,8vw,8rem); line-height:.94; letter-spacing:-.045em; }
.interior-title p { margin:0; color:#f2f2f2; font-size:clamp(.9rem,1.2vw,1.2rem); text-transform:uppercase; letter-spacing:.045em; }
.interior-page h2 { max-width:none; font-size:clamp(2.8rem,4.2vw,4.8rem); line-height:1; }
.interior-page h3 { margin:0; font-size:clamp(1.55rem,2.2vw,2.5rem); line-height:1.1; text-transform:uppercase; letter-spacing:-.035em; }
.interior-page p { line-height:1.58; }

.metric-band { min-height:310px; padding:70px clamp(30px,6vw,100px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:25px; background:#050505; }
.metric { text-align:center; }
.metric strong { display:block; font-size:clamp(3.6rem,6.2vw,7rem); font-weight:300; line-height:1; letter-spacing:-.06em; white-space:nowrap; }
.metric span { display:block; margin-top:15px; color:#c8c8c8; font-size:.83rem; text-transform:uppercase; letter-spacing:.045em; }

.editorial-split { min-height:75svh; display:grid; grid-template-columns:1fr 1fr; background:radial-gradient(ellipse at 45% 100%,#282828,#080808 68%); }
.editorial-split > img { width:100%; height:100%; min-height:75svh; object-fit:cover; filter:grayscale(1) brightness(.78); }
.editorial-copy { align-self:center; padding:clamp(60px,8vw,140px); }
.editorial-copy h2 { margin-bottom:25px; }
.editorial-copy > p:not(.source-note) { max-width:570px; color:#e0e0e0; font-size:1.05rem; }
.editorial-copy .source-note { margin:25px 0 0; }
.editorial-copy .text-action { margin-top:20px; }

.film-panel { isolation:isolate; position:relative; min-height:82svh; overflow:hidden; background:#101010; }
.film-panel::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#000b,transparent 48%),#0002; }
.film-panel .story-image { filter:grayscale(1) brightness(.75); }
.film-panel .video-stage { top:42%; width:min(70vw,920px); }
.film-caption { position:absolute; z-index:2; left:clamp(24px,4.7vw,60px); bottom:55px; max-width:650px; }
.film-caption h2 { margin:0 0 12px; }
.film-caption a { font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; text-decoration:underline; text-underline-offset:5px; }
.video-close { position:absolute; top:10px; right:10px; z-index:6; width:46px; height:46px; display:grid; place-items:center; color:#fff; background:#080808; border:1px solid #fff9; font-size:2rem; line-height:1; pointer-events:auto; }
.video-close:hover,.video-close:focus-visible { color:#080808; background:#fff; }

.cta-band { padding:125px 24px 135px; display:flex; flex-direction:column; align-items:center; background:#050505; text-align:center; }
.cta-band h2 { max-width:850px; margin:0 0 16px; }
.cta-band p { max-width:600px; margin:0 0 28px; color:#cfcfcf; }

.impact-statement,.manifesto-section,.partner-intro { padding:clamp(90px,11vw,170px) clamp(24px,7.8vw,120px); background:#080808; }
.impact-statement h2,.manifesto-section h2,.partner-intro h2 { max-width:900px; margin:0 0 30px; }
.impact-statement p,.manifesto-section p,.partner-intro p { max-width:640px; margin:0; color:#d6d6d6; font-size:clamp(1rem,1.35vw,1.2rem); }
.manifesto-section .text-action { margin-top:28px; }
.section-heading { max-width:1100px; margin:0 auto 45px; }
.section-heading h2 { margin-bottom:20px; }
.section-heading p { max-width:680px; color:#c8c8c8; }

.portfolio-section,.archive-section,.organization-section,.standards-section { padding:100px clamp(24px,6vw,100px) 110px; background:#080808; }
.portfolio-grid { max-width:1360px; margin:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.program-card { background:#131313; }
.program-card a { display:block; height:100%; }
.program-card img { width:100%; height:430px; object-fit:cover; filter:grayscale(1) brightness(.82); transition:filter .25s; }
.program-card:hover img { filter:grayscale(1) brightness(1); }
.card-copy { padding:30px 32px 36px; }
.card-copy > span,.archive-row span,.organization-row > span { color:#a7a7a7; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }
.card-copy h3 { margin:12px 0 13px; }
.card-copy p { max-width:500px; min-height:52px; color:#ccc; }
.card-copy b { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.archive-section { background:#101010; }
.archive-list { max-width:1360px; margin:auto; border-top:1px solid #555; }
.archive-row { display:grid; grid-template-columns:220px 1fr; align-items:center; gap:45px; padding:23px 0; border-bottom:1px solid #484848; }
.archive-row img { width:220px; height:135px; object-fit:cover; filter:grayscale(1); }
.archive-row h3 { margin:8px 0; }
.archive-row p { max-width:700px; margin:0; color:#bdbdbd; }
.archive-section > .source-note { max-width:1360px; margin:24px auto 0; }

.image-ribbon { height:50svh; overflow:hidden; }
.image-ribbon img { width:100%; height:100%; object-fit:cover; object-position:center 48%; filter:grayscale(1) brightness(.82); }
.organization-list { max-width:1360px; margin:auto; border-top:1px solid #4b4b4b; }
.organization-row { display:grid; grid-template-columns:220px minmax(0,1fr) 48px; gap:28px; align-items:start; padding:36px 0; border-bottom:1px solid #4b4b4b; scroll-margin-top:90px; }
.organization-row h3 { margin-bottom:10px; }
.organization-row p { max-width:620px; margin:0; color:#c7c7c7; }
.organization-row > a { width:45px; height:45px; display:grid; place-items:center; border:1px solid #666; font-size:1.5rem; }
.organization-row > a:hover { color:#000; background:#fff; }
.inline-link { display:inline-block; margin-top:9px; font-size:.78rem; text-decoration:underline; text-underline-offset:4px; }

.standards-grid { max-width:1360px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; }
.standards-grid article { padding-top:22px; border-top:1px solid #777; }
.standards-grid span { display:block; margin-bottom:45px; color:#aaa; font-size:.8rem; }
.standards-grid p { color:#c6c6c6; }

.partner-form-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,1fr); background:#111; }
.partner-photo { position:relative; min-height:840px; }
.partner-photo img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) brightness(.7); }
.partner-photo p { position:absolute; left:40px; bottom:30px; margin:0; font-size:.83rem; }
.partner-photo a { text-decoration:underline; text-underline-offset:4px; }
.partner-form-section .contact-form { width:100%; padding:clamp(35px,5vw,80px); box-shadow:none; }
.partner-intro { padding-bottom:100px; }

@media (max-width:920px) {
  .interior-title h1 { font-size:clamp(3.4rem,9vw,6rem); }
  .editorial-split { grid-template-columns:1fr; }
  .editorial-split > img { min-height:0; height:460px; }
  .editorial-split.reverse > img { grid-row:2; }
  .editorial-copy { padding:80px 7vw; }
  .partner-form-section { grid-template-columns:1fr; }
  .partner-photo { min-height:0; height:440px; }
}
@media (max-width:600px) {
  .home-page .story-content { margin:0 22px 90px; }
  .home-page h1,.home-page h2 { font-size:clamp(2.6rem,10vw,3.5rem); margin-bottom:24px; }
  .home-page .kicker { font-size:.72rem; }
  .interior-title { padding:80px 0 20px; }
  .interior-title h1 { font-size:clamp(3.25rem,13vw,5rem); overflow-wrap:anywhere; }
  .interior-title p { font-size:.83rem; line-height:1.45; }
  .metric-band { min-height:0; grid-template-columns:1fr; gap:38px; padding:75px 24px; }
  .metric strong { font-size:clamp(4rem,15vw,6rem); }
  .editorial-copy { padding:80px 24px; }
  .editorial-split > img { height:340px; }
  .film-panel { min-height:82svh; }
  .film-panel .video-stage { top:35%; width:calc(100% - 40px); }
  .film-caption { left:22px; right:22px; bottom:35px; }
  .film-caption h2 { font-size:2.25rem; }
  .portfolio-section,.archive-section,.organization-section,.standards-section { padding:80px 22px; }
  .portfolio-grid,.standards-grid { grid-template-columns:1fr; }
  .program-card img { height:280px; }
  .card-copy { padding:25px; }
  .card-copy p { min-height:0; }
  .archive-row { grid-template-columns:100px 1fr; gap:16px; padding:20px 0; }
  .archive-row img { width:100px; height:100px; }
  .archive-row h3 { font-size:1.25rem; }
  .archive-row p { font-size:.85rem; }
  .organization-row { grid-template-columns:1fr 40px; gap:10px; }
  .organization-row > span { grid-column:1/-1; }
  .organization-row > a { width:40px; height:40px; }
  .standards-grid { gap:32px; }
  .standards-grid span { margin-bottom:25px; }
  .partner-photo { height:300px; }
  .partner-form-section .contact-form { padding:36px 22px; }
  .cta-band { padding:100px 22px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* The opening uses a brief, muted excerpt of the original NEXTGEN film. */
.motion-hero .hero-fallback { animation:hero-drift 22s ease-in-out infinite alternate; }
.motion-hero .hero-video { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.15); filter:grayscale(1) brightness(.82); opacity:0; transition:opacity .8s ease,filter .7s ease; }
.motion-hero .hero-video.is-ready { opacity:1; }
.motion-hero:hover .hero-video,.motion-hero:focus-within .hero-video { filter:grayscale(0) brightness(.9); }
@keyframes hero-drift { to { transform:scale(1.08); } }

/* A compact pinned story makes the donor promise unfold as the visitor scrolls. */
.inspiration-section { position:relative; height:190svh; background:#050505; }
.inspiration-sticky { isolation:isolate; position:sticky; top:0; height:100svh; min-height:620px; overflow:hidden; display:flex; align-items:center; background:#050505; }
.inspiration-sticky::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#050505 2%,#050505ee 32%,#0505057a 65%,#05050514 100%),linear-gradient(0deg,#050505ad,transparent 30%); }
.inspiration-visual { position:absolute; inset:0 0 0 41%; overflow:hidden; }
.inspiration-photo { z-index:0; object-position:center; transform:translate3d(0,var(--photo-shift,0px),0) scale(1.16); filter:grayscale(1) brightness(.76); }
.inspiration-copy { position:relative; z-index:2; width:min(930px,66%); padding:95px 0 65px clamp(24px,5vw,82px); }
.inspiration-copy .kicker { margin-bottom:24px; }
.inspiration-copy h2 { margin:0; font-size:clamp(4rem,6.8vw,7rem); line-height:.92; letter-spacing:-.055em; }
.inspiration-lines { margin:clamp(36px,6vh,70px) 0 30px; }
.inspiration-line { margin:0 0 27px; color:#efefef; font-size:clamp(1.4rem,2.45vw,2.75rem); line-height:1.12; letter-spacing:-.035em; transition:opacity .55s ease,transform .55s ease; }
.inspiration-line strong { font-weight:800; }
.inspiration-section.motion-enabled .inspiration-line { opacity:.58; transform:translateY(18px); }
.inspiration-section.motion-enabled[data-phase="first"] [data-story-line="first"],.inspiration-section.motion-enabled[data-phase="second"] [data-story-line="second"] { opacity:1; transform:translateY(0); }
.inspiration-action { margin-top:6px; }
.inspiration-progress { position:absolute; z-index:2; left:clamp(24px,5vw,82px); bottom:35px; width:min(300px,35vw); height:2px; background:#ffffff48; }
.inspiration-progress span { display:block; width:100%; height:100%; background:#fff; transform:scaleX(var(--story-progress,0)); transform-origin:left; }

/* Documentary photography begins monochrome and reveals its original colour on hover. */
.story-image,.editorial-split > img,.program-card img,.archive-row img,.image-ribbon img,.partner-photo img { transition:filter .65s ease; }
.home-page .story-section:hover .story-image,.home-page .story-section:focus-within .story-image,.inspiration-section:hover .inspiration-photo,.inspiration-section:focus-within .inspiration-photo,.interior-hero:hover .story-image,.editorial-split:hover > img,.program-card:hover img,.archive-row:hover img,.image-ribbon:hover img,.film-panel:hover .story-image,.partner-photo:hover img { filter:grayscale(0) brightness(.94); }

@media (max-width:920px) {
  .inspiration-visual { inset:0 0 0 29%; }
  .inspiration-copy { width:min(720px,76%); }
  .inspiration-sticky::after { background:linear-gradient(90deg,#050505 1%,#050505df 42%,#0505054a 100%),linear-gradient(0deg,#050505a0,transparent 40%); }
}
@media (max-width:600px) {
  .inspiration-section { height:165svh; }
  .inspiration-sticky { min-height:0; align-items:flex-end; }
  .inspiration-visual { inset:0; }
  .inspiration-photo { object-position:50% center; }
  .inspiration-sticky::after { background:linear-gradient(0deg,#050505 5%,#050505e8 34%,#05050538 100%); }
  .inspiration-copy { width:100%; padding:95px 22px 85px; }
  .inspiration-copy .kicker { margin-bottom:16px; }
  .inspiration-copy h2 { font-size:clamp(2.85rem,12vw,4.3rem); }
  .inspiration-lines { margin:28px 0 18px; }
  .inspiration-line { margin-bottom:18px; font-size:clamp(1.3rem,5.6vw,1.8rem); }
  .inspiration-progress { left:22px; bottom:28px; width:calc(100% - 44px); }
  .motion-hero .hero-video { transform:scale(1.18); }
}
@media (prefers-reduced-motion:reduce) {
  .motion-hero .hero-video { display:none; }
  .motion-hero .hero-fallback { animation:none; }
  .inspiration-section { height:auto; }
  .inspiration-sticky { position:relative; min-height:100svh; height:auto; }
  .inspiration-photo { transform:none; }
  .inspiration-section.motion-enabled .inspiration-line { opacity:1; transform:none; }
  .inspiration-progress { display:none; }
}

/* Interior pages: a light editorial system. The film-led homepage remains untouched. */
.interior-page { color-scheme:light; background:#FAF8F5; color:#111111; font-family:"Helvetica Neue",Arial,Helvetica,sans-serif; }
.interior-page :focus-visible { outline-color:#111111; }
.interior-page .site-header,.interior-page .site-header.scrolled,.interior-page.menu-open .site-header { background:rgba(255,255,255,.97); border-bottom:1px solid #E8E8E8; }
.interior-page .brand-part { filter:brightness(0); }
.interior-page .nav-links > li > a::after,.interior-page .nav-dropdown summary::after { background:#111111; }
.interior-page .nav-submenu { background:#FFFFFF; border-top-color:#111111; box-shadow:0 20px 45px #11111116; }
.interior-page .nav-submenu a { color:#444444; }
.interior-page .nav-submenu a:hover,.interior-page .nav-submenu a:focus-visible { color:#111111; background:#FAF8F5; }
.interior-page .nav-contact { border-color:#E8E8E8; }
.interior-page .nav-contact:hover { background:#111111; color:#FFFFFF; }
.interior-page .nav-toggle span { background:#111111; }
.interior-page .site-footer { color:#FFFFFF; background:#111111; }
.interior-page .site-footer :focus-visible,.interior-page .film-panel .video-play:focus-visible,.interior-page .video-close:focus-visible { outline-color:#FFFFFF; }
.interior-page .kicker { color:#444444; }
.interior-page .source-note { color:#444444; }
.interior-page .source-note a { color:#111111; }
.interior-page .text-action { color:#111111; }
.interior-page .outline-button { color:#111111; border-color:#111111; }
.interior-page .outline-button:hover { color:#FFFFFF; background:#111111; }

.interior-page .interior-hero { min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:center; gap:clamp(35px,5vw,85px); padding:115px clamp(30px,6.5vw,108px) 75px; background:radial-gradient(ellipse at 82% 25%,#F5EBDD 0%,#FAF8F5 42%,#FFFFFF 78%); text-align:left; }
.interior-page .interior-hero::after { display:none; }
.interior-page .interior-hero .story-image { position:relative; inset:auto; z-index:1; order:2; width:100%; height:min(69svh,680px); object-fit:cover; object-position:center; filter:grayscale(1) brightness(.94); border-radius:3px; box-shadow:0 30px 75px #11111124; transition:filter .65s ease; }
.interior-page .interior-hero:hover .story-image { filter:grayscale(0) brightness(1); }
.interior-page .interior-hero.portrait-hero .story-image { object-position:center 32%; }
.interior-page .interior-title { order:1; width:100%; padding:0; }
.interior-page .interior-title .kicker { margin-bottom:24px; }
.interior-page .interior-title h1 { max-width:none; margin:0 0 22px; color:#111111; font-size:clamp(3.25rem,5vw,5.5rem); line-height:.95; letter-spacing:-.055em; overflow-wrap:anywhere; }
.interior-page .interior-title p { max-width:510px; color:#444444; font-size:clamp(1rem,1.35vw,1.3rem); font-weight:500; line-height:1.45; text-transform:none; letter-spacing:0; }
.interior-page .interior-hero .scroll-cue { display:none; }
.interior-page h2,.interior-page h3 { color:#111111; }
.interior-page .interior-title h1,.interior-page h2,.interior-page h3 { text-wrap:balance; }

.interior-page .metric-band { position:relative; z-index:3; width:min(1280px,calc(100% - 64px)); min-height:250px; margin:-42px auto 85px; padding:45px 42px; color:#111111; background:#FFFFFF; border:1px solid #E8E8E8; border-radius:3px; box-shadow:0 25px 65px #11111114; }
.interior-page .metric + .metric { border-left:1px solid #E8E8E8; }
.interior-page .metric strong { color:#111111; font-size:clamp(3.5rem,5vw,5.8rem); }
.interior-page .metric span { color:#444444; }

.interior-page .impact-statement,.interior-page .manifesto-section,.interior-page .partner-intro { background:#FAF8F5; }
.interior-page .impact-statement p,.interior-page .manifesto-section p,.interior-page .partner-intro p { color:#444444; }
.interior-page .portfolio-section,.interior-page .organization-section { background:#FFFFFF; }
.interior-page .archive-section,.interior-page .standards-section { background:#FAF8F5; }
.interior-page .section-heading p { color:#444444; }
.interior-page .program-card { overflow:hidden; background:#FFFFFF; border:1px solid #E8E8E8; border-radius:3px; box-shadow:0 18px 50px #11111110; transition:transform .5s ease,box-shadow .5s ease; }
.interior-page .program-card:hover { transform:translateY(-6px); box-shadow:0 30px 65px #1111111c; }
.interior-page .program-card img { filter:grayscale(1) brightness(.94); }
.interior-page .program-card:hover img { filter:grayscale(0) brightness(1); }
.interior-page .card-copy > span,.interior-page .archive-row span,.interior-page .organization-row > span { color:#444444; }
.interior-page .card-copy p,.interior-page .archive-row p,.interior-page .organization-row p { color:#444444; }
.interior-page .archive-list,.interior-page .organization-list { display:grid; gap:16px; border:0; }
.interior-page .archive-row,.interior-page .organization-row { background:#FFFFFF; border:1px solid #E8E8E8; border-radius:3px; box-shadow:0 10px 30px #1111110b; }
.interior-page .archive-row { padding:18px; }
.interior-page .archive-row img { filter:grayscale(1) brightness(.95); }
.interior-page .archive-row:hover img { filter:grayscale(0) brightness(1); }
.interior-page .organization-row { padding:32px; }
.interior-page .organization-row > a { border-color:#E8E8E8; }
.interior-page .organization-row > a:hover { color:#FFFFFF; background:#111111; }
.interior-page .image-ribbon img { filter:grayscale(1) brightness(.94); }
.interior-page .image-ribbon:hover img { filter:grayscale(0) brightness(1); }

.interior-page .editorial-split { background:#FFFFFF; }
.interior-page .editorial-split > img { filter:grayscale(1) brightness(.92); }
.interior-page .editorial-split:hover > img { filter:grayscale(0) brightness(1); }
.interior-page .editorial-copy > p:not(.source-note) { color:#444444; }
.interior-page .standards-grid { gap:20px; }
.interior-page .standards-grid article { min-height:320px; padding:32px; background:#FFFFFF; border:1px solid #E8E8E8; border-radius:3px; box-shadow:0 14px 35px #1111110b; }
.interior-page .standards-grid span,.interior-page .standards-grid p { color:#444444; }

.interior-page .film-panel { --film-gap:clamp(24px,6vw,100px); min-height:84svh; background:#FAF8F5; }
.interior-page .film-panel .story-image { inset:50px var(--film-gap) 118px; z-index:0; width:calc(100% - var(--film-gap) - var(--film-gap)); height:calc(100% - 168px); filter:grayscale(1) brightness(.75); border-radius:3px; box-shadow:0 20px 60px #11111122; }
.interior-page .film-panel:hover .story-image { filter:grayscale(0) brightness(.86); }
.interior-page .film-panel::after { inset:50px var(--film-gap) 118px; z-index:1; background:linear-gradient(0deg,#0007,transparent 45%); pointer-events:none; }
.interior-page .film-panel .video-stage { top:40%; }
.interior-page .film-caption { left:var(--film-gap); bottom:32px; color:#111111; }
.interior-page .film-caption .kicker { color:#444444; }
.interior-page .film-caption a { color:#111111; }
.interior-page .cta-band { background:radial-gradient(ellipse at 50% 0%,#F5EBDD,#FAF8F5 58%,#FFFFFF); }
.interior-page .cta-band p { color:#444444; }

.interior-page .partner-form-section { gap:0; padding:60px clamp(24px,6vw,100px); background:#FAF8F5; }
.interior-page .partner-photo { min-height:710px; }
.interior-page .partner-photo img { position:absolute; inset:0; width:100%; height:100%; filter:grayscale(1) brightness(.78); }
.interior-page .partner-photo:hover img { filter:grayscale(0) brightness(.92); }
.interior-page .partner-photo p { color:#FFFFFF; text-shadow:0 2px 12px #111111; }
.interior-page .partner-form-section .contact-form { position:relative; z-index:2; width:calc(100% + 34px); margin:28px 0 28px -34px; padding:clamp(35px,4vw,70px); background:#FFFFFF; border:1px solid #E8E8E8; box-shadow:0 25px 65px #11111120; }

.interior-page.interior-motion .metric-band:not(.in-view),.interior-page.interior-motion .impact-statement:not(.in-view),.interior-page.interior-motion .manifesto-section:not(.in-view),.interior-page.interior-motion .partner-intro:not(.in-view),.interior-page.interior-motion .portfolio-grid:not(.in-view),.interior-page.interior-motion .archive-list:not(.in-view),.interior-page.interior-motion .organization-list:not(.in-view),.interior-page.interior-motion .standards-grid:not(.in-view),.interior-page.interior-motion .editorial-copy:not(.in-view),.interior-page.interior-motion .cta-band:not(.in-view),.interior-page.interior-motion .contact-form:not(.in-view) { opacity:0; transform:translateY(20px); }
.interior-page .metric-band,.interior-page .impact-statement,.interior-page .manifesto-section,.interior-page .partner-intro,.interior-page .portfolio-grid,.interior-page .archive-list,.interior-page .organization-list,.interior-page .standards-grid,.interior-page .editorial-copy,.interior-page .cta-band,.interior-page .contact-form { transition:opacity .7s ease,transform .7s ease; }

@media (max-width:920px) {
  .interior-page .nav-links { background:#FFFFFF; }
  .interior-page .interior-hero { grid-template-columns:1fr; gap:42px; min-height:0; padding:130px 7vw 95px; }
  .interior-page .interior-title { order:1; }
  .interior-page .interior-hero .story-image { order:2; height:min(55svh,520px); }
  .interior-page .interior-title h1 { font-size:clamp(3.4rem,9vw,5.7rem); }
  .interior-page .metric-band { margin:-45px auto 65px; }
  .interior-page .metric strong { font-size:clamp(2.8rem,5.5vw,4.7rem); }
  .interior-page .partner-form-section { grid-template-columns:1fr; }
  .interior-page .partner-photo { min-height:0; height:420px; }
  .interior-page .partner-form-section .contact-form { width:calc(100% - 48px); margin:-42px 24px 0; }
}
@media (max-width:600px) {
  .interior-page .interior-hero { gap:32px; padding:112px 22px 70px; }
  .interior-page .interior-title h1 { font-size:clamp(3.05rem,12vw,4.7rem); }
  .interior-page .interior-hero .story-image { height:42svh; }
  .interior-page .metric-band { width:calc(100% - 36px); margin:-26px auto 45px; padding:35px 22px; gap:0; }
  .interior-page .metric { padding:25px 0; }
  .interior-page .metric + .metric { border-left:0; border-top:1px solid #E8E8E8; }
  .interior-page .metric strong { font-size:clamp(3.5rem,13vw,5.4rem); }
  .interior-page .archive-row { gap:14px; padding:12px; }
  .interior-page .organization-row { padding:24px; }
  .interior-page .standards-grid article { min-height:0; }
  .interior-page .film-panel { min-height:75svh; }
  .interior-page .film-panel .story-image,.interior-page .film-panel::after { inset:34px var(--film-gap) 125px; height:calc(100% - 159px); }
  .interior-page .film-panel .video-stage { top:34%; }
  .interior-page .film-caption { bottom:26px; }
  .interior-page .partner-form-section { padding:32px 0 70px; }
  .interior-page .partner-photo { height:310px; margin:0 22px; }
  .interior-page .partner-form-section .contact-form { width:calc(100% - 44px); margin:-35px 22px 0; padding:32px 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .interior-page.interior-motion .metric-band:not(.in-view),.interior-page.interior-motion .impact-statement:not(.in-view),.interior-page.interior-motion .manifesto-section:not(.in-view),.interior-page.interior-motion .partner-intro:not(.in-view),.interior-page.interior-motion .portfolio-grid:not(.in-view),.interior-page.interior-motion .archive-list:not(.in-view),.interior-page.interior-motion .organization-list:not(.in-view),.interior-page.interior-motion .standards-grid:not(.in-view),.interior-page.interior-motion .editorial-copy:not(.in-view),.interior-page.interior-motion .cta-band:not(.in-view),.interior-page.interior-motion .contact-form:not(.in-view) { opacity:1; transform:none; }
}

/* Film-led opening: the organization and one promise remain the visual focus. */
.home-page .motion-hero { align-items:center; justify-content:center; }
.home-page .motion-hero::after { background:linear-gradient(180deg,#0007,transparent 34%,#0005 75%,#000b),linear-gradient(90deg,#0005,transparent 70%); }
.home-page .motion-hero .page-intro { width:min(1150px,calc(100% - 48px)); max-width:none; margin:42px auto 0; text-align:center; }
.home-page .motion-hero h1 { max-width:none; margin-bottom:17px; font-size:clamp(4.25rem,8.3vw,8.7rem); line-height:.9; letter-spacing:-.068em; }
.home-page .motion-hero .kicker { margin-bottom:25px; font-size:.78rem; letter-spacing:.22em; }
.home-hero-promise { max-width:650px; margin:32px auto 27px; color:#f4f4f4; font-size:clamp(1rem,1.45vw,1.35rem); line-height:1.4; text-wrap:balance; }
.home-page .motion-hero .story-actions { justify-content:center; gap:12px; }
.home-page .motion-hero .outline-button { min-height:49px; }
.home-page .motion-hero .hero-partner-action { background:#fff; color:#111; border-color:#fff; }
.home-page .motion-hero .hero-partner-action:hover { background:transparent; color:#fff; }
.home-hero-proof { position:absolute; z-index:2; left:clamp(24px,4.7vw,60px); bottom:28px; width:min(560px,calc(100% - 110px)); padding-top:14px; border-top:1px solid rgba(255,255,255,.45); display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 15px; text-align:left; }
.home-hero-proof strong { font-size:clamp(1.45rem,2.1vw,2rem); line-height:1; letter-spacing:-.05em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.home-hero-proof span { color:#f0f0f0; font-size:.84rem; }
.home-hero-proof a { color:#fff; font-size:.75rem; font-weight:700; text-decoration:underline; text-underline-offset:4px; text-transform:uppercase; letter-spacing:.05em; }
.home-film-dialog { width:min(1180px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; color:#fff; background:#080808; border:1px solid #444; box-shadow:0 28px 100px #000b; }
.home-film-dialog::backdrop { background:rgba(0,0,0,.88); }
.home-film-embed { width:100%; aspect-ratio:16/9; background:#111; }
.home-film-embed iframe { display:block; width:100%; height:100%; border:0; }
.home-film-close { position:absolute; z-index:1; top:12px; right:12px; width:44px; height:44px; display:grid; place-items:center; padding:0; color:#fff; background:#111c; border:1px solid #fff8; border-radius:50%; font-size:1.7rem; line-height:1; }
.home-film-close:hover { color:#111; background:#fff; }
.home-film-fallback { min-height:48px; display:flex; align-items:center; justify-content:center; padding:10px 20px; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:600px) {
  .home-film-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .home-film-close { top:7px; right:7px; width:44px; height:44px; }
  .home-page .motion-hero .page-intro { width:calc(100% - 44px); margin:16px 22px 0; }
  .home-page .motion-hero .kicker { margin-bottom:18px; font-size:.64rem; letter-spacing:.13em; }
  .home-page .motion-hero h1 { font-size:clamp(2.45rem,11.5vw,4.2rem); margin-bottom:12px; }
  .home-hero-promise { margin:22px auto 20px; font-size:1rem; }
  .home-page .motion-hero .story-actions { gap:8px; }
  .home-page .motion-hero .outline-button { min-height:46px; min-width:0; padding:0 12px; gap:10px; font-size:.75rem; }
  .home-hero-proof { left:22px; bottom:18px; width:calc(100% - 80px); padding-top:10px; gap:5px 10px; }
  .home-hero-proof strong { font-size:1.38rem; }
  .home-hero-proof span { font-size:.75rem; }
  .home-hero-proof a { flex-basis:100%; min-height:44px; display:inline-flex; align-items:center; font-size:.69rem; }
}
@media (max-width:360px), (max-height:680px) and (max-width:600px) {
  .home-page .motion-hero .page-intro { margin-top:-26px; }
  .home-page .motion-hero h1 { font-size:clamp(2.3rem,11vw,3.4rem); }
  .home-hero-promise { margin:16px auto; font-size:.92rem; }
}
@media (max-width:360px) {
  .home-page .motion-hero .outline-button { width:100%; }
}

/* The second chapter is a single, scroll-paced statement over moving documentary imagery. */
.inspiration-sticky { justify-content:center; }
.inspiration-sticky::after { background:linear-gradient(180deg,#05050594,#0505056b 42%,#050505b8),linear-gradient(90deg,#05050580,transparent 72%); }
.inspiration-visual { inset:0; }
.inspiration-photo { object-position:center; transform:translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-scale,1.22)); filter:grayscale(1) brightness(.58); }
.inspiration-section:hover .inspiration-photo,.inspiration-section:focus-within .inspiration-photo { filter:grayscale(0) brightness(.65); }
.inspiration-copy { width:min(1050px,calc(100% - 72px)); padding:110px 0 95px; text-align:center; }
.inspiration-copy .kicker { letter-spacing:.2em; }
.inspiration-copy h2 { max-width:none; font-size:clamp(3.5rem,6.7vw,7.2rem); }
.inspiration-copy .inspiration-lines { margin:clamp(28px,4.5vh,48px) 0 14px; }
.inspiration-copy .inspiration-line { margin-bottom:12px; font-size:clamp(1.4rem,2.55vw,2.6rem); }
.inspiration-signature { margin:23px auto 25px; padding-top:17px; width:min(560px,100%); border-top:1px solid rgba(255,255,255,.45); font-size:clamp(1.5rem,2.8vw,2.6rem); line-height:1.12; letter-spacing:-.035em; font-weight:700; transition:opacity .55s ease,transform .55s ease; }
.inspiration-mechanism { width:min(650px,100%); margin:0 auto 23px; color:#f2f2f2; font-size:clamp(.9rem,1.12vw,1.05rem); line-height:1.5; text-wrap:balance; }
.inspiration-section.motion-enabled .inspiration-signature { opacity:.7; transform:translateY(10px); }
.inspiration-section.motion-enabled[data-phase="second"] .inspiration-signature { opacity:1; transform:none; }
.inspiration-progress { left:50%; bottom:25px; width:min(300px,60vw); transform:translateX(-50%); }

/* A four-stop journey: galaxy → sun → Earth → young people. */
.cosmic-section { position:relative; height:205svh; background:#070707; color:#fff; }
.cosmic-sticky { isolation:isolate; position:sticky; top:0; height:100svh; min-height:620px; overflow:hidden; display:flex; align-items:center; background:radial-gradient(ellipse at 70% 45%,#1e1e1e,#070707 67%); }
.cosmic-sticky::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#070707f5 0%,#070707da 27%,#07070770 55%,#07070712 100%),linear-gradient(0deg,#070707b8,transparent 23%); }
.cosmic-scene { position:absolute; inset:0; overflow:hidden; cursor:ew-resize; }
.cosmic-layer { position:absolute; inset:0; opacity:0; transform:scale(.82); transition:opacity .8s ease,transform 2.7s cubic-bezier(.15,.72,.2,1); }
.cosmic-layer img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.cosmic-galaxy { animation:galaxy-drift 30s ease-in-out infinite alternate; }
.cosmic-youth img { object-fit:cover; object-position:64% center; filter:grayscale(1) brightness(.58); transition:filter .65s ease; }
.cosmic-section:hover .cosmic-youth img,.cosmic-section:focus-within .cosmic-youth img { filter:grayscale(0) brightness(.8); }
.cosmic-section:not(.cosmic-active) .cosmic-youth,.cosmic-section[data-stage="0"] .cosmic-galaxy,.cosmic-section[data-stage="1"] .cosmic-sun,.cosmic-section[data-stage="2"] .cosmic-earth,.cosmic-section[data-stage="3"] .cosmic-youth { opacity:1; transform:scale(1.1); }
@keyframes galaxy-drift { to { transform:scale(1.15) rotate(2deg); } }
.cosmic-copy { position:relative; z-index:2; width:min(650px,56%); margin:-35px 0 0 clamp(24px,5vw,82px); }
.cosmic-copy .kicker { margin-bottom:18px; }
.cosmic-copy h2 { max-width:none; margin-bottom:30px; font-size:clamp(3.6rem,6vw,6.7rem); line-height:.92; }
.cosmic-copy p { margin:0 0 19px; font-size:clamp(1.3rem,2vw,2rem); line-height:1.19; letter-spacing:-.025em; opacity:.54; transition:opacity .55s ease,transform .55s ease; transform:translateY(8px); }
.cosmic-section:not(.cosmic-active) .cosmic-copy p { opacity:1; transform:none; }
.cosmic-section[data-stage="1"] .cosmic-copy p:first-of-type,.cosmic-section[data-stage="2"] .cosmic-copy p:last-of-type,.cosmic-section[data-stage="3"] .cosmic-copy p { opacity:1; transform:none; }
.cosmic-copy p strong { font-weight:800; }
.cosmic-copy .outline-button { margin-top:14px; }
.cosmic-navigation { position:absolute; z-index:3; left:clamp(24px,5vw,82px); right:clamp(24px,5vw,82px); bottom:28px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.cosmic-hint { margin:0 0 10px; color:#e4e4e4; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cosmic-steps { display:flex; gap:7px; }
.cosmic-steps button { min-width:78px; min-height:40px; padding:8px 9px; color:#aaa; background:transparent; border:0; border-top:1px solid #777; text-align:left; font-size:.67rem; font-weight:700; letter-spacing:.065em; text-transform:uppercase; transition:color .25s,border-color .25s; }
.cosmic-steps button span { display:block; margin-bottom:5px; font-size:.61rem; }
.cosmic-steps button:hover,.cosmic-steps button[aria-pressed="true"] { color:#fff; border-color:#fff; }
@media (max-width:920px) {
  .cosmic-scene { inset:0; }
  .cosmic-copy { width:min(620px,70%); }
  .cosmic-sticky::after { background:linear-gradient(90deg,#070707ed 0%,#070707dc 32%,#07070752 100%),linear-gradient(0deg,#0707079c,transparent 28%); }
  .cosmic-navigation { gap:16px; }
  .cosmic-hint { max-width:160px; line-height:1.4; }
}
@media (max-width:600px) {
  .inspiration-sticky { align-items:center; }
  .inspiration-sticky::after { background:linear-gradient(180deg,#05050586,#0505057d 45%,#050505da); }
  .inspiration-copy { width:calc(100% - 44px); padding:95px 0 82px; }
  .inspiration-copy h2 { font-size:clamp(2.7rem,10.5vw,4rem); }
  .inspiration-copy .inspiration-lines { margin:25px 0 10px; }
  .inspiration-copy .inspiration-line { font-size:clamp(1.2rem,5.1vw,1.7rem); margin-bottom:9px; }
  .inspiration-signature { margin:17px 0 18px; padding-top:14px; font-size:1.42rem; }
  .inspiration-mechanism { margin-bottom:15px; font-size:.91rem; }
  .cosmic-section { height:190svh; }
  .cosmic-sticky { min-height:0; align-items:flex-end; }
  .cosmic-scene { inset:0; }
  .cosmic-sticky::after { background:linear-gradient(0deg,#070707 3%,#070707ed 36%,#07070758 74%,#07070710 100%); }
  .cosmic-copy { width:calc(100% - 44px); margin:0 22px 108px; }
  .cosmic-copy .kicker { margin-bottom:12px; font-size:.68rem; }
  .cosmic-copy h2 { margin-bottom:20px; font-size:clamp(2.55rem,10.5vw,3.8rem); }
  .cosmic-copy p { margin-bottom:13px; font-size:clamp(1.1rem,4.9vw,1.55rem); }
  .cosmic-copy .outline-button { margin-top:5px; min-height:44px; }
  .cosmic-navigation { left:22px; right:22px; bottom:22px; display:block; }
  .cosmic-hint { display:none; }
  .cosmic-steps { width:100%; gap:4px; }
  .cosmic-steps button { flex:1; min-width:0; min-height:44px; padding:7px 3px; font-size:.6rem; }
}
@media (max-width:360px), (max-height:680px) and (max-width:600px) {
  .cosmic-copy { margin-bottom:93px; }
  .cosmic-copy h2 { font-size:2.35rem; margin-bottom:13px; }
  .cosmic-copy p { font-size:1.05rem; margin-bottom:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .cosmic-section { height:auto; }
  .cosmic-sticky { position:relative; min-height:100svh; height:auto; }
  .cosmic-section.cosmic-active .cosmic-layer { opacity:0; }
  .cosmic-section.cosmic-active .cosmic-youth { opacity:1; }
  .cosmic-navigation { display:none; }
  .cosmic-copy p { opacity:1; transform:none; }
  .inspiration-section.motion-enabled .inspiration-signature { opacity:1; transform:none; }
}

/* Donor evidence and trust pages keep the light editorial language. */
.evidence-section { padding:clamp(70px,9vw,140px) clamp(24px,7vw,112px); background:#FFFFFF; scroll-margin-top:90px; }
.evidence-section-alt { background:#FAF8F5; }
.evidence-heading { max-width:900px; }
.evidence-heading h2 { margin:0 0 22px; font-size:clamp(2.5rem,5.2vw,5.6rem); line-height:1; letter-spacing:-.06em; }
.evidence-heading p { max-width:800px; margin:0 0 26px; color:#444444; font-size:clamp(1.03rem,1.5vw,1.3rem); line-height:1.55; }
.evidence-section a:not(.outline-button) { color:#111111; text-underline-offset:4px; }
.evidence-result { display:flex; flex-direction:column; gap:12px; max-width:900px; padding:34px 0 43px; border-top:1px solid #E8E8E8; border-bottom:1px solid #E8E8E8; }
.evidence-result strong { font-size:clamp(3.7rem,8vw,8rem); line-height:.95; letter-spacing:-.075em; font-variant-numeric:tabular-nums; }
.evidence-result strong span { color:#9b9285; }
.evidence-result > span { color:#444444; font-size:.81rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.evidence-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:28px; }
.evidence-facts-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.evidence-facts article,.evidence-steps article,.pathway-card,.diligence-item { padding:clamp(25px,3vw,38px); background:#FFFFFF; border:1px solid #E8E8E8; box-shadow:0 18px 45px #1111110b; }
.evidence-section:not(.evidence-section-alt) .evidence-facts article { background:#FAF8F5; }
.evidence-facts article > span,.diligence-item > span { display:block; margin-bottom:13px; color:#444444; font-size:.73rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.evidence-facts p,.evidence-steps p,.pathway-card p,.diligence-item p { margin:0; color:#444444; line-height:1.55; }
.evidence-facts a { font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.evidence-caution { max-width:900px; margin:30px 0 0; padding:23px 27px; color:#333333; background:#F5EBDD; border-left:3px solid #111111; line-height:1.6; }
.evidence-section .source-note { max-width:900px; margin:24px 0 0; line-height:1.55; }
.evidence-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.evidence-steps strong { display:block; margin-bottom:30px; color:#aaa092; font-size:.8rem; }
.evidence-steps h3 { margin:0 0 12px; font-size:1.45rem; letter-spacing:-.04em; }
.pathway-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:1260px; margin:32px auto 0; }
.pathway-card h3 { margin:0 0 16px; font-size:clamp(1.75rem,2.8vw,2.8rem); letter-spacing:-.05em; }
.pathway-card .text-action { display:inline-block; margin-top:24px; }
.pathway-card .kicker { display:block; margin-bottom:28px; }
.diligence-list { display:grid; gap:12px; margin-top:30px; }
.diligence-item { display:grid; grid-template-columns:minmax(150px,.6fr) minmax(0,1.4fr); gap:30px; align-items:start; }
.diligence-item > span { margin:5px 0 0; }
.diligence-item strong { display:block; margin-bottom:8px; font-size:1.13rem; }
.diligence-item p { max-width:850px; }
.archive-status { display:block; margin-top:10px; font-size:.74rem; line-height:1.5; color:#666666; }
.partner-form-section .privacy-note { margin:16px 0 0; font-size:.79rem; }
.partner-form-section .privacy-note a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.contact-form .field-grid[hidden],.contact-form .submit-button[hidden],.contact-form .form-note[hidden],.contact-form > p[hidden] { display:none; }
.contact-form .inquiry-unavailable { max-width:470px; margin:18px 0 12px; padding:20px 23px; background:#F5EBDD; border-left:3px solid #111111; }
.contact-form .inquiry-unavailable a { color:#111111; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:920px) {
  .evidence-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .evidence-facts-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .evidence-section { padding:68px 22px; }
  .evidence-heading h2 { font-size:clamp(2.4rem,10vw,3.5rem); }
  .evidence-result strong { font-size:clamp(3.4rem,14vw,5.5rem); }
  .evidence-facts,.evidence-facts-three,.evidence-steps,.pathway-grid { grid-template-columns:1fr; }
  .diligence-item { grid-template-columns:1fr; gap:5px; }
}

/* The closing invitation and shared footer form one uninterrupted photo chapter. */
.home-page #partner { flex-direction:column; align-items:stretch; justify-content:flex-end; }
.home-page #partner .story-image { object-position:center 56%; }
.home-page #partner .story-content { flex:0 0 auto; margin: auto 0 clamp(32px,6svh,78px) clamp(24px,4.7vw,60px); }
.home-page #partner .site-footer { position:relative; z-index:2; flex:0 0 auto; width:100%; min-height:75px; height:auto; color:#FFFFFF; background:linear-gradient(0deg,rgba(44,44,44,.76),rgba(44,44,44,.08)); }
.home-page #partner .footer-inner { min-height:75px; border-top:1px solid rgba(255,255,255,.34); }
.home-page #partner .site-footer :focus-visible { outline-color:#FFFFFF; }

@media (max-width:600px) {
  .home-page #partner .story-content { margin: auto 22px 24px; width:calc(100% - 44px); }
  .home-page #partner .footer-inner { padding:14px 0 18px; }
}

/* The homepage follows a photographic hierarchy: modest copy, dominant image. */
.home-page .motion-hero { align-items:flex-end; justify-content:flex-start; }
.home-page .motion-hero::after { background:linear-gradient(90deg,#0009 0%,#0005 38%,transparent 76%),linear-gradient(0deg,#000b,transparent 72%); }
.home-page .motion-hero .page-intro { width:min(680px,calc(100% - 120px)); margin:0 0 clamp(95px,14svh,145px) clamp(24px,4.7vw,60px); text-align:left; }
.home-page .motion-hero h1 { max-width:none; margin:0 0 16px; font-size:clamp(3.4rem,5vw,5.15rem); line-height:.94; }
.home-page .motion-hero .kicker { margin-bottom:17px; font-size:.72rem; letter-spacing:.16em; }
.home-hero-promise { max-width:490px; margin:0 0 22px; font-size:clamp(.98rem,1.25vw,1.14rem); line-height:1.5; }
.home-page .motion-hero .story-actions { justify-content:flex-start; }
.home-hero-proof { left:auto; right:clamp(24px,4.7vw,60px); bottom:37px; width:min(355px,31vw); }
.home-hero-proof strong { font-size:clamp(1.5rem,2vw,2rem); }
.home-hero-proof span { max-width:215px; line-height:1.3; }
.home-page .story-section:not(.hero) .story-content { width:min(535px,calc(100% - 100px)); margin-bottom:clamp(84px,12svh,125px); }
.home-page .story-section:not(.hero) h2 { max-width:13ch; margin-bottom:15px; font-size:clamp(2.7rem,3.8vw,3.85rem); line-height:1; }
.home-page .story-section:not(.hero) .kicker { font-size:.73rem; }
.home-page .story-section:not(.hero) .story-copy { max-width:450px; font-size:1rem; line-height:1.48; }
.home-page #partner .story-content { margin: auto 0 clamp(36px,6svh,75px) clamp(24px,4.7vw,60px); }
.home-page #partner .story-image { object-position:58% center; }

/* Terafab-inspired stage grammar, with original Yemen Reads meaning and imagery. */
.cosmic-section { height:250svh; }
.cosmic-sticky { align-items:center; }
.cosmic-sticky::after { background:linear-gradient(90deg,#070707f5 0%,#070707e8 32%,#0707079c 50%,#07070718 78%),linear-gradient(0deg,#07070785,transparent 25%); }
.cosmic-layer { transform:scale(.9); transition:opacity .85s ease,transform 2.8s cubic-bezier(.15,.72,.2,1); }
.cosmic-layer img { object-position:68% center; }
.cosmic-section[data-stage="0"] .cosmic-galaxy,.cosmic-section[data-stage="1"] .cosmic-sun,.cosmic-section[data-stage="2"] .cosmic-future { opacity:1; transform:scale(1.11); }
.cosmic-copy { width:min(560px,46%); margin:0 0 0 clamp(35px,7.6vw,100px); }
.cosmic-copy .kicker { margin-bottom:16px; color:#dedede; font-size:.73rem; }
.cosmic-copy h2 { max-width:11ch; margin-bottom:20px; font-size:clamp(3.15rem,4.7vw,5rem); line-height:.98; }
.cosmic-copy .cosmic-manifesto { margin:0 0 24px; color:#e4e4e4; font-size:clamp(.94rem,1.2vw,1.08rem); line-height:1.48; letter-spacing:0; opacity:1; transform:none; }
.cosmic-steps { display:grid; width:100%; margin:0 0 24px; gap:0; border-top:1px solid #ffffff4a; }
.cosmic-steps button { display:grid; grid-template-columns:39px 102px minmax(0,1fr); align-items:center; gap:9px; width:100%; min-height:65px; padding:10px 2px; color:#a7a7a7; background:transparent; border:0; border-bottom:1px solid #ffffff39; text-align:left; font-size:1rem; letter-spacing:0; text-transform:none; }
.cosmic-steps button span { margin:0; font-size:.73rem; font-weight:500; }
.cosmic-steps button strong { font-size:1.02rem; font-weight:700; }
.cosmic-steps button small { font-size:.83rem; font-weight:400; line-height:1.35; }
.cosmic-steps button:hover,.cosmic-steps button[aria-pressed="true"] { color:#fff; border-color:#ffffff8a; }
.cosmic-copy .outline-button { margin:0; }
.cosmic-hint { position:absolute; z-index:3; right:clamp(24px,5vw,82px); bottom:32px; margin:0; color:#d8d8d8; font-size:.68rem; }
.cosmic-visual-note { position:absolute; z-index:3; right:clamp(24px,5vw,82px); top:100px; margin:0; color:#e4e4e4; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; opacity:0; transition:opacity .5s ease; }
.cosmic-section[data-stage="2"] .cosmic-visual-note { opacity:.85; }

.inspiration-sticky { justify-content:flex-start; align-items:flex-end; }
.inspiration-sticky::after { background:linear-gradient(90deg,#050505c9,#05050582 46%,#0505051a 84%),linear-gradient(0deg,#050505b5,transparent 68%); }
.inspiration-copy { width:min(590px,calc(100% - 120px)); margin:0 0 clamp(75px,11svh,120px) clamp(24px,4.7vw,60px); padding:0; text-align:left; }
.inspiration-copy h2 { max-width:12ch; font-size:clamp(3rem,4.4vw,4.8rem); }
.inspiration-copy .inspiration-lines { margin:25px 0 7px; }
.inspiration-copy .inspiration-line { margin:0 0 7px; font-size:clamp(1.18rem,1.9vw,1.7rem); }
.inspiration-signature { width:min(440px,100%); margin:17px 0 19px; padding-top:14px; font-size:clamp(1.3rem,2vw,1.8rem); }
.inspiration-progress { left:clamp(24px,4.7vw,60px); bottom:29px; transform:none; width:min(270px,35vw); }

@media (max-width:920px) {
  .home-hero-proof { right:28px; width:270px; }
  .home-page .motion-hero .page-intro { width:min(620px,calc(100% - 72px)); }
  .home-page .motion-hero h1 { font-size:clamp(3rem,6vw,3.6rem); }
  .cosmic-copy { width:min(560px,57%); }
  .cosmic-sticky::after { background:linear-gradient(90deg,#070707f5 0%,#070707dc 48%,#07070748 100%); }
}
@media (max-width:600px) {
  .home-page .motion-hero .page-intro { width:calc(100% - 44px); margin:0 22px 164px; }
  .home-page .motion-hero h1 { font-size:clamp(2rem,8.5vw,2.65rem); margin-bottom:13px; }
  .home-page .motion-hero .kicker { margin-bottom:12px; font-size:.64rem; }
  .home-hero-promise { max-width:320px; margin-bottom:15px; font-size:.94rem; line-height:1.42; }
  .home-page .motion-hero .story-actions { gap:8px; }
  .home-page .motion-hero .outline-button { min-height:44px; }
  .home-hero-proof { left:22px; right:22px; bottom:15px; width:calc(100% - 44px); gap:4px 10px; }
  .home-hero-proof a { min-height:34px; }
  .home-page .story-section:not(.hero) .story-content { width:calc(100% - 44px); margin:0 22px 65px; }
  .home-page .story-section:not(.hero) h2 { font-size:clamp(2.35rem,9vw,3rem); }
  .home-page #partner .story-content { width:calc(100% - 44px); margin: auto 22px 22px; }
  .footer-links { display:grid; grid-template-columns:repeat(3,max-content); justify-content:start; column-gap:20px; row-gap:0; }
  .inspiration-sticky { align-items:flex-end; }
  .inspiration-sticky::after { background:linear-gradient(0deg,#050505e9 0%,#050505b8 40%,#05050525 100%); }
  .inspiration-copy { width:calc(100% - 44px); margin:0 22px 82px; padding:0; }
  .inspiration-copy h2 { font-size:clamp(2.55rem,9.6vw,3.45rem); }
  .inspiration-copy .inspiration-lines { margin:19px 0 6px; }
  .inspiration-copy .inspiration-line { font-size:1.1rem; }
  .inspiration-signature { margin:12px 0 16px; font-size:1.38rem; }
  .inspiration-progress { left:22px; bottom:24px; width:calc(100% - 44px); }
  .cosmic-section { height:205svh; }
  .cosmic-sticky { align-items:flex-end; }
  .cosmic-sticky::after { background:linear-gradient(0deg,#070707fa 0%,#070707ed 45%,#07070720 100%); }
  .cosmic-layer img { object-position:69% center; }
  .cosmic-copy { width:calc(100% - 44px); margin:0 22px 63px; }
  .cosmic-copy .kicker { margin-bottom:9px; font-size:.64rem; }
  .cosmic-copy h2 { margin-bottom:13px; font-size:clamp(2.35rem,9vw,3rem); }
  .cosmic-copy .cosmic-manifesto { margin-bottom:15px; font-size:.82rem; line-height:1.4; }
  .cosmic-steps { margin-bottom:16px; }
  .cosmic-steps button { grid-template-columns:28px 69px minmax(0,1fr); gap:6px; min-height:52px; padding:6px 0; }
  .cosmic-steps button span { font-size:.64rem; }
  .cosmic-steps button strong { font-size:.82rem; }
  .cosmic-steps button small { font-size:.73rem; }
  .cosmic-copy .outline-button { min-height:44px; }
  .cosmic-hint { display:none; }
  .cosmic-visual-note { top:86px; right:22px; font-size:.57rem; }
}
@media (max-width:360px), (max-height:680px) and (max-width:600px) {
  .home-page .motion-hero .page-intro { margin-bottom:140px; }
  .home-page .motion-hero h1 { font-size:2.35rem; }
  .cosmic-copy { margin-bottom:48px; }
  .cosmic-copy h2 { font-size:2.17rem; }
  .cosmic-steps button { min-height:46px; }
}
@media (prefers-reduced-motion:reduce) {
  .cosmic-section { height:auto; }
  .cosmic-sticky { position:relative; min-height:100svh; height:auto; }
  .cosmic-section.cosmic-active .cosmic-layer { opacity:0; }
  .cosmic-section.cosmic-active[data-stage="0"] .cosmic-galaxy,.cosmic-section.cosmic-active[data-stage="1"] .cosmic-sun,.cosmic-section.cosmic-active[data-stage="2"] .cosmic-future { opacity:1; transform:none; }
}

/* The arrow reveals supporting evidence without concealing the core promise. */
.home-hero-proof[hidden] { display:none; }
.hero-proof-toggle { display:grid; place-items:center; width:48px; height:48px; padding:0; color:#fff; background:transparent; border:1px solid #ffffff8a; border-radius:50%; cursor:pointer; animation:none; }
.hero-proof-toggle span { display:block; transition:transform .25s ease; }
.hero-proof-toggle[aria-expanded="true"] span { transform:rotate(180deg); }
.hero-proof-toggle:hover { background:#ffffff2b; }
.hero-proof-toggle:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.home-hero-proof:not([hidden]) { animation:proof-reveal .35s ease-out both; }
@keyframes proof-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }

/* A single scroll-paced statement: words illuminate as the idea advances. */
.inspiration-section { height:175svh; background:#050505; }
.inspiration-sticky { justify-content:flex-start; align-items:center; background:#050505; }
.inspiration-sticky::after { content:none; }
.inspiration-copy { width:min(1050px,calc(100% - 150px)); margin:0 0 0 clamp(24px,7.6vw,100px); padding:0; text-align:left; }
.inspiration-copy .kicker { margin:0 0 25px; color:#a8a8a8; font-size:.72rem; letter-spacing:.13em; }
.inspiration-copy h2 { max-width:none; margin:0 0 35px; font-size:clamp(2.7rem,4vw,4.5rem); font-weight:300; line-height:1.18; letter-spacing:-.047em; text-transform:none; }
.inspiration-copy .inspiration-line { display:block; margin:0; color:#fff; font:inherit; line-height:inherit; letter-spacing:inherit; opacity:1; transform:none; transition:opacity .5s ease; }
.inspiration-section.motion-enabled .inspiration-line { opacity:.23; transform:none; }
.inspiration-section.motion-enabled .inspiration-line.is-lit { opacity:1; }
.inspiration-copy .outline-button { margin:0; }
.inspiration-progress { left:clamp(24px,7.6vw,100px); bottom:42px; width:min(280px,30vw); transform:none; }

/* Distinct black text field and an oversized changing visual on the right. */
.cosmic-section { background:#050505; }
.cosmic-sticky { background:#050505; }
.cosmic-scene { inset:0 0 0 39%; }
.cosmic-sticky::after { background:linear-gradient(90deg,#050505 0%,#050505 36%,#050505da 46%,#05050500 70%),linear-gradient(0deg,#0505057a,transparent 24%); }
.cosmic-layer img { object-position:60% center; }
.cosmic-copy { width:min(600px,49%); margin-left:clamp(24px,7.6vw,100px); }
.cosmic-copy h2 { max-width:12ch; font-size:clamp(3.25rem,4.8vw,5.3rem); font-weight:300; line-height:1.04; letter-spacing:-.055em; text-transform:none; }
.cosmic-steps button { grid-template-columns:38px 100px minmax(0,1fr); min-height:60px; }

@media (max-width:920px) {
  .home-hero-proof { right:28px; bottom:94px; width:215px; }
  .inspiration-copy { width:calc(100% - 90px); }
  .cosmic-scene { inset:0 0 0 32%; }
  .cosmic-copy { width:57%; }
  .cosmic-sticky::after { background:linear-gradient(90deg,#050505 0%,#050505ec 33%,#050505ba 51%,#05050510 86%); }
}
@media (max-width:600px) {
  .hero-proof-toggle { right:22px; bottom:19px; }
  .home-hero-proof { left:22px; right:22px; bottom:15px; width:calc(100% - 44px); padding-right:58px; }
  .inspiration-section { height:155svh; }
  .inspiration-sticky { align-items:center; }
  .inspiration-copy { width:calc(100% - 44px); margin:0 22px; }
  .inspiration-copy .kicker { margin-bottom:18px; font-size:.64rem; }
  .inspiration-copy h2 { margin-bottom:28px; font-size:clamp(2rem,7.45vw,2.85rem); line-height:1.2; }
  .inspiration-copy .outline-button { min-height:44px; }
  .inspiration-progress { left:22px; bottom:28px; width:calc(100% - 44px); }
  .cosmic-scene { inset:0; }
  .cosmic-copy { width:calc(100% - 44px); margin-left:22px; }
  .cosmic-copy h2 { font-size:clamp(2.3rem,8.5vw,3rem); line-height:1.03; }
  .cosmic-sticky::after { background:linear-gradient(0deg,#050505fb 0%,#050505ee 43%,#05050520 100%); }
  .cosmic-steps button { grid-template-columns:28px 69px minmax(0,1fr); min-height:52px; }
}
@media (prefers-reduced-motion:reduce) {
  .inspiration-section { height:auto; }
  .inspiration-sticky { position:relative; min-height:100svh; height:auto; }
  .inspiration-section .inspiration-line { opacity:1; transition:none; }
  .home-hero-proof:not([hidden]) { animation:none; }
}

/* Warm monochrome homepage: one visual idea per chapter. */
body.home-page { background:#FAF8F5; }
.home-page .site-header.scrolled { background:#2C2C2C; }
.home-page .menu-open .site-header { background:#333333; }
.inspiration-section,.inspiration-sticky {
  color:#111111;
  background:radial-gradient(ellipse at 83% 18%,#F5EBDD 0%,transparent 39%),linear-gradient(125deg,#FAF8F5 5%,#E8E8E8 69%,#F5EBDD 100%);
}
.inspiration-copy .kicker { color:#555555; }
.inspiration-copy .inspiration-line { color:#111111; }
.inspiration-section.motion-enabled .inspiration-line { opacity:.25; }
.inspiration-section.motion-enabled .inspiration-line.is-lit { opacity:1; }
.inspiration-copy .outline-button { color:#111111; border-color:#555555; }
.inspiration-copy .outline-button:hover { color:#FFFFFF; background:#111111; }
.inspiration-copy .outline-button:focus-visible { outline-color:#111111; }
.inspiration-progress { background:#BDBAB5; }
.inspiration-progress span { background:#111111; }
.cosmic-section { background:#333333; }
.cosmic-sticky { background:radial-gradient(ellipse at 69% 38%,#55514B 0%,#3A3A3A 44%,#303030 100%); }
.cosmic-sticky::after { background:linear-gradient(90deg,#303030 0%,#303030 34%,#303030dc 47%,#30303010 76%),linear-gradient(0deg,#303030a8,transparent 28%); }
.home-page #voices {
  min-height:100svh;
  align-items:flex-end;
  color:#FFFFFF;
  background:#4A4A4A;
}
.home-page #voices::after {
  content:"";
  z-index:-1;
  background:linear-gradient(90deg,rgba(42,42,42,.84) 0%,rgba(52,52,52,.52) 39%,rgba(52,52,52,.09) 80%),linear-gradient(0deg,rgba(42,42,42,.74),transparent 55%);
}
.home-page #voices .story-image {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 63%;
  filter:grayscale(1) brightness(.89);
  border-radius:0;
  box-shadow:none;
  transition:none;
}
.home-page #voices:hover .story-image,.home-page #voices:focus-within .story-image { filter:grayscale(1) brightness(.89); }
.home-page #voices .voices-video {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 63%;
  filter:grayscale(1) brightness(.89);
  opacity:0;
  transition:opacity .8s ease;
}
.home-page #voices .voices-video.is-ready { opacity:1; }
@media (prefers-reduced-motion:reduce) { .home-page #voices .voices-video { display:none; } }
.home-page #voices .voices-motion-control {
  position:absolute;
  z-index:2;
  right:clamp(22px,4.7vw,60px);
  top:clamp(92px,13svh,128px);
  padding:11px 14px;
  border:1px solid #FFFFFF99;
  background:#11111188;
  color:#FFFFFF;
  font:inherit;
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.home-page #voices .voices-motion-control[hidden] { display:none; }
.home-page #voices .story-content {
  z-index:1;
  width:min(535px,calc(100% - 100px));
  margin:0 0 clamp(84px,12svh,125px) clamp(24px,4.7vw,60px);
}
.home-page #voices .story-copy { color:#F0F0F0; }
.home-page #voices .outline-button { color:#FFFFFF; border-color:#FFFFFF; }
.home-page #voices .outline-button:hover { color:#111111; background:#FFFFFF; }
.home-page #voices :focus-visible { outline-color:#FFFFFF; }
.home-page #partner { background:#3A3A3A; }
.home-page #partner .story-image { object-position:center 53%; filter:grayscale(1) brightness(.93); transition:none; }
.home-page #partner:hover .story-image,.home-page #partner:focus-within .story-image { filter:grayscale(1) brightness(.93); }
.home-page #partner::after {
  background:linear-gradient(90deg,rgba(48,48,48,.85),rgba(48,48,48,.16) 78%),linear-gradient(0deg,rgba(48,48,48,.82),transparent 63%),linear-gradient(130deg,rgba(245,235,221,.12),transparent 48%);
}
.home-page #partner .site-footer { background:linear-gradient(0deg,rgba(48,48,48,.82),rgba(48,48,48,.12)); }
.site-footer .footer-inner { grid-template-columns:150px minmax(0,1fr) auto; }
.site-footer .footer-social { display:inline-flex; width:max-content; min-width:145px; height:48px; align-items:center; justify-content:flex-start; gap:10px; color:#FFFFFF; background:transparent; border-radius:0; }
.site-footer .footer-social-icon { display:grid; place-items:center; flex:0 0 auto; width:43px; height:43px; color:#FFFFFF; border:1.5px solid #FFFFFF; border-radius:50%; background:rgba(48,48,48,.25); }
.site-footer .footer-social-icon svg { width:13px; height:15px; margin-left:2px; }
.site-footer .footer-social-label { font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.site-footer .footer-social:hover,.site-footer .footer-social:focus-visible { color:#FFFFFF; background:transparent; }
.site-footer .footer-social:hover .footer-social-icon,.site-footer .footer-social:focus-visible .footer-social-icon { color:#111111; background:#FFFFFF; }
@media (max-width:920px) {
  .cosmic-sticky::after { background:linear-gradient(90deg,#303030 0%,#303030eb 33%,#303030c2 52%,#30303018 86%); }
  .home-page #voices .story-image { object-position:center 64%; }
}
@media (max-width:700px) {
  .cosmic-sticky::after { background:linear-gradient(0deg,#303030fb 0%,#303030ed 45%,#30303028 100%); }
  .home-page #voices {
    min-height:100svh;
    flex-direction:row;
    align-items:flex-end;
    justify-content:flex-start;
    padding:0;
  }
  .home-page #voices .story-content {
    width:calc(100% - 44px);
    margin:0 22px clamp(68px,10svh,100px);
  }
  .home-page #voices .story-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-position:55% center;
  }
  .home-page #voices .voices-video { object-position:55% center; }
  .home-page #voices .voices-motion-control { right:22px; top:92px; }
  .home-page #voices::after { background:linear-gradient(0deg,rgba(42,42,42,.96),rgba(42,42,42,.72) 45%,rgba(42,42,42,.06) 90%); }
  .home-page #partner .story-image { object-position:58% center; }
  .site-footer .footer-inner { grid-template-columns:minmax(0,1fr) auto; }
}

/* Future Voices explains one delivered program in progressive, source-led chapters. */
.future-voices-page .fv-hero {
  isolation:isolate;
  position:relative;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  color:#FFFFFF;
  background:#414141;
}
.future-voices-page .fv-hero > img {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 49%;
  filter:grayscale(1) brightness(.82);
}
.future-voices-page .fv-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(43,43,43,.78),rgba(43,43,43,.10) 78%),linear-gradient(0deg,rgba(43,43,43,.74),transparent 62%);
}
.future-voices-page .fv-hero-copy { width:min(760px,calc(100% - 48px)); margin:0 0 clamp(80px,12svh,130px) clamp(24px,6.5vw,108px); }
.future-voices-page .fv-hero .kicker { color:#FFFFFF; }
.future-voices-page .fv-hero h1 { max-width:none; margin:0 0 18px; color:#FFFFFF; font-size:clamp(4rem,8vw,8rem); line-height:.92; letter-spacing:-.065em; text-transform:uppercase; }
.future-voices-page .fv-hero p { max-width:600px; margin:0 0 28px; color:#FFFFFF; font-size:clamp(1.08rem,1.6vw,1.42rem); line-height:1.4; text-wrap:balance; }
.future-voices-page .fv-hero .outline-button { min-width:210px; color:#FFFFFF; border-color:#FFFFFF; }
.future-voices-page .fv-hero .outline-button:hover { color:#111111; background:#FFFFFF; }
.future-voices-page .fv-hero :focus-visible { outline-color:#FFFFFF; }
.future-voices-page .fv-page-nav { position:sticky; z-index:18; top:75px; min-height:64px; display:flex; align-items:center; justify-content:center; gap:clamp(22px,5vw,75px); padding:0 24px; background:rgba(250,248,245,.98); border-bottom:1px solid #E8E8E8; }
.future-voices-page .fv-page-nav a { display:flex; align-items:center; min-height:62px; color:#444444; font-size:.7rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.future-voices-page .fv-page-nav a:hover,.future-voices-page .fv-page-nav a:focus-visible { color:#111111; text-decoration:underline; text-underline-offset:7px; }
.future-voices-page .fv-overview { min-height:85svh; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:clamp(40px,6vw,105px); padding:clamp(90px,10vw,145px) clamp(24px,6.5vw,108px); background:radial-gradient(ellipse at 86% 15%,#F5EBDD,transparent 43%),#FFFFFF; scroll-margin-top:139px; }
.future-voices-page .fv-overview-copy { max-width:680px; }
.future-voices-page .fv-overview h2,.future-voices-page .fv-section-heading h2,.future-voices-page .fv-evidence h2 { margin:0 0 27px; font-size:clamp(3rem,5vw,5.4rem); line-height:1; letter-spacing:-.058em; text-transform:none; }
.future-voices-page .fv-overview p { max-width:640px; margin:0 0 18px; color:#444444; font-size:clamp(1rem,1.32vw,1.22rem); line-height:1.58; }
.future-voices-page .fv-context { display:block; margin-top:34px; padding-top:18px; color:#444444; border-top:1px solid #D3D0CC; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.future-voices-page .fv-overview > img { width:100%; height:min(72svh,680px); object-fit:cover; object-position:center 40%; filter:grayscale(1) brightness(.96); box-shadow:0 28px 75px #11111120; }
.future-voices-page .fv-results,.future-voices-page .fv-approach { padding:clamp(88px,10vw,145px) clamp(24px,6.5vw,108px); scroll-margin-top:139px; }
.future-voices-page .fv-results { background:#FAF8F5; }
.future-voices-page .fv-section-heading { max-width:870px; }
.future-voices-page .fv-section-heading > p { max-width:650px; margin:0; color:#444444; font-size:clamp(1rem,1.3vw,1.18rem); }
.future-voices-page .fv-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:clamp(42px,6vw,76px) 0 0; border-top:1px solid #D3D0CC; border-bottom:1px solid #D3D0CC; }
.future-voices-page .fv-stat { min-height:240px; padding:35px clamp(16px,3vw,45px) 35px 0; }
.future-voices-page .fv-stat + .fv-stat { padding-left:clamp(22px,3vw,45px); border-left:1px solid #D3D0CC; }
.future-voices-page .fv-stat strong { display:block; color:#111111; font-size:clamp(3.1rem,5vw,6rem); line-height:1; letter-spacing:-.07em; font-weight:550; font-variant-numeric:tabular-nums; white-space:nowrap; }
.future-voices-page .fv-stat strong span { color:#918A80; }
.future-voices-page .fv-stat > span { display:block; max-width:260px; margin-top:16px; color:#444444; font-size:.77rem; font-weight:700; line-height:1.45; letter-spacing:.04em; text-transform:uppercase; }
.future-voices-page .fv-stat-note { max-width:850px; margin:26px 0 0; color:#444444; font-size:.9rem; }
.future-voices-page .fv-stat-note a { color:#111111; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.future-voices-page .fv-approach { background:#FFFFFF; }
.future-voices-page .fv-practices { max-width:1280px; margin:clamp(36px,6vw,78px) 0 0; border-top:1px solid #D3D0CC; }
.future-voices-page .fv-practices article { display:grid; grid-template-columns:minmax(85px,12%) minmax(0,1fr); gap:clamp(20px,3vw,45px); padding:clamp(28px,4vw,54px) 0; border-bottom:1px solid #D3D0CC; }
.future-voices-page .fv-practices article > span { color:#888078; font-size:clamp(2.8rem,4vw,4.8rem); line-height:1; letter-spacing:-.07em; }
.future-voices-page .fv-practices h3 { max-width:none; margin:0 0 13px; color:#111111; font-size:clamp(1.7rem,2.8vw,3.1rem); line-height:1.1; letter-spacing:-.05em; text-transform:none; }
.future-voices-page .fv-practices p { max-width:540px; margin:0; color:#444444; font-size:clamp(1rem,1.2vw,1.15rem); }
.future-voices-page .fv-evidence { padding:clamp(95px,10vw,155px) clamp(24px,6.5vw,108px); color:#FFFFFF; background:radial-gradient(ellipse at 85% 12%,#655F55,transparent 46%),linear-gradient(125deg,#343434,#4A4A4A); }
.future-voices-page .fv-evidence .kicker,.future-voices-page .fv-evidence h2 { color:#FFFFFF; }
.future-voices-page .fv-evidence h2 { max-width:850px; }
.future-voices-page .fv-evidence p { max-width:780px; margin:0; color:#F0F0F0; font-size:clamp(1rem,1.35vw,1.2rem); }
.future-voices-page .fv-evidence-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; margin-top:30px; }
.future-voices-page .fv-evidence .outline-button { color:#FFFFFF; border-color:#FFFFFF; }
.future-voices-page .fv-evidence .outline-button:hover { color:#111111; background:#FFFFFF; }
.future-voices-page .fv-evidence .text-action { color:#FFFFFF; }
.future-voices-page .fv-evidence :focus-visible { outline-color:#FFFFFF; }
.future-voices-page .fv-film .story-image { object-position:center 60%; }
.future-voices-page .fv-cta { background:radial-gradient(ellipse at 50% 0%,#F5EBDD,#FAF8F5 62%,#FFFFFF); }
@media (max-width:920px) {
  .future-voices-page .fv-overview { grid-template-columns:1fr; }
  .future-voices-page .fv-overview > img { height:min(56svh,570px); }
  .future-voices-page .fv-stat strong { font-size:clamp(2.45rem,5vw,4rem); }
}
@media (max-width:700px) {
  .future-voices-page .fv-hero > img { object-position:54% center; }
  .future-voices-page .fv-hero::after { background:linear-gradient(0deg,rgba(43,43,43,.91),rgba(43,43,43,.54) 45%,rgba(43,43,43,.06) 90%); }
  .future-voices-page .fv-hero-copy { width:calc(100% - 44px); margin:0 22px clamp(62px,10svh,90px); }
  .future-voices-page .fv-hero h1 { font-size:clamp(3.4rem,13vw,5rem); }
  .future-voices-page .fv-hero p { font-size:1.07rem; }
  .future-voices-page .fv-page-nav { top:68px; justify-content:space-between; gap:20px; padding:0 22px; overflow-x:auto; }
  .future-voices-page .fv-page-nav a { min-height:55px; font-size:.65rem; }
  .future-voices-page .fv-overview,.future-voices-page .fv-results,.future-voices-page .fv-approach { padding:78px 22px; scroll-margin-top:123px; }
  .future-voices-page .fv-overview { gap:32px; }
  .future-voices-page .fv-overview h2,.future-voices-page .fv-section-heading h2,.future-voices-page .fv-evidence h2 { font-size:clamp(2.65rem,10vw,3.8rem); }
  .future-voices-page .fv-overview > img { height:46svh; }
  .future-voices-page .fv-stat-grid { grid-template-columns:1fr; margin-top:35px; }
  .future-voices-page .fv-stat,.future-voices-page .fv-stat + .fv-stat { min-height:0; padding:28px 0; border-left:0; }
  .future-voices-page .fv-stat + .fv-stat { border-top:1px solid #D3D0CC; }
  .future-voices-page .fv-stat strong { font-size:clamp(3.5rem,12vw,5rem); }
  .future-voices-page .fv-practices { margin-top:34px; }
  .future-voices-page .fv-practices article { grid-template-columns:55px minmax(0,1fr); gap:17px; }
  .future-voices-page .fv-practices article > span { font-size:2.6rem; }
  .future-voices-page .fv-practices h3 { font-size:1.7rem; }
  .future-voices-page .fv-evidence { padding:85px 22px; }
}

/* Contact and small-screen finishing. */
.future-voices-page .fv-stat:nth-child(2) strong { font-size:clamp(2.1rem,3.5vw,4.7rem); }
@media(max-width:700px) { .future-voices-page .fv-stat:nth-child(2) strong { font-size:clamp(2.5rem,11vw,4rem); } }
@media(max-width:1100px) { .evidence-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .evidence-steps { grid-template-columns:1fr; } }
@media(max-width:1000px) { .interior-page .standards-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .interior-page h2 { font-size:clamp(2rem,9vw,3.4rem); } }
@media(max-width:380px) { .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; } }
.partnership-contact { display:flex; flex-direction:column; justify-content:center; }
.partnership-contact .partnership-address { display:block; margin:15px 0 30px; font-size:clamp(1.15rem,2.4vw,2rem); font-weight:700; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:6px; }
.contact-actions { display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; }
.contact-actions button { padding:8px 0; border:0; background:none; }
.contact-actions .outline-button { min-width:0; line-height:1.5; padding:14px 18px; }
.interior-page .partnership-contact { opacity:1; transform:none; }
.hero-motion-control { position:absolute; z-index:4; left:clamp(22px,4.7vw,60px); bottom:22px; min-height:44px; padding:10px 14px; border:1px solid #ffffff80; background:#2228; color:#fff; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.hero-motion-control[hidden] { display:none; }
@media(max-width:600px) {
 .outline-button { max-width:100%; gap:20px; }
 .fv-cta .outline-button { line-height:1.5; padding-block:14px; }
 .partnership-contact h2 { font-size:clamp(2.25rem,10vw,3.4rem); }
 .partnership-contact { padding:38px 24px; }
 .footer-links a { overflow-wrap:anywhere; }
}
@media(max-height:540px) and (orientation:landscape) {
 .home-page .motion-hero { min-height:660px; }
 .future-voices-page .fv-hero { min-height:680px; }
 .cosmic-sticky { min-height:650px; }
}

/* Program-first homepage and readable controls. */
.home-programs,.home-purpose{padding:90px clamp(24px,6vw,100px);background:#FAF8F5;color:#111}
.home-programs{background:radial-gradient(ellipse at top right,#F5EBDD,#FAF8F5 70%)}
.home-program-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.home-program-grid>a{background:#fff;box-shadow:0 16px 44px #1111110c;border:1px solid #e8e8e8}
.home-program-grid img{width:100%;height:280px;object-fit:cover;filter:grayscale(1)}
.home-program-grid a>div{padding:28px}.home-program-grid h3{font-size:28px;margin-bottom:14px}
.home-program-grid p{color:#444;line-height:1.55}.home-program-grid span{display:block;font-size:13px;font-weight:700;min-height:44px;padding-top:14px}
.home-purpose{padding-block:75px}.home-purpose p{max-width:600px;font-size:20px;line-height:1.6}
.home-programs :focus-visible,.home-purpose :focus-visible{outline:2px solid #111;outline-offset:5px}
.footer-links a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.hero-motion-control,.video-play,.outline-button{font-size:12px}
@media(max-width:700px){.home-program-grid{grid-template-columns:1fr}.home-programs,.home-purpose{padding:60px 24px}.home-program-grid img{height:230px}}

/* Shared footer: one film action, three official social destinations, one clear navigation row. */
.site-footer{height:auto;min-height:112px}
.site-footer .footer-inner{height:auto;min-height:112px;padding:12px 0;grid-template-columns:145px minmax(0,1fr) auto;grid-template-areas:"film links platforms" "copyright copyright copyright";column-gap:clamp(14px,2vw,28px);row-gap:4px}
.site-footer .footer-social{grid-area:film;min-width:0}
.site-footer .footer-links{grid-area:links;gap:clamp(10px,1.5vw,28px)}
.site-footer .footer-platforms{grid-area:platforms;display:flex;align-items:center;justify-content:flex-end;gap:7px}
.site-footer .footer-platforms a{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#FFFFFF;font-size:1.05rem;font-weight:700;line-height:1;text-decoration:none;transition:background .2s ease,color .2s ease}
.site-footer .footer-platforms a:hover,.site-footer .footer-platforms a:focus-visible{color:#111111;background:#FFFFFF}
.site-footer .footer-platforms a:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}
.site-footer .footer-platforms svg{width:20px;height:20px}
.site-footer .footer-copyright{grid-area:copyright;justify-self:end}
@media(max-width:1080px){
  .site-footer .footer-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"film platforms" "links links" "copyright copyright";row-gap:6px}
  .site-footer .footer-links{justify-content:flex-start}
}
@media(max-width:600px){
  .site-footer .footer-inner{margin:0 22px;padding:16px 0 18px;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}
  .site-footer .footer-social{width:max-content}
  .site-footer .footer-platforms{gap:0}
  .site-footer .footer-platforms a{width:44px;height:44px}
  .site-footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0 12px}
  .site-footer .footer-copyright{justify-self:start}
}
@media(max-width:380px){.site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:310px){.site-footer .footer-inner{grid-template-columns:1fr;grid-template-areas:"film" "platforms" "links" "copyright"}.site-footer .footer-platforms{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-platforms a{transition:none}}
