@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ink:#1d2420;--night:#141917;--night2:#1d2520;--paper:#f1f0e9;--white:#f5f5ed;--muted:#a2aea5;--accent:#c9ef96;--dark-accent:#45672d;--line:#ccd2c8;--dline:#ffffff24;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font-family:Manrope,Arial,sans-serif;background:#101511;color:var(--white);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{cursor:pointer}img{display:block}.icon{width:1em;height:1em;flex:none}.org-logo{width:62px;height:62px;object-fit:contain}
#viewport{position:fixed;inset:0;overflow:hidden;touch-action:none;user-select:none}#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:center;overflow:hidden;background:var(--night)}.scene{position:absolute;inset:0;overflow:hidden;visibility:hidden;opacity:0}.scene.active,.scene.leaving{visibility:visible}.scene.active{opacity:1;z-index:2}.scene.leaving{z-index:1}.scene-body{position:absolute;inset:142px 104px 138px}.tone-dark{background:var(--night);color:var(--white)}.tone-paper{background:var(--paper);color:var(--ink);--accent:var(--dark-accent);--muted:#737e72;--dline:#1d242025}.tone-lime{background:#d0eda0;color:var(--ink);--accent:#304f22;--muted:#547149;--dline:#1d242030}
.eyebrow{font:600 18px/1.3 Manrope,sans-serif;letter-spacing:.17em;margin:0 0 24px;color:var(--accent)}.headline{font-weight:500;font-size:112px;line-height:1.055;letter-spacing:-.065em;margin:0}.headline em{font-style:normal;font-weight:700;color:var(--accent)}.line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}.line>span{display:block}.scene.entered .headline:not(.copy) .line>span,.scene.entered .copy.current .line>span{animation:title-in .95s var(--spring) calc(120ms + var(--i)*120ms) both}@keyframes title-in{from{transform:translateY(115%) rotate(2deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}.headline-variants{display:grid}.headline-variants>.copy{grid-area:1/1;transition:opacity .28s,translate .45s var(--ease)}.copy{opacity:0;pointer-events:none;translate:0 -12px}.copy.current{opacity:1;pointer-events:auto;translate:0 0}.scene.entered [data-in]{animation:object-in .9s var(--spring) var(--delay,0ms) both}@keyframes object-in{from{opacity:0;translate:0 34px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}.beat{opacity:0;translate:0 28px;transition:opacity .65s var(--ease) var(--delay,0ms),translate .9s var(--spring) var(--delay,0ms);pointer-events:none}.beat.is-shown{opacity:1;translate:0 0;pointer-events:auto}[data-hide]{transition:opacity .3s,translate .4s}[data-hide].is-hidden{opacity:0;translate:0 -24px;pointer-events:none}.draw{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease) var(--delay,0ms);vector-effect:non-scaling-stroke}.scene.entered .draw:not(.phase-line):not(.match-path):not(.data-link):not(.insight-link):not(.source-path){stroke-dashoffset:0}.scene-bottom-note{position:absolute;bottom:0;left:0;right:0;font-size:21px;line-height:1.45;color:var(--muted);margin:0;max-width:1500px}
/* A quiet frame keeps the stage clear. */
#chrome{position:absolute;inset:0;z-index:20;pointer-events:none;color:#d0dacd;transition:color .4s}#chrome.paper,#chrome.lime{color:#5c6a59}.brand{position:absolute;left:104px;top:44px;display:flex;align-items:center;gap:16px;font-size:16px;letter-spacing:.07em;line-height:1.3;font-weight:700}.brand .org-logo{width:54px;height:54px}.brand span{max-width:360px}.chrome-meta{position:absolute;right:104px;top:58px;font:500 16px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;display:flex;align-items:center;gap:28px}.scope-tag{padding:9px 13px;border:1px solid #eeb679;color:#eeb679;font-family:Manrope;font-size:14px;font-weight:700;letter-spacing:.12em}.paper .scope-tag{border-color:#75845e;color:#75845e}.scene-count{font-size:21px;color:inherit}.chrome-bottom{position:absolute;left:104px;right:104px;bottom:38px;display:flex;justify-content:space-between;align-items:center;font:500 14px/1.2 ui-monospace,monospace;letter-spacing:.12em}.chrome-section{opacity:.65}.chapter-dots{display:flex;gap:9px}.chapter-dots i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.22;transition:width .4s,opacity .4s}.chapter-dots i.past{opacity:.5}.chapter-dots i.on{width:32px;border-radius:8px;opacity:1;background:var(--accent)}.paper .chapter-dots i.on,.lime .chapter-dots i.on{background:var(--dark-accent)}.timeline{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff0a}.timeline span{display:block;height:100%;background:var(--accent);transform-origin:left;transition:transform .9s var(--ease)}.paper .timeline span,.lime .timeline span{background:var(--dark-accent)}
/* 01 · The town becomes the visual anchor. */
.layout-cover .scene-body,.layout-closing .scene-body{inset:0}.city-media{position:absolute;inset:-2%;background:url('../assets/kent-maketi.png') center/cover no-repeat;transform:scale(1.025);transform-origin:75% 55%}.scene.entered .city-media{animation:city-camera 22s cubic-bezier(.1,.2,.2,1) both}@keyframes city-camera{from{transform:scale(1.1) translateX(1.5%)}to{transform:scale(1.025) translateX(0)}}.city-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#111714 0%,#111714ed 23%,#11171494 43%,#11171408 70%),linear-gradient(0deg,#111714ed 0%,transparent 25%,transparent 70%,#1117148c 100%)}.cover-copy{position:absolute;left:104px;top:260px;width:1010px}.cover-head{font-size:134px;line-height:1.035;letter-spacing:-.067em}.cover-promise{font-size:31px;line-height:1.5;margin:35px 0 0;color:#d4dccf}.cover-bottom{position:absolute;left:104px;right:104px;bottom:108px;display:flex;justify-content:space-between;font-size:21px;font-weight:500;color:#dae0d3}.cover-bottom i{font-style:normal;margin:0 9px;color:var(--accent)}.cover-bottom>span:last-child{font:500 17px ui-monospace,monospace;letter-spacing:.1em}.cover-line{position:absolute;left:104px;top:224px;width:70px;height:4px;background:var(--accent);transform-origin:left}.scene.entered .cover-line{animation:line-grow 1s var(--ease) .5s both}@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* 02 · Disconnected effort, then a clear common message. */
.problem-copy{position:absolute;left:0;top:48px;width:800px}.problem-copy .headline{font-size:118px}.large-takeaway{position:absolute;top:420px;left:0;font-size:44px;line-height:1.3;letter-spacing:-.035em;margin:0;color:#8c9587}.large-takeaway strong{font-weight:650;color:var(--ink)}.problem-space{position:absolute;right:-8px;top:48px;width:920px;height:720px}.problem-space>svg{position:absolute;inset:0;width:100%;height:100%;color:#9ba58f}.broken{stroke-dasharray:.013 .02;stroke-dashoffset:0;opacity:0;transition:opacity 1s var(--delay)}.scene.entered .broken{opacity:.48}.challenge{position:absolute;width:325px;height:137px;border:1px dashed #88967c;background:#f9faf4;display:flex;align-items:center;gap:22px;padding:24px 26px;box-shadow:0 20px 45px #26332209;transition:transform 1.3s var(--spring),border-color 1s,box-shadow 1s}.challenge>.icon{font-size:41px;color:#6d7e5e}.challenge span{font-size:21px;line-height:1.5;color:#7b8474}.challenge strong{font-size:28px;color:var(--ink);font-weight:650;letter-spacing:-.03em}.c1{left:92px;top:40px;transform:rotate(-7deg)}.c2{left:530px;top:183px;transform:rotate(6deg)}.c3{left:120px;top:382px;transform:rotate(4deg)}.c4{left:526px;top:536px;transform:rotate(-5deg)}.p1 .c1{transform:translate(50px,40px) rotate(0)}.p1 .c2{transform:translate(-55px,-30px) rotate(0)}.p1 .c3{transform:translate(22px,-20px) rotate(0)}.p1 .c4{transform:translate(-55px,-85px) rotate(0)}.p1 .challenge{border-style:solid;border-color:#829a68;box-shadow:0 20px 45px #2633220e}.loose-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#8d9d79;animation:drift 5s ease-in-out infinite}.ld1{left:75px;top:325px}.ld2{left:420px;top:500px;animation-delay:-1.5s}.ld3{right:95px;top:100px;animation-delay:-3s}@keyframes drift{50%{translate:8px -16px;opacity:.45}}
/* 03 · Inputs converge and return as shared benefits. */
.platform-copy{position:absolute;left:0;top:48px;width:720px}.platform-copy .headline{font-size:118px}.platform-summary{position:absolute;left:0;top:586px;font-size:29px;line-height:1.5;color:var(--muted);margin:0}.platform-space{position:absolute;right:-12px;top:45px;width:980px;height:720px}.platform-space>svg{position:absolute;inset:0;width:100%;height:100%;color:#8aaa6d}.platform-orbit{fill:none;stroke:#c9ef9611;stroke-width:1}.phase-line{opacity:0;stroke-dashoffset:1;stroke:#c9ef9670}.p1 .phase-line{opacity:1;stroke-dashoffset:0}.platform-hub{position:absolute;left:50%;top:50%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;background:var(--accent);color:#24321e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transform:scale(.3);transition:transform 1s var(--spring) .5s,opacity .5s .5s;z-index:3}.platform-hub .org-logo{width:65px;height:65px}.platform-hub b{font-size:41px;line-height:1;letter-spacing:-.04em}.platform-hub>span{font-size:17px;font-weight:600}.p1 .platform-hub{opacity:1;transform:scale(1)}.satellite{position:absolute;display:flex;align-items:center;justify-content:center;gap:13px;width:240px;height:112px;border-radius:64px;background:#202921;border:1px solid #43503d;transform:translate(-50%,-50%);z-index:2}.satellite>.icon{font-size:32px;color:var(--accent)}.satellite>div{display:grid;font-size:25px;font-weight:600;letter-spacing:-.025em}.satellite>div>span{grid-area:1/1;transition:opacity .4s}.sat-before{opacity:1}.sat-after{opacity:0}.s1{left:150px;top:140px}.s2{left:830px;top:155px}.s3{left:825px;top:595px}.s4{left:155px;top:600px}.p1 .satellite{animation:node-merge 1.8s var(--ease) var(--merge-delay) both}.p1 .sat-before{opacity:0;transition-delay:.7s}.p1 .sat-after{opacity:1;transition-delay:1.05s}@keyframes node-merge{0%{transform:translate(-50%,-50%) translate(0,0) scale(1)}43%{transform:translate(-50%,-50%) translate(var(--mx),var(--my)) scale(.05);opacity:0}57%{transform:translate(-50%,-50%) translate(var(--mx),var(--my)) scale(.05);opacity:0}100%{transform:translate(-50%,-50%) translate(0,0) scale(1);opacity:1}}.hub-pulse{position:absolute;left:50%;top:50%;width:290px;height:290px;margin:-145px;border:1px solid #c9ef962e;border-radius:50%;opacity:0}.p1 .hub-pulse{opacity:1;animation:hub-breathe 4s ease-in-out 1.8s infinite}@keyframes hub-breathe{50%{transform:scale(1.1);opacity:.35}}
/* 04 · A year, rather than a meeting, is the unit of communication. */
.comm-copy{position:absolute;top:48px;left:0;width:860px}.comm-copy .headline{font-size:112px}.communication-list{position:absolute;left:0;top:440px;width:790px}.communication-list>div{display:flex;align-items:center;gap:18px;font-size:28px;line-height:1.25;border-top:1px solid var(--dline);padding:18px 0;opacity:0;translate:0 12px;transition:opacity .7s var(--delay),translate .9s var(--spring) var(--delay)}.communication-list>.is-shown,.communication-list.is-shown>div{opacity:1;translate:0 0}.communication-list .icon{font-size:27px;color:var(--accent)}.year-space{position:absolute;right:-4px;top:-8px;width:780px;height:780px}.year-space>svg{width:100%;height:100%;overflow:visible}.year-track{fill:none;stroke:#c9ef9620;stroke-width:1.5}.year-motion{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:340 1700;stroke-linecap:round;transform-origin:center;animation:year-turn 18s linear infinite}.year-node{fill:var(--accent);opacity:0}.scene.entered .year-node{animation:fade-in 1s var(--delay) both}.p1 .year-node{animation:node-glow 3s ease-in-out var(--delay) infinite}.year-number{position:absolute;left:0;right:0;top:235px;text-align:center;display:flex;flex-direction:column;align-items:center}.year-number>span{font-size:238px;font-weight:450;letter-spacing:-.08em;line-height:1;color:var(--accent)}.year-number small{font-size:24px;letter-spacing:.32em;margin-top:12px}.year-number strong{font-size:28px;font-weight:500;color:var(--muted);margin-top:25px}.year-caption{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-size:21px;color:var(--muted)}@keyframes year-turn{to{transform:rotate(360deg)}}@keyframes node-glow{50%{opacity:.25}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
/* 05 · Three needs visibly become one pool, then an evaluation. */
.layout-procurement .headline{font-size:112px}.procurement-space{position:absolute;left:0;right:0;top:335px;height:410px}.demand-origin{position:absolute;top:15px;width:360px;transition:transform 1.3s var(--ease),opacity .55s ease .65s}.origin-0{left:80px;transform:rotate(-5deg)}.origin-1{left:676px;transform:rotate(2deg);transition-delay:.09s}.origin-2{left:1272px;transform:rotate(5deg);transition-delay:.18s}.demand-card{height:300px;background:#fcfcf6;border:1px solid #d0d6c7;padding:31px 30px;box-shadow:0 24px 50px #1d242012;display:flex;flex-direction:column}.demand-org{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:600}.demand-org>.icon{font-size:30px;color:var(--dark-accent)}.demand-rule{height:1px;background:var(--line);margin:22px 0}.demand-icon{font-size:49px;color:var(--dark-accent);margin-bottom:18px}.demand-card strong{font-size:29px;font-weight:650;letter-spacing:-.04em}.demand-card small{font-size:19px;color:var(--muted);margin-top:11px}.p1 .origin-0{transform:translate(576px,-8px) rotate(4deg) scale(.72);opacity:0}.p1 .origin-1{transform:translate(0,-8px) rotate(0) scale(.72);opacity:0}.p1 .origin-2{transform:translate(-616px,-8px) rotate(-4deg) scale(.72);opacity:0}.demand-pool{position:absolute;left:50%;top:0;width:400px;height:350px;margin-left:-200px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:32px;background:#22321e;color:#f4f9ea;opacity:0;transform:scale(.5);transition:opacity .5s .8s,transform 1s var(--spring) .6s}.p1 .demand-pool{opacity:1;transform:scale(1)}.p2 .demand-pool{transform:translateX(-460px) scale(.94);transition-delay:0s}.pool-cities{display:flex;gap:12px;position:absolute;left:0;right:0;top:-28px;justify-content:center}.pool-cities>span{width:53px;height:53px;border:5px solid var(--paper);border-radius:50%;background:#b7d494;color:#2b3d24;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:700}.demand-pool>.icon{font-size:66px;color:#c9ef96}.demand-pool>span{font-size:16px;letter-spacing:.15em;color:#b8d894;font-weight:700;margin:21px 0 14px}.demand-pool strong{font-size:37px;line-height:1.15;text-align:center;font-weight:550;letter-spacing:-.04em}.pool-ring{position:absolute;inset:-12px;border:1px solid #45672d38;border-radius:43px;opacity:0}.p1 .pool-ring{animation:pool-resonate 2.5s ease-out 1s infinite}@keyframes pool-resonate{0%{transform:scale(.94);opacity:.6}100%{transform:scale(1.08);opacity:0}}.proc-evaluation{position:absolute;left:960px;top:3px;width:700px;--delay:300ms}.proc-evaluation>p{font-size:17px;letter-spacing:.14em;color:var(--dark-accent);font-weight:700;margin:0 0 25px}.proc-evaluation>div{display:flex;gap:25px;align-items:baseline;padding:20px 0;border-top:1px solid var(--line)}.proc-evaluation>div span{font:500 20px ui-monospace,monospace;color:#819276}.proc-evaluation strong{font-size:34px;letter-spacing:-.03em;font-weight:550}.proc-connect{position:absolute;left:805px;top:134px;font-size:62px;color:var(--dark-accent);--delay:200ms}
/* 06 · Needs and capacity connect through the union. */
.layout-disaster{--accent:#edb879}.layout-disaster .headline{font-size:104px}.disaster-space{position:absolute;left:0;right:0;top:285px;height:430px}.disaster-space>svg{position:absolute;inset:0;width:100%;height:100%;color:#edb87999}.resource-title{position:absolute;top:0;font-size:16px;letter-spacing:.16em;font-weight:700;color:var(--muted)}.rt-left{left:0}.rt-right{right:0;width:390px}.resource{position:absolute;height:80px;width:390px;display:flex;align-items:center;gap:21px;border-bottom:1px solid var(--dline);transition:border-color .8s,color .8s}.need-row{left:0}.support-row{right:0}.resource-0{top:60px}.resource-1{top:175px}.resource-2{top:290px}.resource>.icon{font-size:42px;color:var(--muted);transition:color .8s}.resource strong{font-size:30px;letter-spacing:-.03em;font-weight:500}.match-check{margin-left:auto;opacity:0;scale:.5;font-size:26px;color:var(--accent);transition:opacity .5s,scale .8s var(--spring)}.match-path{stroke-dashoffset:1;opacity:0;stroke-width:1.6;transition:stroke-dashoffset 1.8s var(--ease) var(--delay),opacity .5s var(--delay)}.p1 .match-path{stroke-dashoffset:0;opacity:1}.coord-hub{position:absolute;left:746px;top:105px;width:220px;height:220px;border-radius:50%;border:1px solid #edb87955;background:#2c2a20;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;scale:.4;transition:opacity .7s .35s,scale 1s var(--spring) .3s}.coord-hub .org-logo{width:71px;height:71px}.coord-hub strong{font-size:31px;margin-top:9px;font-weight:550}.coord-hub span{font-size:17px;color:var(--muted);margin-top:3px}.p1 .coord-hub{opacity:1;scale:1}.p2 .resource{border-color:#edb87980}.p2 .resource>.icon{color:var(--accent)}.p2 .match-check{opacity:1;scale:1}.disaster-takeaway{position:absolute;bottom:0;left:0;right:0;font-size:33px;line-height:1.2;letter-spacing:-.03em;text-align:center;margin:0;color:var(--muted)}.disaster-takeaway strong{color:var(--accent);font-weight:600}.support-packet{position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;left:390px;top:211px;opacity:0}.p1 .support-packet{animation:resource-travel 2.6s var(--ease) infinite}.packet-1{animation-delay:.6s!important}.packet-2{animation-delay:1.2s!important}@keyframes resource-travel{0%{translate:0 0;opacity:0}15%{opacity:1}75%{opacity:1}100%{translate:930px 0;opacity:0}}
/* 07 · A report changes state rather than leaving the screen. */
.report-copy{position:absolute;left:0;top:48px;width:735px}.report-copy .headline{font-size:112px}.report-steps{position:absolute;left:0;top:480px;list-style:none;margin:0;padding:0;width:740px}.report-steps li{display:flex;align-items:center;gap:23px;font-size:28px;letter-spacing:-.025em;color:#a6afa0;padding:21px 0;border-top:1px solid #1d242016;transition:color .6s,translate .6s}.report-steps li span{font:500 17px ui-monospace,monospace}.report-steps li.is-current{color:var(--ink);translate:10px 0}.report-steps li.is-current span{color:var(--dark-accent)}.report-space{position:absolute;right:0;top:35px;width:810px;height:690px}.report-paper{position:absolute;left:70px;top:40px;width:700px;height:610px;background:#fffef8;border:1px solid #ccd5c4;padding:43px 49px;box-shadow:0 24px 70px #26332217;z-index:3;transition:transform 1s var(--spring)}.paper-top{display:flex;align-items:center;justify-content:space-between;font-size:16px;letter-spacing:.14em;color:#85937b;font-weight:700;border-bottom:1px solid #d6dece;padding-bottom:25px}.paper-top>.icon{font-size:28px}.report-paper h3{font-size:39px;letter-spacing:-.05em;margin:28px 0 32px;font-weight:550}.report-assignments>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid #dde3d8;min-height:84px}.assignment-dot{width:7px;height:7px;background:#91a780;border-radius:50%}.report-assignments strong{font-size:23px;letter-spacing:-.03em;font-weight:550}.report-assignments small{font-size:17px;color:#7b8b70}.report-assignments>p{font-size:20px;line-height:1.5;color:#859078;margin-top:31px;max-width:450px}.archive-page{position:absolute;width:555px;height:530px;background:#e1e8d9;border:1px solid #c7d3bd;padding:36px;transition:transform 1.25s var(--ease),opacity .5s .8s;z-index:1}.archive-page>span{font-size:14px;color:#8b9b80;letter-spacing:.1em}.archive-page i{display:block;height:8px;background:#cad7be;margin-top:27px}.archive-page i:nth-child(3){width:75%}.archive-1{left:0;top:15px;transform:rotate(-8deg)}.archive-2{right:-7px;top:18px;transform:rotate(8deg)}.p1 .archive-1{transform:translate(85px,60px) rotate(0) scale(.6);opacity:0}.p1 .archive-2{transform:translate(-60px,40px) rotate(0) scale(.6);opacity:0}.report-draft{position:absolute;left:49px;right:49px;top:190px;--delay:250ms}.draft-label{display:flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.08em;font-weight:700;color:#587340}.draft-label>.icon{font-size:21px}.draft-lines{position:absolute;top:47px;left:0;right:0;opacity:0}.draft-lines i{display:block;height:13px;margin:19px 0;background:linear-gradient(90deg,#e2e9d9,#f7faf1,#e2e9d9);background-size:220%}.draft-lines i:last-child{width:72%}.p1 .draft-lines{animation:skeleton-away 2.1s both}.p1 .draft-lines i{animation:scan 1s linear infinite}.draft-content{opacity:0}.p1 .draft-content{animation:fade-in .8s 1.75s both}.draft-content>strong{font-size:28px;display:block;margin-top:28px;letter-spacing:-.03em;font-weight:600}.draft-content>p{font-size:24px;line-height:1.45;color:#728168;margin:15px 0}.review-stamp{position:absolute;bottom:33px;right:35px;display:flex;align-items:center;gap:10px;border:2px solid #527b35;padding:12px 16px;color:#527b35;font-size:18px;font-weight:750;letter-spacing:.06em;opacity:0;transform:scale(1.35) rotate(-8deg);transition:opacity .25s .6s,transform .5s var(--spring) .6s}.review-stamp .icon{font-size:25px}.p2 .review-stamp{opacity:1;transform:scale(1) rotate(-4deg)}.p2 .report-paper{transform:translateY(-27px) scale(.96)}.report-exports{position:absolute;bottom:-14px;left:180px;right:100px;display:flex;gap:18px;z-index:4;--delay:650ms}.report-exports>span{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;background:#243b1d;color:#eff6e6;padding:18px 24px;font-size:27px;font-weight:600;border-radius:7px;box-shadow:0 14px 35px #273b1e20}.report-exports .icon{font-size:28px}@keyframes skeleton-away{0%,65%{opacity:1}100%{opacity:0}}@keyframes scan{to{background-position:-220% 0}}
/* 08 · Report data arrives, then expands into usable comparisons. */
.insight-head .headline{font-size:109px}.insight-space{position:absolute;left:0;right:0;top:295px;height:480px}.insight-space>svg{position:absolute;inset:0;width:100%;height:100%;color:#b7ccaa}.insight-source{position:absolute;left:0;top:0;width:470px;height:480px}.insight-source>span{font-size:15px;letter-spacing:.15em;color:var(--muted)}.source-token{position:absolute;display:flex;align-items:center;gap:11px;padding:19px 22px;background:#222c24;border:1px solid #45503e;border-radius:9px;white-space:nowrap;transition:opacity .7s,transform 1.3s var(--ease)}.source-token>.icon{font-size:23px;color:var(--accent)}.source-token>b{font-size:24px;font-weight:500}.scene.entered .source-token{animation:object-in .8s var(--spring) var(--delay) both}.p1 .source-token{transform:translateX(35px)}.p2 .source-token{opacity:.48}.insight-core{position:absolute;left:760px;top:130px;width:235px;height:235px;border-radius:50%;background:var(--accent);color:#273821;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;scale:.2;opacity:0;transition:scale 1.1s var(--spring) .5s,opacity .7s .5s;box-shadow:0 0 0 14px #c9ef9608}.insight-core>.icon{font-size:49px}.insight-core strong{font-size:32px;line-height:1.1;text-align:center;letter-spacing:-.04em;font-weight:550}.p1 .insight-core{opacity:1;scale:1}.data-link,.insight-link{stroke-dashoffset:1;opacity:0}.p1 .data-link,.p2 .insight-link{opacity:.6;stroke-dashoffset:0}.insight-results{position:absolute;right:0;top:68px;width:560px;--delay:350ms}.insight-results>div{height:120px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--dline)}.insight-results span{font:500 16px ui-monospace,monospace;color:var(--accent)}.insight-results strong{font-size:27px;font-weight:500;letter-spacing:-.03em}.data-particle{position:absolute;left:450px;top:var(--y);width:5px;height:5px;background:var(--accent);border-radius:50%;opacity:0}.p1 .data-particle{animation:data-arrive 2.1s var(--ease) var(--delay) infinite}.p2 .data-particle{animation-iteration-count:1}@keyframes data-arrive{0%{opacity:0;translate:0 0}20%{opacity:.8}90%{opacity:.8}100%{opacity:0;translate:410px calc(240px - var(--y));scale:1.4}}
/* 09 · The question is typed; the source visibly answers the trust question. */
.layout-assistant .headline{font-size:110px}.assistant-space{position:absolute;left:0;right:0;top:315px;height:445px}.question-area{position:absolute;left:0;top:0;width:960px}.question-label{font-size:15px;letter-spacing:.15em;color:var(--muted);font-weight:650}.question-area blockquote{font-size:46px;line-height:1.32;letter-spacing:-.04em;font-weight:500;margin:24px 0 0;min-height:165px;max-width:950px}.type-cursor{display:inline-block;width:3px;height:42px;background:var(--accent);margin-left:5px;vertical-align:-5px;animation:cursor-blink .8s step-end infinite}.typed-complete+.type-cursor{opacity:0;animation:none}.assistant-response{display:flex;align-items:flex-start;gap:20px;margin-top:28px;--delay:150ms}.assistant-response>.icon{font-size:33px;color:var(--accent);margin-top:2px}.assistant-response strong{font-size:29px;font-weight:600;color:var(--accent);letter-spacing:-.03em}.assistant-response p{font-size:23px;line-height:1.45;color:var(--muted);margin:10px 0 0;max-width:700px}.source-link{margin:28px 0 0 53px;display:flex;align-items:center;gap:12px;font-size:19px;width:360px;border-bottom:1px solid #c9ef9655;padding-bottom:12px;color:var(--accent);--delay:350ms}.source-link span{margin-left:auto;font-size:25px}.source-connector{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:#c9ef9666}.source-path{opacity:0;stroke-dashoffset:1}.p1 .source-path{opacity:1;stroke-dashoffset:0}.source-paper{position:absolute;right:0;top:-10px;width:525px;height:432px;background:#f1f2e8;color:#283524;padding:39px;opacity:0;transform:translateX(100px) rotate(7deg) scale(.94);transition:opacity .7s .2s,transform 1.3s var(--spring) .2s;box-shadow:0 25px 60px #0003}.p1 .source-paper{opacity:1;transform:translateX(0) rotate(0) scale(1)}.source-paper>span{font-size:14px;letter-spacing:.15em;color:#899680;font-weight:650}.source-paper h3{font-size:39px;font-weight:550;letter-spacing:-.05em;margin:24px 0}.source-paper>i{display:block;height:6px;background:#cfd8c4;margin:17px 0}.source-paper>i:nth-of-type(2){width:75%}.source-highlight{position:relative;padding:14px 9px;margin:25px -9px;display:flex;flex-direction:column;gap:8px}.source-highlight:before{content:"";position:absolute;inset:0;background:#c9eaa1;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) 1.05s}.source-highlight>b,.source-highlight>span{position:relative;z-index:1}.source-highlight>b{font-size:25px;font-weight:550;letter-spacing:-.03em}.source-highlight>span{font-size:17px;color:#688153}.p1 .source-highlight:before{transform:scaleX(1)}.source-paper>small{font-size:16px;color:#788c68;display:block;margin-top:21px}.assistant-principle{position:absolute;bottom:0;left:0;right:0;margin:0;font-size:29px;color:var(--muted);letter-spacing:-.025em}.assistant-principle strong{color:var(--accent);font-weight:600}@keyframes cursor-blink{50%{opacity:0}}
/* 10 · A legal guide: questions become steps; the draft band becomes an approval. */
.layout-guides .headline{font-size:112px}.guide-questions>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;border-bottom:1px solid #dde3d8;opacity:0;translate:0 12px;transition:opacity .7s var(--delay),translate .9s var(--spring) var(--delay)}.scene.entered .guide-questions>div{opacity:1;translate:0 0}.q-text{font-size:22px;letter-spacing:-.025em;font-weight:550}.q-answer{font-size:14px;font-weight:750;letter-spacing:.1em;color:var(--dark-accent);border:1px solid #bccbaf;border-radius:20px;padding:6px 14px;flex:none}.guide-questions>p{font-size:19px;line-height:1.5;color:#859078;margin:16px 0 0}.guide-step,.guide-case{position:absolute;left:49px;right:49px;top:270px;--delay:250ms}.step-label{font-size:14px;letter-spacing:.1em;font-weight:750;color:#587340}.guide-step dl{margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.guide-step dl>div{border-top:1px solid #dde3d8;padding-top:9px;min-height:70px}.guide-step dt{font-size:13px;letter-spacing:.11em;color:#85937b;font-weight:750}.guide-step dd{margin:5px 0 0;font-size:19px;line-height:1.3;letter-spacing:-.02em;font-weight:550}.guide-step dd>span{color:var(--dark-accent);font-size:15px;font-weight:650;margin-left:8px;white-space:nowrap}.guide-threshold{margin-top:14px;padding:12px 18px;background:#eef3e6;border:1px solid #cdd9c0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.guide-threshold>span{flex:0 0 100%;font-size:13px;letter-spacing:.13em;font-weight:750;color:#587340}.guide-threshold strong{font-size:28px;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.guide-threshold small{font-size:15px;color:#7b8b70;margin-right:14px}.guide-threshold em{flex:0 0 100%;font-style:normal;font-size:14px;color:#859078;margin-top:4px}.guide-case>div{display:flex;align-items:center;gap:14px;min-height:64px;border-bottom:1px solid #dde3d8;opacity:0;translate:0 12px;transition:opacity .7s var(--delay),translate .9s var(--spring) var(--delay)}.guide-case.is-shown>div{opacity:1;translate:0 0}.guide-case .icon{font-size:24px;color:var(--dark-accent)}.guide-case strong{font-size:21px;letter-spacing:-.025em;font-weight:550}.guide-case small{margin-left:auto;font-size:14px;color:#7b8b70;white-space:nowrap}.guide-case>p{font-size:18px;line-height:1.5;color:#859078;margin:18px 0 0}
.layout-demo .headline{font-size:114px}.demo-space{position:absolute;left:0;right:0;top:340px;height:430px}.demo-items{width:1250px}.demo-item{height:126px;display:grid;grid-template-columns:62px 62px 1fr;align-items:center;gap:24px;border-top:1px solid #243d2228;opacity:.37;transform:translateX(0) scale(.98);transform-origin:left center;transition:opacity .6s,transform .9s var(--spring)}.demo-item.is-current{opacity:1;transform:translateX(18px) scale(1)}.demo-item>span{font:500 25px ui-monospace,monospace;color:#426630}.demo-item>.icon{font-size:43px}.demo-item strong{display:block;font-size:34px;line-height:1.25;letter-spacing:-.035em;font-weight:600}.demo-item small{display:block;font-size:20px;margin-top:10px;color:#5b784c}.demo-clock{position:absolute;right:0;top:-15px;width:380px;height:440px}.demo-clock>svg{width:380px;height:380px;transform:rotate(-90deg)}.demo-track{fill:none;stroke:#29491f25;stroke-width:1.2}.demo-sweep{fill:none;stroke:#29491f;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.scene.entered .demo-sweep{animation:demo-ring 45s linear both}.p1 .demo-sweep{animation:demo-ring-b 30s linear both}.p2 .demo-sweep{animation:demo-ring-c 30s linear both}.demo-clock>.headline-variants{position:absolute;left:0;right:0;top:78px;text-align:center}.demo-seconds{display:flex;flex-direction:column}.demo-seconds b{font-size:150px;line-height:1;letter-spacing:-.08em;font-weight:400}.demo-seconds span{font-size:19px;letter-spacing:.23em;margin-top:18px}.demo-clock>small{position:absolute;left:0;right:0;text-align:center;top:403px;font-size:14px;letter-spacing:.1em;font-weight:600}.demo-total{position:absolute;bottom:0;left:0;font-size:27px;font-weight:500;letter-spacing:-.025em;margin:0}.demo-total>span{margin:0 17px;color:#627d4e}.demo-total strong{font-weight:700}@keyframes demo-ring{to{stroke-dashoffset:0}}@keyframes demo-ring-b{to{stroke-dashoffset:0}}@keyframes demo-ring-c{to{stroke-dashoffset:0}}
/* 11 · Four concrete actions and one clear trial invitation. */
.layout-onboarding .headline{font-size:108px}.onboarding-space{position:absolute;left:0;right:0;top:310px;height:390px;display:grid;grid-template-columns:repeat(4,1fr);gap:48px}.onboarding-space>svg{position:absolute;inset:0;width:100%;height:320px;pointer-events:none;color:#91a57e}.start-step{position:relative}.step-number{position:absolute;right:23px;top:25px;font-size:93px;line-height:1;font-weight:400;letter-spacing:-.06em;color:#3d5a2513}.step-symbol{position:relative;width:112px;height:112px;background:var(--paper);border:1px solid #7c9468;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:36px 0 33px;color:var(--dark-accent);z-index:1}.step-symbol>.icon{font-size:45px}.start-step>strong{display:block;font-size:31px;line-height:1.15;font-weight:600;letter-spacing:-.04em;max-width:345px}.start-step>p{font-size:22px;line-height:1.4;max-width:345px;color:var(--muted);margin:17px 0 0}
/* 12 · Return to the town, with a stronger common identity. */
.layout-closing .city-media{opacity:.55}.layout-closing .city-vignette{background:linear-gradient(90deg,#111714 0%,#111714e8 34%,#11171440 74%),linear-gradient(0deg,#111714 0%,transparent 40%)}.closing-copy{position:absolute;left:104px;top:250px;right:104px}.closing-head{font-size:137px;line-height:1.075;max-width:1500px}.closing-outcomes{display:flex;gap:34px;margin-top:44px;font-size:23px;color:#c7d5bb;--delay:150ms}.closing-outcomes>span{border-bottom:1px solid #c9ef9640;padding-bottom:12px}.closing-invite{font-size:31px;line-height:1.5;letter-spacing:-.025em;margin:32px 0 0;color:#d8e0d1;--delay:400ms}.thanks{font-size:25px;letter-spacing:.05em;font-weight:600;color:var(--accent);margin:26px 0 0;--delay:750ms}
/* Presenter, overview and interaction. */
.deck-controls{position:fixed;left:50%;bottom:15px;transform:translateX(-50%);z-index:45;display:flex;gap:6px;align-items:center;padding:5px;background:#101711c7;backdrop-filter:blur(14px);border:1px solid #ffffff1c;border-radius:40px;opacity:0;transition:opacity .3s}.awake .deck-controls,.deck-controls:focus-within,.deck-controls:hover{opacity:1}.deck-controls button{height:39px;min-width:41px;padding:0 13px;border:0;border-radius:24px;background:transparent;color:#e1e8da;font-size:17px}.deck-controls button:hover{background:#c9ef9624}.deck-controls .utility{font-size:13px;font-weight:650;letter-spacing:.02em}.control-divider{height:20px;width:1px;background:#ffffff24;margin:0 3px}.initial-hint{position:fixed;left:50%;bottom:82px;translate:-50% 0;z-index:30;color:#c9d4bf;background:#131a15ce;border:1px solid #ffffff20;padding:10px 18px;border-radius:24px;font-size:13px;white-space:nowrap;pointer-events:none;transition:opacity .7s}.hint-gone .initial-hint{opacity:0}.idle *{cursor:none!important}#blank{position:fixed;inset:0;z-index:100;background:#000;display:none}.blank #blank{display:block}#overview{position:fixed;inset:0;z-index:60;background:#101710f7;padding:45px clamp(24px,5vw,100px);overflow-y:auto;display:none}.overview-open #overview{display:block}.overview-head{display:flex;justify-content:space-between;align-items:flex-start;color:#eef5e5}.overview-head h2{font-size:50px;font-weight:500;letter-spacing:-.05em;margin:0 0 10px}.overview-head p{color:#a3b497;font-size:15px;margin:0 0 32px}.overview-head button{background:transparent;color:#d0dac8;border:1px solid #738168;font-size:14px;padding:10px 20px;border-radius:30px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.overview-card{border:1px solid #ffffff24;background:#1e291e;min-height:153px;display:flex;flex-direction:column;padding:18px 20px;color:#eef4e4;text-align:left;transition:background .2s,border-color .2s}.overview-card:hover,.overview-card.on{background:#304529;border-color:#bde88d}.overview-card>span{font:500 13px ui-monospace,monospace;color:#b0cf96;letter-spacing:.08em}.overview-card>strong{font-size:23px;line-height:1.2;font-weight:550;letter-spacing:-.035em;margin:18px 0 auto}.overview-card>small{font-size:12px;color:#9cad8e;margin-top:14px}.overview-shortcuts{font-size:14px;color:#9daf90;margin-top:26px}#notesFallback{position:fixed;z-index:80;left:20px;right:20px;bottom:20px;max-height:60vh;overflow:auto;background:#172216;color:#ebf4e0;border:1px solid #537643;padding:25px 35px;display:none}.notes-open #notesFallback{display:block}#notesFallback h2{font-size:26px;margin:0 65px 15px 0}#notesFallback p{font-size:20px;line-height:1.55;max-width:95ch;margin:0;color:#b8c7aa}#notesFallback button{position:absolute;top:18px;right:18px;background:transparent;border:1px solid #809274;border-radius:50%;width:37px;height:37px;color:#e2ecd8}.notes-warning{font-size:13px!important;margin-top:20px!important;color:#9aac88!important}
/* Portrait viewing is a readable companion to the projection layout. */
.portrait #viewport{touch-action:pan-y}.portrait .scene{overflow-y:auto;padding:0 0 170px}.portrait .scene-body{position:relative;inset:auto;margin:145px 54px 150px;min-height:1100px}.portrait .brand{left:54px;top:35px}.portrait .brand span{font-size:16px;max-width:330px}.portrait .chrome-meta{right:54px;top:50px}.portrait .chrome-meta .scope-tag{display:none}.portrait .chrome-bottom{left:54px;right:54px;bottom:36px}.portrait #chrome:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(0deg,#121913e8,transparent);z-index:-1}.portrait #chrome.paper:after{background:linear-gradient(0deg,#f1f0e9e8,transparent)}.portrait #chrome.lime:after{background:linear-gradient(0deg,#d0eda0e8,transparent)}.portrait .headline,.portrait .layout-problem .headline,.portrait .platform-copy .headline,.portrait .comm-copy .headline,.portrait .report-copy .headline{font-size:78px}.portrait .layout-cover .scene-body,.portrait .layout-closing .scene-body{margin:0;min-height:1500px}.portrait .cover-copy,.portrait .closing-copy{left:54px;right:54px;top:250px;width:auto}.portrait .cover-head,.portrait .closing-head{font-size:88px}.portrait .cover-promise{font-size:30px}.portrait .city-media{background-position:68% center;opacity:.5}.portrait .city-vignette{background:linear-gradient(90deg,#111714d9,#11171438),linear-gradient(0deg,#111714,transparent)}.portrait .cover-bottom{left:54px;right:54px;bottom:190px;flex-direction:column;gap:35px;font-size:22px}.portrait .cover-line{left:54px;top:215px}.portrait .problem-copy,.portrait .platform-copy,.portrait .comm-copy,.portrait .report-copy{position:relative;left:auto;top:auto;width:100%}.portrait .problem-space{position:relative;right:auto;top:auto;width:100%;height:560px;scale:.82;transform-origin:left top;margin-top:55px}.portrait .problem-copy .large-takeaway{position:relative;top:auto;margin-top:45px;font-size:36px}.portrait .platform-space{position:relative;top:auto;right:auto;scale:.66;transform-origin:left top;margin-top:40px;height:720px}.portrait .platform-summary{position:relative;top:auto;margin-top:40px;font-size:27px}.portrait .communication-list{position:relative;top:auto;width:100%;margin-top:50px}.portrait .year-space{position:relative;top:auto;right:auto;width:100%;height:650px;margin-top:55px}.portrait .year-number{top:170px}.portrait .year-number>span{font-size:200px}.portrait .year-caption{bottom:15px}.portrait .procurement-space{position:relative;top:auto;height:830px;margin-top:75px}.portrait .demand-origin{width:280px;left:0;top:0}.portrait .origin-1{left:350px;top:10px}.portrait .origin-2{left:180px;top:340px}.portrait .demand-card{padding:25px;height:280px}.portrait .demand-org{font-size:20px}.portrait .demand-card strong{font-size:24px}.portrait .p1 .origin-0{transform:translate(170px,80px) scale(.6)}.portrait .p1 .origin-1{transform:translate(-180px,65px) scale(.6)}.portrait .p1 .origin-2{transform:translate(-10px,-260px) scale(.6)}.portrait .demand-pool{top:70px}.portrait .p2 .demand-pool{transform:translateY(-40px) scale(.9)}.portrait .proc-evaluation{left:0;top:450px;width:100%}.portrait .proc-connect{display:none}.portrait .scene-bottom-note{position:relative;bottom:auto;font-size:20px;margin-top:40px}.portrait .disaster-space{position:relative;top:auto;height:430px;width:1712px;scale:.38;transform-origin:left top;margin-top:70px;margin-bottom:-220px}.portrait .disaster-takeaway{position:relative;bottom:auto;margin-top:70px;font-size:33px}.portrait .report-steps{position:relative;top:auto;width:100%;margin-top:55px}.portrait .report-space{position:relative;top:auto;right:auto;scale:.76;transform-origin:left top;margin-top:65px;margin-bottom:-120px}.portrait .insight-space{position:relative;top:auto;width:1712px;scale:.38;transform-origin:left top;margin-top:70px;margin-bottom:-220px}.portrait .assistant-space{position:relative;top:auto;height:auto;margin-top:60px}.portrait .question-area{position:relative;width:100%}.portrait .question-area blockquote{font-size:37px}.portrait .source-connector{display:none}.portrait .source-paper{position:relative;right:auto;top:auto;margin:60px auto 0}.portrait .assistant-principle{position:relative;bottom:auto;font-size:29px;margin-top:50px}.portrait .demo-space{position:relative;top:auto;height:auto;margin-top:60px}.portrait .demo-items{width:100%}.portrait .demo-item{grid-template-columns:40px 45px 1fr;gap:16px;height:170px}.portrait .demo-item strong{font-size:30px}.portrait .demo-item small{font-size:20px}.portrait .demo-clock{position:relative;right:auto;top:auto;margin:55px auto 0}.portrait .demo-total{position:relative;bottom:auto;margin-top:70px}.portrait .onboarding-space{position:relative;top:auto;height:auto;grid-template-columns:1fr 1fr;gap:35px;margin-top:50px}.portrait .onboarding-space>svg{display:none}.portrait .start-step>strong{font-size:28px}.portrait .start-step>p{font-size:21px}.portrait .trial-banner{position:relative;bottom:auto;flex-direction:column;align-items:flex-start;margin-top:75px}.portrait .trial-banner>strong{font-size:31px}.portrait .closing-outcomes{flex-wrap:wrap;gap:20px;font-size:22px}.portrait .closing-invite{font-size:31px}.portrait .thanks{font-size:26px}
@media(max-width:700px){.deck-controls{bottom:11px}.deck-controls .utility{display:none}.initial-hint{font-size:11px;max-width:94vw;white-space:normal;text-align:center;bottom:69px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-card{padding:13px;min-height:133px}.overview-card>strong{font-size:18px}.overview-card>small{font-size:11px}.overview-head h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}.line>span{transform:none!important;opacity:1!important}[data-in]{opacity:1!important;translate:none!important}.copy:not(.current){opacity:0!important}}
