*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f7f3;color:#193b48;font:17px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:24px 5vw;border-bottom:1px solid #cfddd5}a{color:#176c64;text-underline-offset:5px}header span,.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em}main{max-width:1500px;margin:auto}.opening{padding:55px 6vw 20px;position:relative}.opening h1{font-size:clamp(48px,7vw,100px);line-height:1.05;letter-spacing:-.06em;margin:20px 0}.opening h1 span{font-weight:450;color:#52746e;font-size:.72em}.opening p{max-width:50ch}.opening svg{width:100%;max-height:270px;margin-top:20px}.flow{fill:none;stroke:#257b70;stroke-width:2;stroke-dasharray:8 10;animation:flow 18s linear infinite}.hero-nodes circle{fill:#e0ede3;stroke:#b5cfc0}.glyph{fill:none;stroke:#176c64;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.hero-label{text-anchor:middle;font-size:13px;letter-spacing:2px;fill:#3b615b}.chapter{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5vw;padding:55px 6vw;border-top:1px solid #cfddd5}.chapter:nth-child(even){background:#eaf1ea}.chapter:nth-child(even) .art{order:2}.art svg{width:100%;height:auto;display:block}.chapter h2{font-size:clamp(30px,4vw,52px);line-height:1.1;letter-spacing:-.04em;margin:12px 0}.chapter .caption{max-width:38ch;font-size:20px}.number{color:#176c64;font-size:14px;letter-spacing:.15em;font-weight:700}.tags{display:flex;gap:8px;flex-wrap:wrap;color:#56726c;font-size:13px;margin:20px 0}.tags span+span:before{content:'·';margin-right:8px}details{font-size:14px;max-width:48ch}summary{cursor:pointer;color:#176c64;padding:8px 0}details p{margin:6px 0}.art{transition:transform .3s}.art:hover{transform:translateY(-4px)}.art .paper{fill:#fffdf4;stroke:#bbcec0;stroke-width:2}.art .ink{stroke:#176c64;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.art .soft{fill:#d2e5d7;stroke:#9dbdab;stroke-width:2}.art .dark{fill:#176c64}.art .gold{fill:#dbb35c}.art text{font-family:system-ui;fill:#193b48;font-size:17px;font-weight:600}.loop{text-align:center;padding:50px 5vw}.loop svg{width:min(500px,90%);height:110px}.loop path{fill:none;stroke:#176c64;stroke-width:3;stroke-dasharray:12 6;animation:flow 18s linear infinite}.loop h2{font-size:32px}footer{padding:30px 6vw;font-size:13px;border-top:1px solid #cfddd5;color:#56726c}@keyframes flow{to{stroke-dashoffset:-180}}@media(max-width:700px){header{font-size:13px}.chapter{grid-template-columns:1fr;padding:32px 6vw;gap:20px}.chapter:nth-child(even) .art{order:0}.opening{padding-top:30px}.caption{font-size:18px!important}.hero-label{font-size:16px}.art svg{max-height:290px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Stage explorer */
.opening{padding-top:24px;padding-bottom:12px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 32px}.opening .eyebrow{grid-column:1/-1}.opening h1{font-size:clamp(38px,5vw,66px);margin:8px 0}.opening h1 span{display:block}.opening>p:not(.eyebrow){grid-column:1}.opening svg{grid-column:2;grid-row:2/4;margin:0}.stage-nav{position:sticky;top:0;z-index:10;background:#f3f7f3;padding:12px 4vw;border-block:1px solid #cfddd5}.stage-nav #stage-links{display:flex;gap:6px;flex-wrap:wrap}.stage-nav button,.detail-tabs button{font:inherit;border:0;background:transparent;color:#176c64;cursor:pointer;padding:9px 12px;min-height:44px}.stage-nav button[aria-current]{background:#176c64;color:white;border-radius:4px}.tour-controls{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:13px}.tour-controls span{margin-right:auto}.tour-controls button:disabled{opacity:.4;cursor:default}.story-context{padding:12px 6vw;font-size:13px;color:#56726c;display:flex;gap:20px;justify-content:space-between}.story-context p{margin:0;max-width:90ch}.chapter{scroll-margin-top:155px;padding-top:35px;padding-bottom:35px;align-items:start}.chapter .art{padding-top:24px}.responsibility{font-size:15px;max-width:48ch;border-left:3px solid #9dbdab;padding-left:14px}.detail-tabs{display:flex;border-bottom:1px solid #b5cfc0;margin-top:20px}.detail-tabs button[aria-selected=true]{border-bottom:3px solid #176c64;font-weight:700}.detail-panel{font-size:16px;min-height:190px;padding-top:12px}.detail-panel li{padding:5px 0}.detail-panel ol{padding-left:22px;margin:0}.detail-panel h3{font-size:14px;letter-spacing:.02em;margin:8px 0}.detail-panel p{margin:4px 0 14px}.artifact-links{list-style:none;margin:0;padding:0}.artifact-links a{display:inline-block;padding:8px 0}button:focus-visible,a:focus-visible{outline:3px solid #257b70;outline-offset:3px}h2:focus{outline:none}[hidden]{display:none!important}@media(max-width:700px){.opening{display:block}.opening svg{height:110px}.stage-nav{padding:8px 4vw}.stage-nav button{font-size:13px;padding:6px 8px}.chapter{scroll-margin-top:190px}.story-context{display:block}.story-context a{display:block;margin-top:8px}.chapter .art{padding-top:0}.chapter .art svg{max-height:190px}.detail-panel{min-height:0}.tour-controls{gap:5px}}

/* Audience control uses the same Atlas ink and quiet dividers as the stage explorer. */
.audience-control{margin:4px 6vw 22px;max-width:680px;padding:16px 0;border-top:1px solid #cfddd5}
.audience-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:14px;font-weight:700}
.audience-heading output{color:#176c64;font-weight:500}
.audience-control input[type=range]{display:block;width:calc(100% - 20px);margin:18px 10px 0;min-height:28px;accent-color:#176c64;cursor:pointer}
.audience-stops{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.audience-stops button{font:inherit;font-size:14px;min-height:44px;padding:8px 0;border:0;border-bottom:2px solid transparent;color:#56726c;background:transparent;cursor:pointer}
.audience-stops button:first-child{text-align:left}.audience-stops button:last-child{text-align:right}
.audience-stops button[aria-pressed=true]{color:#176c64;font-weight:700;border-bottom-color:#176c64}
.audience-control>p{font-size:13px;color:#56726c;margin:8px 0 0}
.stage-caveat{font-size:13px;color:#56726c;max-width:58ch;padding-left:12px;border-left:2px solid #b5cfc0}
input:focus-visible{outline:3px solid #257b70;outline-offset:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.story-fallback{padding:24px 6vw;border-top:1px solid #cfddd5}
@media(max-width:700px){.audience-control{margin-bottom:14px}.audience-stops button{font-size:13px}.stage-caveat{max-width:none}}
