:root{--paper:#f2f2f0;--paper-deep:#e8e8e5;--ink:#232322;--ink-soft:#5c5c58;--ink-faint:#8b8b85;--rule:#23232229;--rule-soft:#23232214;--gut:clamp(20px, 4.2vw, 68px);--rail:clamp(64px, 8vw, 108px);--display:"Bricolage Grotesque", "Helvetica Neue", sans-serif;--mono:"DM Mono", ui-monospace, monospace}*{box-sizing:border-box}html{background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{color:var(--ink);background:var(--paper);font-family:var(--display);margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}::selection{background:var(--ink);color:var(--paper)}#stage{z-index:0;touch-action:pan-y;width:100%;height:100%;display:block;position:fixed;inset:0}.grain{z-index:2;pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");position:fixed;inset:0}.topbar{z-index:4;padding:clamp(18px, 2.4vw, 32px) var(--gut);pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.mark{font-family:var(--display);letter-spacing:.24em;color:var(--ink);align-items:center;gap:9px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.mark-dot{background:var(--ink);border-radius:50%;width:5px;height:5px;transform:translateY(1px)}.topbar-note,.topbar-year{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;margin:0;font-size:10px;line-height:1.7}.topbar-note{margin-left:auto;margin-right:clamp(28px,8vw,120px)}.rail{left:var(--gut);z-index:4;pointer-events:none;align-items:center;gap:14px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.rail>*{pointer-events:auto}.rail-count,.rail-total{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-faint);font-size:10px}.rail-count{color:var(--ink)}.rail-track{background:var(--rule);width:1px;height:128px;position:relative;overflow:hidden}.rail-fill{background:var(--ink);transform-origin:top;height:100%;position:absolute;inset:0 0 auto;transform:scaleY(0)}.rail-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:50%;left:46px;transform:translateY(-50%)}.rail-list a{color:var(--ink-faint);align-items:center;gap:0;text-decoration:none;transition:color .4s;display:flex}.rail-list a:before{content:"";background:currentColor;width:14px;height:1px;transition:width .45s cubic-bezier(.2,.8,.2,1)}.rail-list a:hover,.rail-list a.is-active{color:var(--ink)}.rail-list a:hover:before,.rail-list a.is-active:before{width:26px}.rail-list a span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{z-index:1;position:relative}.room{min-height:100svh;padding:16vh var(--gut) 14vh calc(var(--rail) + var(--gut));pointer-events:none;align-items:center;display:flex}.room .copy{pointer-events:auto}.room--left .copy,.room--entry .entry-copy{margin-right:auto}.room--right{justify-content:flex-end}.room--right .copy{text-align:right;margin-left:auto}.copy{max-width:470px}.room--entry{align-items:flex-end;padding-bottom:clamp(48px,8vh,96px)}.entry-copy{width:100%}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin:0 0 18px;font-size:10px;font-weight:400;display:flex}.eyebrow:before{content:"";opacity:.5;background:currentColor;width:26px;height:1px}.room--right .eyebrow{justify-content:flex-end}.room--right .eyebrow:before{order:2}.wordmark{font-family:var(--display);letter-spacing:-.045em;font-variation-settings:"opsz" 96;color:var(--ink);margin:0;font-size:clamp(84px,20vw,300px);font-weight:500;line-height:.78}.entry-foot{border-top:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:18px;max-width:470px;margin-top:clamp(28px,4vw,48px);padding-top:20px;display:flex}.lede{max-width:440px;color:var(--ink-soft);margin:0;font-size:clamp(15px,1.25vw,17px);line-height:1.55}.spec{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:left;white-space:nowrap;margin:0;font-size:10px;line-height:1.9}.spec--inline{text-align:inherit;white-space:normal;border-top:1px solid var(--rule);margin-top:26px;padding-top:14px}.scroll-hint{right:var(--gut);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;align-items:center;gap:12px;font-size:9px;display:flex;position:absolute;bottom:clamp(48px,8vh,96px)}.scroll-hint svg{display:block}.scroll-hint path{animation:2.6s cubic-bezier(.6,0,.3,1) infinite drip}@keyframes drip{0%{stroke-dasharray:1 40;stroke-dashoffset:0}45%{stroke-dasharray:22 40;stroke-dashoffset:0}to{stroke-dasharray:1 40;stroke-dashoffset:-40px}}h2{font-family:var(--display);letter-spacing:-.028em;font-variation-settings:"opsz" 48;text-wrap:balance;margin:0 0 22px;font-size:clamp(30px,3.4vw,50px);font-weight:400;line-height:1.06}.body{max-width:42ch;color:var(--ink-soft);margin:0 0 16px;font-size:clamp(14px,1.05vw,15.5px);line-height:1.65}.room--right .body{margin-left:auto}.body--muted{color:var(--ink-faint);font-size:13px;line-height:1.7}.room--outro{align-items:flex-end;padding-bottom:clamp(56px,10vh,120px);position:relative}.return{border:1px solid var(--ink);color:var(--ink);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:12px;margin-top:30px;padding:14px 22px 14px 20px;font-size:10px;transition:background .35s,color .35s;display:inline-flex}.return:hover{background:var(--ink);color:var(--paper)}.return svg{transition:transform .35s}.return:hover svg{transform:translateY(-2px)}.colophon{right:var(--gut);text-align:right;max-width:220px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:9px;line-height:1.8;position:absolute;bottom:clamp(56px,10vh,120px)}[data-reveal]{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);transform:translateY(18px)}[data-reveal].is-in{opacity:1;transform:none}@media (width<=900px){:root{--rail:0px}.topbar-note{display:none}.rail{left:auto;right:var(--gut);flex-direction:row-reverse;top:auto;bottom:22px;transform:none}.rail-track{width:96px;height:1px}.rail-fill{transform-origin:0;height:100%;inset:0 0 0 auto}.rail-list{display:none}.room{padding:14vh var(--gut) 18vh;align-items:flex-end}.room--right{justify-content:flex-start}.room--right .copy{text-align:left}.room--right .eyebrow{justify-content:flex-start}.room--right .eyebrow:before{order:0}.room--right .body{margin-left:0}.room--entry{padding-bottom:16vh}.entry-foot{flex-direction:column;align-items:flex-start;gap:18px}.spec{text-align:left}.scroll-hint{display:none}.copy{max-width:100%}.room--outro .colophon{text-align:left;max-width:100%;margin-top:26px;position:static}.room--outro{flex-direction:column;justify-content:flex-end;align-items:flex-start}}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}.scroll-hint path{animation:none}}
