/* Abundance in motion: an original world, and three photographic chapters per field. */
:root{--world-ink:#12121c;--world-paper:#fff6e8;--world-gold:#edbf80}
.page-top,.with-flow h1,.with-flow .lead{animation:none}
.hero--immersive{min-height:770px;height:calc(100svh - 119px);padding-top:50px}
.hero--immersive h1{font-size:clamp(90px,9.6vw,156px);max-width:64%;line-height:.96;transform:rotate(-3deg)}
.hero--immersive h1 em{margin-left:2.5vw;font-size:1.03em}
.hero--immersive .hero-bottom{padding-top:60px}
.flow-stage,body[data-scene=home] .flow-stage,body:not([data-scene=home]) .flow-stage{width:62vw;height:720px;top:8px;right:-6%;left:auto}
.flow-stage canvas{mask-image:none;filter:none;mix-blend-mode:normal}
.flow-stage .flow-link{font-size:20px;font-weight:600;color:var(--ink);padding:12px 18px;transform:translate(-50%,-50%) rotate(-4deg);text-shadow:0 1px 12px var(--paper)}
body[data-scene=home] .flow-stage .flow-link-housing,body[data-scene=pillars] .flow-stage .flow-link-housing{left:31%;top:25%;color:#8d3956}
body[data-scene=home] .flow-stage .flow-link-health,body[data-scene=pillars] .flow-stage .flow-link-health{left:73%;top:40%;color:#1b6a8b;text-shadow:0 1px 12px var(--paper)}
body[data-scene=home] .flow-stage .flow-link-education,body[data-scene=pillars] .flow-stage .flow-link-education{left:27%;top:67%;color:#79550c}
body[data-scene=home] .flow-stage .flow-link-transport,body[data-scene=pillars] .flow-stage .flow-link-transport{left:66%;top:78%;color:#36766c}
.flow-link::after{content:'';width:5px;height:5px;position:absolute;left:7px;top:48%;border-radius:50%;background:currentColor;box-shadow:0 0 16px currentColor}
.flow-link.selected::after{display:none}
.flow-link::before{background:radial-gradient(ellipse,var(--paper) 25%,transparent 72%);opacity:.65;filter:blur(7px)}
.flow-stage .flow-caption{left:18%;right:20%;bottom:7px;font-size:12px;letter-spacing:0}
.flow-stage .motion-toggle{font-size:12px}
/* Dark visual openings fade into the quiet reading surface. */
body[data-scene=house]{--theme-light:#edbf9a}
body[data-scene=housing]{--theme-light:#f1b396}
body[data-scene=health]{--theme-light:#acd7df}
body[data-scene=education]{--theme-light:#eed496}
body[data-scene=transport]{--theme-light:#afd1c1}
body[data-scene=pillars]{--theme-light:#d2c4f2}
body[data-visual-tone=dark] .header>.brand img{filter:brightness(0) invert(1)}
.header>.brand img{transition:filter .5s}
body[data-visual-tone=dark] .header:before{background:linear-gradient(#12121cf0 50%,transparent)}
body[data-visual-tone=dark] .header .menu-button{box-shadow:0 6px 25px #0003}
body:is([data-scene=housing],[data-scene=health],[data-scene=education],[data-scene=transport],[data-scene=pillars]){background:linear-gradient(var(--world-ink) 0 900px,var(--paper) 900px)}
.with-flow.pillar-top,.with-flow.atlas-top{background:radial-gradient(ellipse at 79% 46%,#2a253535,transparent 60%),var(--world-ink);color:var(--world-paper);max-width:none;margin:0;width:100%;min-height:710px;padding:65px 6% 75px;border-radius:0;overflow:clip}
.with-flow.pillar-top{margin-top:-99px;padding-top:150px}
.with-flow.pillar-top h1,.with-flow.atlas-top h1{font-size:clamp(76px,7.7vw,116px);max-width:48%;font-weight:700;line-height:1.01;letter-spacing:-.055em;margin:0 0 30px;color:var(--world-paper)}
.with-flow.pillar-top .lead,.with-flow.atlas-top .lead{font-size:22px;line-height:1.5;color:#d8d0d4;max-width:38%;margin:0 0 15px}
.with-flow.pillar-top .sector-copy{position:relative;z-index:5;pointer-events:none}
.sector-copy button{pointer-events:auto}
.with-flow.pillar-top>.flow-stage{top:75px;width:58vw;height:650px;right:-2%}
body:not([data-scene=home]) .flow-stage .flow-link.selected{font-size:clamp(30px,3.2vw,46px);color:var(--theme-light);font-weight:700;text-shadow:0 3px 24px #12121c;transform:translate(-50%,-50%) rotate(-4deg)}
body:not([data-scene=home]) .flow-link.selected::before{background:radial-gradient(ellipse,#12121c 15%,transparent 72%);opacity:.8;filter:blur(10px)}
body:not([data-scene=home]) .flow-stage .motion-toggle{color:#beb7c5}
body:not([data-scene=home]) .flow-stage .flow-caption{bottom:16px}
.field-entry{display:flex;align-items:center;gap:28px;margin-top:30px;max-width:47%}
.field-entry .field-start{display:flex;gap:12px;align-items:center;color:var(--theme-light);font-size:16px;text-decoration:none;white-space:nowrap;margin:0;padding:9px 0}
.field-entry .scroll-thread{height:35px;width:16px}
.policy-shortcut{font-size:15px;background:none;color:#d4cdd6;padding:13px 0;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#ffffff30;white-space:nowrap}
.field-switcher{z-index:15;margin-top:0;margin-bottom:25px;background:#24212fdc;color:#e6dfe8;box-shadow:0 6px 25px #0002;top:20px}
.field-switcher .field-choice{font-size:16px;padding:14px 22px}
body[data-visual-tone=light] .field-switcher{background:#fffaf1ed;color:var(--ink)}
.field-choice[aria-current=page]{color:#332536}
body[data-scene=pillars] .flow-stage .flow-link:not(.selected){display:flex;font-size:23px;color:#eee7df;text-shadow:0 2px 18px #12121c}
body[data-scene=pillars] .flow-link::before{background:radial-gradient(ellipse,#12121c,transparent 72%);opacity:.7}
.with-flow.atlas-top{min-height:790px;padding-top:60px}
.with-flow.atlas-top h1{font-size:clamp(73px,7.2vw,108px);max-width:51%}
.with-flow.atlas-top h1 em{color:#ccbde8}
.with-flow.atlas-top .page-context{color:#b9abc7}
.with-flow.atlas-top .lead{max-width:33%;font-size:21px}
.atlas-note{color:#94899e;font-size:15px;max-width:30%;margin-top:32px}
.with-flow.atlas-top>.flow-stage{right:-7%;top:20px;width:65vw;height:710px}
.atlas-outlook{padding:100px 9%;background:var(--paper)}
.atlas-outlook h2{font-size:clamp(48px,5.5vw,80px);max-width:800px}
.atlas-outlook p{font-size:22px;max-width:650px;line-height:1.55;margin:35px 0}
/* Native scroll controls one continuous photographic stage. */
.sector-depth{position:relative;background:var(--paper)}
.field-story{position:relative;height:440svh;background:var(--world-ink);margin:0;max-width:none;isolation:isolate}
.story-sticky{position:sticky;top:0;height:100svh;min-height:640px;overflow:clip;background:#12121c;color:var(--world-paper)}
.story-scene{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:2;--image-reveal:0;--image-scale:1.12;--copy-shift:0px}
.story-scene:first-of-type{opacity:1;visibility:visible}
.story-image-window{position:absolute;inset:0;clip-path:ellipse(calc(45% + var(--image-reveal)*48%) calc(44% + var(--image-reveal)*47%) at 65% 44%);will-change:clip-path}
.story-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--image-scale));will-change:transform;filter:saturate(.75)}
.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0a12d9 0%,#0b0a12a3 30%,#0b0a1210 75%),linear-gradient(0deg,#0b0a12d9 0%,transparent 44%,#0b0a124a 90%);pointer-events:none}
.story-copy{position:absolute;left:8%;top:27%;max-width:640px;transform:translateY(var(--copy-shift));pointer-events:none}
.story-context{font-size:16px;display:block;margin-bottom:24px;color:var(--theme-light);font-weight:400}
.story-copy h2{font-size:clamp(70px,8.6vw,130px);line-height:.98;font-weight:700;letter-spacing:-.055em;margin:0 0 28px;color:#fff9f0;text-wrap:balance}
.story-copy p{font-size:23px;line-height:1.5;max-width:32ch;margin:0;color:#f2eae6}
.story-photo-credit{position:absolute;bottom:24px;left:8%;right:25%;width:fit-content;font-size:12px;line-height:1.5;color:#d2cdd2;text-underline-offset:4px}
.story-photo-credit a:hover{color:#fff}
.story-chapters{position:absolute;right:5%;top:44%;z-index:5;display:flex;flex-direction:column;gap:16px;align-items:flex-end}
.story-chapters button{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-direction:row-reverse;background:none;color:#d3cdd9;min-height:40px;font-size:14px;padding:0;text-shadow:0 2px 15px #000}
.story-chapters button>span:last-child{opacity:0;transform:translateX(5px);transition:opacity .3s,transform .3s}
.story-chapters button:is(:hover,:focus-visible,[aria-current=step])>span:last-child{opacity:1;transform:none}
.story-dot{display:block;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45;position:relative;margin:0 5px;transition:transform .4s}
.story-chapters button[aria-current=step]{color:var(--theme-light)}
.story-chapters button[aria-current=step] .story-dot{opacity:1;transform:scale(1.3)}
.story-dot:before{content:'';position:absolute;inset:-6px;border:1px solid currentColor;border-radius:50%;opacity:0;transition:opacity .4s}
.story-chapters button[aria-current=step] .story-dot:before{opacity:.6}
.story-policy-link{position:absolute;right:5%;bottom:26px;background:#17131d80;backdrop-filter:blur(10px);color:#fff6e8;z-index:5;font-size:14px;padding:15px 23px;min-height:46px;border-radius:48% 52% 51% 49%/45% 48% 52% 55%;text-decoration:underline;text-decoration-color:#ffffff45;text-underline-offset:5px}
.story-dust{position:absolute;inset:-20%;z-index:4;pointer-events:none;background-image:radial-gradient(#f6d8b050 .7px,transparent .7px);background-size:13px 13px;mask-image:radial-gradient(ellipse at 90% 10%,#000,transparent 60%);transform:translateY(var(--story-drift,0px));opacity:.35}
.field-workspace{padding-top:110px;padding-bottom:65px;position:relative;background:var(--paper)}
.workspace-context{font-size:16px;line-height:1.5;margin:0 0 26px;color:var(--muted)}
.field-workspace .explorer-intro h2{font-size:clamp(48px,5.3vw,76px);max-width:900px}
.image-credits{max-width:1100px;margin:auto;padding:0 7% 100px}
.image-credits article{padding:25px 0 40px;max-width:750px}
.image-credits h2{font-size:32px;margin:0 0 15px;line-height:1.2}
.image-credits p{font-size:18px;line-height:1.6;margin-bottom:15px}
.image-credits a{text-decoration:underline;text-underline-offset:5px;color:var(--iris)}
.image-credits .credit-links{display:flex;gap:25px;flex-wrap:wrap;font-size:17px}
@media(min-width:1700px){.hero--immersive{min-height:900px}.flow-stage,body[data-scene=home] .flow-stage{height:840px}.with-flow.pillar-top{min-height:850px}.with-flow.pillar-top>.flow-stage{height:790px}.story-copy{top:29%}}
@media(min-width:801px) and (max-width:1100px){.hero--immersive h1{font-size:10.6vw}.flow-stage,body[data-scene=home] .flow-stage{right:-9%;width:65vw;height:660px;top:65px}.with-flow.pillar-top h1{font-size:80px;max-width:51%}.with-flow.pillar-top .lead{max-width:43%;font-size:20px}.with-flow.pillar-top>.flow-stage{width:56vw;right:-3%;top:85px;height:610px}.field-switcher{margin-left:6%}.field-entry{max-width:50%;display:block}.field-entry .policy-shortcut{margin-left:29px}.story-copy{left:7%;max-width:65%}.story-copy h2{font-size:88px}.story-copy p{font-size:21px;max-width:30ch}.story-chapters{right:4%}.story-chapters button{font-size:12px}}
@media(max-width:800px){
 .hero--immersive{height:auto;min-height:0;padding-top:35px}.hero--immersive h1{font-size:14.3vw;max-width:none;line-height:.99}.hero--immersive h1 em{margin-left:3.5vw}.hero--immersive .hero-bottom{padding-top:0}
 .flow-stage,body[data-scene=home] .flow-stage,body:not([data-scene=home]) .flow-stage{width:110%;left:-5%;right:auto;height:570px;top:310px}
 .flow-stage .flow-caption{left:13%;right:13%;bottom:10px}.flow-stage .flow-link{font-size:21px}
 .with-flow.pillar-top{padding:44px 7% 65px;margin-top:0;min-height:0}.with-flow.pillar-top .sector-copy{max-width:none;pointer-events:none}
 .with-flow.pillar-top h1,.with-flow.atlas-top h1{font-size:clamp(65px,10.5vw,90px);max-width:100%;line-height:1.02;margin:0 0 28px}
 .with-flow.pillar-top .lead,.with-flow.atlas-top .lead{max-width:100%;font-size:21px;margin-bottom:0}
 .with-flow.pillar-top>.flow-stage,.with-flow.atlas-top>.flow-stage{width:110%;left:-5%;right:auto;height:530px}
 .field-entry{max-width:100%;display:flex;gap:28px;margin-top:20px}.field-entry .field-start{font-size:16px}
 .field-switcher{top:80px;margin-bottom:0;margin-left:auto;background:#24212fe8;max-width:96%;padding:7px}.field-switcher .field-choice{font-size:16px;padding:15px 20px}
 .with-flow.atlas-top{padding:35px 7% 60px;min-height:0}.with-flow.atlas-top h1{font-size:75px}.atlas-note{font-size:15px;max-width:100%;margin-top:25px}
 body[data-scene=pillars] .flow-stage .flow-link:not(.selected){font-size:23px}
 .atlas-outlook{padding:75px 7%}.atlas-outlook h2{font-size:57px}.atlas-outlook p{font-size:21px}
 .field-story{height:390svh}.story-sticky{min-height:640px}.story-copy{left:7%;top:29%;right:9%;max-width:650px}.story-copy h2{font-size:clamp(62px,10vw,85px)}.story-copy p{font-size:21px;max-width:29ch}
 .story-chapters{right:auto;left:7%;top:170px;flex-direction:row;gap:20px;align-items:center}.story-chapters button{flex-direction:row;font-size:13px;min-height:35px;gap:8px}.story-chapters button>span:last-child{display:none}.story-chapters button[aria-current=step]>span:last-child{display:block;opacity:1}
 .story-photo-credit{left:7%;bottom:86px;right:7%;font-size:12px}.story-policy-link{left:7%;right:auto;bottom:25px;font-size:14px;padding:13px 20px}
 .story-image-window{clip-path:ellipse(calc(55% + var(--image-reveal)*48%) calc(45% + var(--image-reveal)*47%) at 65% 44%)}
 .story-shade{background:linear-gradient(90deg,#0b0a12d6 0%,#0b0a1285 55%,#0b0a1245),linear-gradient(0deg,#0b0a12bd,transparent 50%,#0b0a1250)}
 .field-workspace{padding-top:75px}.field-workspace .explorer-intro h2{font-size:49px}.workspace-context{font-size:15px;margin-bottom:22px}
}
@media(max-width:520px){
 .hero--immersive h1{font-size:16.3vw}.hero--immersive{padding-top:23px}.hero--immersive .hero-context{font-size:13px;margin-bottom:26px}.hero--immersive .hero-bottom{margin-bottom:0}
 .flow-stage,body[data-scene=home] .flow-stage,body:not([data-scene=home]) .flow-stage{height:420px;width:112%;left:-6%}
 .flow-stage .flow-link{font-size:18px;padding:12px 16px}.flow-stage .flow-caption{left:13%;right:14%;font-size:11px}.flow-stage .motion-toggle{font-size:11px}
 body[data-scene=home] .flow-stage .flow-link-housing,body[data-scene=pillars] .flow-stage .flow-link-housing{left:29%;top:23%}
 body[data-scene=home] .flow-stage .flow-link-health,body[data-scene=pillars] .flow-stage .flow-link-health{left:73%;top:42%}
 body[data-scene=home] .flow-stage .flow-link-education,body[data-scene=pillars] .flow-stage .flow-link-education{left:29%;top:67%}
 body[data-scene=home] .flow-stage .flow-link-transport,body[data-scene=pillars] .flow-stage .flow-link-transport{left:66%;top:78%}
 .with-flow.pillar-top{padding-top:35px}.with-flow.pillar-top h1{font-size:64px;letter-spacing:-.05em}.with-flow.pillar-top .lead{font-size:20px}
 .with-flow.pillar-top>.flow-stage,.with-flow.atlas-top>.flow-stage{height:400px}
 body:not([data-scene=home]) .flow-stage .flow-link.selected{font-size:33px}.field-switcher .field-choice{font-size:15px;padding:13px 9px}.field-switcher{padding:6px 4px}
 .field-entry{flex-wrap:wrap;gap:0 23px}.field-entry .field-start{font-size:16px}.policy-shortcut{font-size:15px}
 .with-flow.atlas-top h1{font-size:57px}.with-flow.atlas-top .lead{font-size:20px}.atlas-outlook h2{font-size:44px}.atlas-outlook p{font-size:20px}
 .story-sticky{min-height:680px}.field-story{height:420svh}.story-copy{top:29%;left:7%;right:7%}.story-copy h2{font-size:60px;line-height:1.02;margin-bottom:22px}.story-copy p{font-size:20px;line-height:1.5;max-width:30ch}.story-context{font-size:14px;margin-bottom:20px}.story-chapters{top:150px;gap:15px}.story-chapters button{font-size:12px}
 .story-photo-credit{font-size:11px;bottom:89px;line-height:1.6}.story-policy-link{bottom:26px}.story-image{object-position:58% center}.field-workspace .explorer-intro h2{font-size:43px}.field-workspace{padding-top:65px}
}
@media(prefers-reduced-motion:reduce),(max-height:650px){
 .field-story{height:auto}.story-sticky{position:relative;height:auto;min-height:0;overflow:visible}.story-scene{position:relative;opacity:1!important;visibility:visible!important;min-height:740px;height:100svh;--image-reveal:1!important;--image-scale:1!important;--copy-shift:0px!important;scroll-margin-top:135px}.story-chapters,.story-policy-link{display:none}.story-photo-credit{bottom:30px}.story-image-window{clip-path:ellipse(95% 93% at 65% 44%);will-change:auto}.story-image{will-change:auto}.story-copy{transform:none}.story-dust{display:none}.field-story .story-context{margin-top:25px}
}
.with-flow.pillar-top .sector-copy{width:100%;max-width:none!important}
.motion-paused .scroll-thread:before{animation-play-state:paused}
.motion-paused .story-dust{transform:none}
.story-chapters button>span:last-child{opacity:.65;transform:none}
.story-chapters button[aria-current=step]>span:last-child{opacity:1}
.story-chapters:before{content:'';position:absolute;inset:-30px -35px;z-index:-1;background:radial-gradient(ellipse,#12121c70 10%,transparent 72%);pointer-events:none}
.story-chapters button{text-shadow:0 1px 6px #000,0 1px 14px #000}
.story-chapters button>span:last-child{opacity:.85}
@media(max-width:800px){.story-chapters button{min-width:44px;min-height:44px}}
.story-copy,.story-photo-credit{opacity:var(--copy-opacity,1)}
@media(prefers-reduced-motion:reduce),(max-height:650px){.story-copy,.story-photo-credit{opacity:1!important}}
