*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #edff84;outline-offset:5px}.studybar{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#e7e5de;color:#292923;padding:13px 4%;font-size:10px;letter-spacing:.05em}.studybar a{text-transform:uppercase}.exp-header{display:flex;align-items:center;justify-content:space-between;padding:27px 4%;position:relative;z-index:2}.logo{font-size:36px;font-weight:700;letter-spacing:-2px}.logo span{font-size:23px;margin-left:7px}.header-note{font-size:9px;line-height:1.7;letter-spacing:.12em}.exp-header>a:last-child{font-size:12px}.mono{font-family:'Courier New',monospace;font-size:11px;line-height:1.6;letter-spacing:.1em}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:#edff84;color:#111;z-index:9}.skip:focus{top:55px}.motion-toggle{border:1px solid currentColor;border-radius:30px;background:transparent;color:inherit;padding:10px 16px;font-size:11px;z-index:5}.exp-footer{padding:35px 4%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px}.exp-footer>span:first-child{font-size:25px;font-weight:bold;letter-spacing:-1px}small{display:block;font-size:10px;margin-top:14px;line-height:1.5}
/* LIVING SWARM — a reactive typographic field. */
.swarm-page{background:#11120f;color:#eae9d9}.swarm-page .studybar{background:#24251f;color:#c2c3b2}.swarm-page .logo{font-size:60px;line-height:.8;color:#e5fa83}.swarm-stage{position:relative;min-height:650px;height:calc(100svh - 145px);max-height:1050px;overflow:hidden;border-bottom:1px solid #454737}.swarm-intro{position:relative;z-index:1;padding:15px 4%;pointer-events:none}.swarm-intro .mono{color:#a8ae92}.swarm-intro h1{font-size:clamp(39px,4.2vw,68px);font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:20px 0}.swarm-intro em{font-family:Georgia,serif;color:#e5fa83}#swarm-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.swarm-caption{position:absolute;left:4%;right:4%;bottom:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em;pointer-events:none;color:#bec4a5}.swarm-stage .motion-toggle{position:absolute;top:25px;right:4%;color:#e5fa83}.swarm-projects{padding:0 4%}.project-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.project-choices button{border:0;border-right:1px solid #454737;border-bottom:1px solid #454737;text-align:left;background:transparent;color:#eae9d9;padding:26px 28px 30px 0;font-size:clamp(22px,2.5vw,38px);letter-spacing:-1px;position:relative;line-height:1.06}.project-choices button+button{padding-left:28px}.project-choices button:last-child{border-right:0}.project-choices button span{display:block;font-family:'Courier New',monospace;font-size:10px;color:#a6aa95;letter-spacing:.05em;margin-bottom:24px}.project-choices button b{font-size:24px;position:absolute;right:25px;top:25px;font-weight:400}.project-choices button[aria-pressed=true]{color:#e5fa83}.project-choices button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:#e5fa83}.swarm-detail{display:grid;grid-template-columns:.7fr 1.15fr 1fr;gap:35px;padding:55px 0 70px}.swarm-detail>.mono{color:#a6aa95}.swarm-detail h2{font-family:Georgia,serif;font-weight:400;font-size:42px;letter-spacing:-1.5px;line-height:1.12;margin:0}.swarm-detail p{font-size:15px;line-height:1.8;margin:0 0 18px;color:#c5c7b7}.swarm-detail a{font-size:12px;color:#e5fa83;border-bottom:1px solid;padding-bottom:5px}.swarm-letter{background:#e5fa83;color:#1b2212;padding:60px 4%;display:grid;grid-template-columns:1fr 1fr;gap:20px}.swarm-letter>.mono{grid-column:1/-1}.swarm-letter h2{font-size:clamp(65px,8vw,130px);line-height:.9;letter-spacing:-.065em;font-weight:400;margin:10px 0 30px}.swarm-letter em{font-family:Georgia,serif}.swarm-letter>div{max-width:350px;align-self:center;justify-self:center}.swarm-letter p{font-size:20px;line-height:1.5}.swarm-letter button,.scale-letters button{border:1px solid currentColor;border-radius:0;background:transparent;padding:16px 22px;color:inherit;font-size:13px}
/* ABUNDANCE WORLD — a living, miniature landscape. */
.world-page{background:#c8ebed;color:#164246}.world-page .studybar{background:#173f43;color:#c8ebed}.world-page .exp-header{border-bottom:1px solid #16424630;margin:0 4%;padding-left:0;padding-right:0}.world-page .logo{font-family:Georgia,serif;font-style:italic;font-weight:400}.world-page a:focus-visible,.world-page button:focus-visible,.world-page [tabindex]:focus-visible{outline-color:#ad393d}.world-main{position:relative;max-width:1700px;margin:auto}.world-heading{position:absolute;z-index:1;top:22px;left:4%;max-width:330px;pointer-events:none}.world-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,4.5vw,70px);line-height:.98;letter-spacing:-3px;margin:15px 0}.world-heading h1 em{color:#9e4444}.world-heading p:last-child{font-size:13px;line-height:1.7;max-width:250px}.world-map{position:relative;overflow:hidden;height:clamp(610px,55vw,840px)}.world-map svg{position:absolute;left:10%;top:20px;width:86%;height:100%;overflow:visible}.world-map .motion-toggle{position:absolute;right:4%;top:30px}.world-map .map-hint{position:absolute;left:4%;bottom:25px;font-family:'Courier New',monospace;font-size:10px;letter-spacing:.07em}.world-floating{animation:islandFloat 7s ease-in-out infinite;transform-origin:center}.cloud{animation:cloudDrift 12s ease-in-out infinite;opacity:.72}.cloud.c2{animation-delay:-6s}.beacon{animation:beaconPulse 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.world-link{cursor:pointer}.world-link .landmark-roof{transition:filter .2s}.world-link:hover .landmark-roof,.world-link:focus .landmark-roof{filter:brightness(1.15)}.world-link[aria-pressed=true] .selection-ring{opacity:1}.selection-ring{opacity:0;transition:opacity .2s}.map-path{stroke-dasharray:5 12;animation:pathFlow 8s linear infinite}.world-dock{position:relative;z-index:2;margin:-8px 4% 0;display:grid;grid-template-columns:1.25fr 1fr;background:#f7f2d9;border:1px solid #55756b;box-shadow:7px 7px 0 #16424620}.world-select{padding:30px;border-right:1px solid #bcc3a7}.world-select>.mono{color:#57705b;margin:0 0 20px}.world-select button{display:flex;justify-content:space-between;gap:15px;align-items:center;background:transparent;color:#164246;width:100%;text-align:left;border:0;border-top:1px solid #c9ceba;padding:17px 0;font-family:Georgia,serif;font-size:23px;letter-spacing:-.7px}.world-select button span{font-family:'Courier New',monospace;font-size:10px;margin-right:auto;letter-spacing:0}.world-select button[aria-pressed=true]{color:#a03f3f}.world-detail{padding:32px;align-self:center}.world-detail h2{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.03;letter-spacing:-1px;margin:0 0 18px}.world-detail p{font-size:14px;line-height:1.7;max-width:390px}.world-detail a{font-size:12px;border-bottom:1px solid;padding-bottom:5px}.world-writing{padding:75px 4% 60px;display:flex;align-items:center;justify-content:space-between;gap:30px}.world-writing h2{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1;letter-spacing:-2px;margin:10px 0}.world-writing p{font-size:14px;line-height:1.7;max-width:420px}.world-writing button{background:#164246;color:#f7f2d9;border:0;padding:18px 24px;font-size:13px}.world-page .exp-footer{border-top:1px solid #16424630}.world-orbit{transform-box:fill-box;transform-origin:center;animation:orbitTurn 24s linear infinite}@keyframes islandFloat{50%{transform:translateY(-9px)}}@keyframes cloudDrift{50%{transform:translateX(25px)}}@keyframes beaconPulse{50%{opacity:.45}}@keyframes pathFlow{to{stroke-dashoffset:-170}}@keyframes orbitTurn{to{transform:rotate(360deg)}}
/* POWERS OF SCALE — a normal-scroll narrative with an evolving visual field. */
.scale-page{background:#fa583d;color:#1f1d19}.scale-page .studybar{background:#1f1d19;color:#f7dcc5}.scale-page .exp-header{position:absolute;top:39px;left:0;right:0}.scale-page .logo{font-size:30px}.scale-main{position:relative}.scale-visual{height:100svh;position:sticky;top:0;width:100%;margin-bottom:-100svh;overflow:hidden;pointer-events:none}.scale-visual canvas{width:100%;height:100%;display:block}.scale-coordinate{position:absolute;bottom:30px;right:4%;font-family:'Courier New',monospace;font-size:10px;letter-spacing:.15em}.scale-chapter{min-height:110svh;position:relative;padding:145px 6% 100px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;pointer-events:none}.scale-chapter a{pointer-events:auto}.scale-chapter>.mono{margin:0 0 22px}.scale-chapter h1,.scale-chapter h2{font-size:clamp(80px,10vw,155px);letter-spacing:-.08em;line-height:.83;font-weight:600;margin:0 0 35px;max-width:55%}.scale-chapter em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}.scale-chapter>p:not(.mono){font-size:17px;line-height:1.6;max-width:315px;margin:0 0 25px}.chapter-next{font-family:'Courier New',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid;padding-bottom:7px}.chapter-nav{position:fixed;right:25px;top:45%;z-index:4;display:flex;flex-direction:column;gap:14px}.chapter-nav a{border:1px solid #1f1d1955;border-radius:50%;height:33px;width:33px;display:grid;place-items:center;font-family:'Courier New',monospace;font-size:10px;background:#fa583d}.chapter-nav a[aria-current]{background:#1f1d19;color:#ffe9d8}.scale-main>.motion-toggle{position:fixed;bottom:22px;left:6%;background:#fa583d;z-index:4}.scale-letters{position:relative;z-index:5;background:#20231e;color:#f8e1cd;padding:60px 6%;display:grid;grid-template-columns:1fr 1fr;gap:30px}.scale-letters>.mono{grid-column:1/-1}.scale-letters h2{font-size:clamp(90px,18vw,260px);letter-spacing:-.1em;line-height:.8;font-weight:500;margin:30px 0 70px}.scale-letters>div{align-self:center;max-width:330px;justify-self:center}.scale-letters p:not(.mono){font-size:21px;line-height:1.5}.scale-letters>a{font-size:11px;grid-column:1/-1}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(max-width:700px){.studybar{padding:12px 5%;font-size:8px;gap:12px}.studybar>span:last-child{display:none}.exp-header{padding:25px 5%;gap:15px}.header-note{display:none}.exp-header>a:last-child{font-size:11px}.swarm-stage{height:640px;min-height:0}.swarm-intro{padding:10px 5%}.swarm-intro h1{font-size:43px;max-width:320px}.swarm-intro .mono{font-size:9px}.swarm-stage .motion-toggle{top:auto;bottom:57px;right:5%;font-size:10px;padding:9px 12px}.swarm-caption{left:5%;right:5%;font-size:9px}.pointer-hint{display:none}.project-choices{display:flex;flex-direction:column}.project-choices button,.project-choices button+button{padding:22px 0;border-right:0;font-size:30px}.project-choices button span{margin-bottom:12px}.project-choices button b{right:5px}.swarm-projects{padding:0 5%}.swarm-detail{display:block;padding:35px 0 45px}.swarm-detail h2{font-size:38px;margin:15px 0 20px}.swarm-detail p{font-size:14px}.swarm-letter{display:block;padding:40px 5%}.swarm-letter h2{font-size:77px;margin-top:30px}.swarm-letter p{font-size:18px}.exp-footer{padding:30px 5%;flex-wrap:wrap;font-size:10px}.exp-footer>span:nth-child(2){display:none}.world-heading{position:relative;top:auto;left:auto;padding:20px 5% 0;max-width:none}.world-heading h1{font-size:48px;max-width:300px}.world-heading p:last-child{max-width:280px}.world-map{height:360px;margin-top:-20px}.world-map svg{width:125%;left:-13%;top:0}.world-map .motion-toggle{top:auto;bottom:15px;right:5%;font-size:9px;padding:7px 10px}.world-map .map-hint{bottom:20px;left:5%;font-size:8px;max-width:170px}.world-dock{display:block;margin:0 5%;box-shadow:5px 5px 0 #16424620}.world-select{padding:25px;border-right:0;border-bottom:1px solid #bcc3a7}.world-select button{font-size:22px}.world-detail{padding:25px}.world-detail h2{font-size:32px}.world-writing{display:block;padding:45px 5%}.world-writing h2{font-size:39px;max-width:290px}.world-writing>div:last-child{margin-top:25px}.scale-page .exp-header{top:34px}.scale-page .logo{font-size:25px}.scale-chapter{padding:135px 6% 130px;min-height:105svh;justify-content:flex-start}.scale-chapter h1,.scale-chapter h2{font-size:clamp(65px,17vw,115px);max-width:95%;letter-spacing:-.065em;margin-bottom:25px}.scale-chapter>p:not(.mono){font-size:15px;max-width:225px;background:#fa583de8;padding:3px 0}.scale-chapter .mono{font-size:9px;max-width:85%}.chapter-nav{right:10px;top:auto;bottom:20px;flex-direction:row;gap:7px}.chapter-nav a{height:29px;width:29px;font-size:9px}.scale-coordinate{display:none}.scale-main>.motion-toggle{bottom:20px;left:5%;font-size:10px;padding:8px 10px}.scale-letters{display:block;padding:40px 6% 70px}.scale-letters h2{font-size:140px;margin-bottom:40px}.scale-letters p:not(.mono){font-size:19px}.scale-letters>a{display:block;margin-top:35px}}
.map-offscreen *{animation-play-state:paused!important}
.motion-paused{scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html:not(.motion-allowed) *,html:not(.motion-allowed) *:before,html:not(.motion-allowed) *:after{animation-duration:0s!important;transition-duration:0s!important}}
.scale-chapter .chapter-next{background:#fa583d}
