/* Shared, audited reading and interaction rules. Loaded after page styles. */
:root{--brand-purple:#87189d;--brand-plum:#830065;--brand-yellow:#ffc629;--reading-ink:#18141f;--reading-muted:#555063;--section-space:clamp(32px,5vw,64px);color-scheme:light}
body{color:var(--reading-ink);background:#fff}
.program-menu .program-card--serve .program-card-main{background:linear-gradient(115deg,#0066ba,#007ca5)}
.program-menu .program-card--discover .program-card-main{background:linear-gradient(115deg,#005e65,#007f7b)}
.program-menu .program-card-main .program-category{color:#fff;opacity:1}
.story-proof .impact-stat dt .impact-number,.story-proof .impact-stat dt .impact-suffix{color:#006c99;background:none;-webkit-text-fill-color:currentColor}
main h1,main h2,main h3{font-family:Montserrat,Lexend,sans-serif;text-wrap:balance}
main h2,.ai-story .band:not(#take-part) h2,.map-copy h2,.platforms-heading h2,.reflection-home h2{font-size:clamp(1.6rem,2.7vw,2.35rem);line-height:1.2;letter-spacing:-.025em;color:var(--brand-purple);background:none;-webkit-text-fill-color:currentColor}
main p{line-height:1.65}
main .band,.community-section,.platforms-section,.showcase-band{padding-block:var(--section-space)}
main h3{line-height:1.35}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:#ffc62955}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #87189d!important;outline-offset:4px}
button,.btn,summary{touch-action:manipulation}
main summary{min-height:44px;align-content:center}
main .btn{min-height:44px;white-space:normal}
main .btn:hover{box-shadow:none;transform:none;text-decoration:underline;text-underline-offset:4px}
main input,main textarea,main select{font-size:1rem}
main .ai-small,main .ai-fact-note,main .ai-join-note,main figcaption{font-size:.875rem;line-height:1.6}
html{scroll-padding-top:140px}
main [id]{scroll-margin-top:140px}
.story-opening{padding:40px 0 20px}
.story-intro.story-philosophy{max-width:960px;margin:auto;padding:0;text-align:center}
.story-philosophy h1{font-size:clamp(2rem,4.1vw,3.6rem);line-height:1.12;max-width:26ch;margin:16px auto 20px}
.story-philosophy .story-lead{margin:0 auto 16px;font-size:clamp(1.05rem,1.8vw,1.35rem)}
.philosophy-copy{max-width:760px;margin:auto}
.philosophy-copy .story-description{font-size:1rem;line-height:1.7;margin:0}
.story-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:22px 0}
.story-proof{margin-top:24px;padding:0;border:0}
.story-proof>p{display:none}
.story-proof .impact-stats{max-width:760px;margin:auto}
.story-proof .impact-stat{padding:16px}
.story-proof .impact-stat dt{font-size:2rem;color:#006c99;background:none;-webkit-text-fill-color:currentColor}
.story-proof .impact-stat dd{font-size:.8rem;letter-spacing:0;text-transform:none}
/* The interactive map is the opening proof point, immediately after the hero. */
.story-opening+.community-section{padding-top:0;padding-bottom:32px}
.story-opening+.community-section .map-copy{padding-top:16px;padding-bottom:12px}
.story-opening+.community-section .map-copy h2{font-size:clamp(1.3rem,2vw,1.8rem);margin:8px 0}
.story-opening+.community-section .map-copy h2 br{display:none}
.story-opening+.community-section .map-copy h2 span::before{content:" "}
.story-opening+.community-section .map-copy p{margin:8px 0;font-size:.95rem}
.reflection-home{max-width:1160px;margin:0 auto;padding:24px!important;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;background:#fff9e3!important;border:1px solid #f0db8c}
.reflection-home .soul-question{position:static;inset:auto;width:auto;max-width:none;margin:0;padding:0;background:none;border:0;box-shadow:none;transform:none}
.reflection-home .soul-question h2{font-size:clamp(1.5rem,2.5vw,2rem);color:#18141f;margin:12px 0}
.reflection-home .soul-question a{display:none}
.reflection-home .wrap{padding:0;width:100%;max-width:none}
.reflection-home p,.reflection-home a,.reflection-home h3,.reflection-home strong,.reflection-home .reflection-eyebrow{color:#363148!important}
.reflection-home a{color:#830065!important;text-underline-offset:4px}
.reflection-home .reflection-kicker{color:#555063!important}
.reflection-home .kicker,.reflection-home summary{color:#555063!important}
.reflection-home-aside{border:0;padding:0;margin-top:16px}
.reflection-home-aside summary{font-weight:600;cursor:pointer}
.reflection-home .reflection-home-grid{display:block}
.reflection-home .reflection-home-copy p{font-size:1rem}
.reflection-home .reflection-links{margin-top:12px}
.participation-cycle.wrap{margin:32px auto;border:0;background:#fff;padding:0 20px}
.participation-cycle .last-mile-heading h2{font-size:clamp(1.6rem,2.7vw,2.35rem)}
.participation-cycle .last-mile-heading{max-width:780px;margin:0 auto 24px}
.participation-stages li{border-radius:0;padding:20px}
.participation-stages li h3{font-size:1.1rem}
.participation-stages li p{font-size:.95rem;line-height:1.65}
.community-return{padding:18px;background:#faf9fb}
.mile-localisation{max-width:800px;margin:20px auto 0;font-size:.95rem}
.community-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}
.community-story-grid figure{margin:0;min-width:0}
.community-story-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.community-story-grid h3{font-size:1.1rem;color:#87189d;margin:14px 0 8px}
.community-story-grid p{font-size:.95rem;margin:0}
.text-link{display:inline-block;min-height:44px;padding-block:10px;color:#830065;font-weight:600;text-underline-offset:4px}
.ai-story .ai-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ai-story .ai-facts>div{padding:12px;border-left:2px solid #ffc629}
.ai-story .ai-facts dt{font-size:.8rem;line-height:1.5;color:#555063}
.ai-story .ai-facts dd{font-size:clamp(1rem,1.7vw,1.4rem);line-height:1.35;color:#87189d;margin-top:6px}
.ai-story .ai-fact-note{max-width:85ch}
.ai-story .ai-card p,.ai-story .ai-steps p{font-size:.95rem}
.ai-story .ai-card summary{font-size:.875rem}
.ai-story .ai-hero-infographic img{background:#f5f2f7}
.showcase-documentary{margin:0}
.showcase-documentary img{width:100%;height:auto;max-height:440px;object-fit:contain}
.showcase-documentary figcaption{color:#fff;margin-top:12px}
.about-opening .values-panel{border-radius:0;box-shadow:none;background:#f3edf7;color:#363148;border:1px solid #d4d1db}
.about-opening .values-panel .values-caption,.about-opening .values-panel .values-footer{color:#555063}
.about-opening .values-composition{border-radius:0}
.lb{margin:0;max-width:none;max-height:none;width:100%;height:100%;border:0;padding:0}
.lb::backdrop{background:#18141fcc}
body[data-root=""] #events-grid.is-clipped:not(.is-expanded)>.gcell:nth-child(n+5){display:none}
.mappop-close{position:absolute;right:8px;top:8px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d4d1db;background:#fff;color:#18141f;font-size:24px;cursor:pointer}
.mappop-who{padding-right:44px}
.mappop-close:hover{background:#fff3c4}
@media(max-width:800px){
 html{scroll-padding-top:88px}main [id],.ai-challenge [id]{scroll-margin-top:88px}
 .program-menu{padding-block:8px 12px}.program-menu-grid{gap:8px;align-items:start}
 .program-menu .program-card .program-card-main{min-height:60px;padding:9px 24px 9px 10px;gap:4px}
 .program-menu .program-card .program-card-main strong{font-size:14px;line-height:1.25}
 .program-menu .program-category{font-size:9px;letter-spacing:.08em;gap:5px}
 .program-category svg{width:13px;height:13px}
 .program-card-related p,.program-card-related a:not(.program-featured){display:none}
 .program-card-related:not(:has(.program-featured)){display:none}
 .program-menu .program-card-related{padding:4px;flex:0}
 .program-menu .program-card-related .program-featured{font-size:11px;min-height:44px;gap:4px;padding:5px}
 .program-menu .program-featured .feature-star{font-size:12px}
 .program-menu .program-featured>span:last-child{display:none}
 .program-card--build{grid-column:2;grid-row:2}.program-card--discover{grid-column:1;grid-row:2}.program-card--belong{grid-column:2;grid-row:1}
 header.layered-header .masthead{min-height:62px;gap:8px}header.layered-header .masthead-brand img{width:125px}
 header.layered-header .audience-trigger{font-size:11px;padding:8px}
 .story-opening{padding:24px 0 16px}.story-philosophy h1{font-size:clamp(1.8rem,6.5vw,2.5rem)}
 .story-proof .impact-stat{padding:10px 4px}.story-proof .impact-stat dt{font-size:1.5rem}.story-proof .impact-stat dd{font-size:.75rem}
 .reflection-home{grid-template-columns:1fr;margin-inline:20px;gap:16px;padding:20px!important}
 .community-story-grid{grid-template-columns:1fr;gap:28px}.community-story-grid img{max-height:320px}
 body[data-root=""] #events-grid.is-clipped:not(.is-expanded)>.gcell:nth-child(n+3){display:none}
 .ai-story .page-hero{padding:20px 0}.ai-story .crumb{margin-bottom:12px}
 .ai-story .ai-hero-copy{display:flex;flex-direction:column}.ai-story .ai-hero-copy .ai-label{order:0}.ai-story .ai-hero-copy h1{order:1;margin:12px 0;font-size:clamp(1.9rem,6.5vw,2.5rem)}
 .ai-story .ai-hero-lead{order:2;font-size:1.05rem;margin-bottom:12px}.ai-story .ai-hero-copy .btns{order:3;margin:0}.ai-story .ai-join-note{order:4;margin:10px 0}.ai-story .ai-intro{order:5;font-size:.95rem;margin-top:8px}
 .ai-story .ai-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-story .ai-facts>div{padding:8px}
 .ai-story .ai-hero-grid{gap:20px}.ai-story .ai-jump .wrap{flex-wrap:wrap;gap:4px 14px}
 .ai-story .ai-jump a{min-height:44px;align-content:center}
 .atlas-map .stage{height:auto;min-height:0;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr)}
 .atlas-map .stage>.map{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1/1}
 .atlas-map .cards{position:relative;inset:auto;pointer-events:auto}
 .atlas-map .mappop{position:relative;inset:auto!important;width:auto;max-width:none;margin:12px;animation:none;transform:none}
 .atlas-map .mappop::after,.atlas-map .mappop::before,.atlas-map .wires{display:none}
 .atlas-map .map-key{position:relative;inset:auto;order:-1;margin:8px 12px}
}
@media(prefers-color-scheme:dark),(forced-colors:active){
 .story-philosophy h1 span,.do-word,.ai-story .ai-plum,.impact-stat dt,.about-opening h1 span{background:none!important;color:#830065!important;-webkit-text-fill-color:currentColor!important}
}
@media(forced-colors:active){*{box-shadow:none!important}.program-card-main,.btn{border:1px solid ButtonText!important}.story-philosophy h1 span,.do-word,.ai-story .ai-plum,.impact-stat dt,.about-opening h1 span{color:CanvasText!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
