@font-face{font-family:Manrope;src:url(/fonts/manrope-regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url(/fonts/cormorant-garamond-regular.ttf) format("truetype");font-weight:400;font-display:swap}:root{--ink: #f1efea;--stone: #17171a;--muted: #6f6e6a;--edge: clamp(26px, 4.5vw, 78px);color:var(--stone);background:var(--ink);font-family:Manrope,sans-serif;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:1px solid var(--stone);outline-offset:8px}button:hover,a:hover{color:#fff}button,a{transition:color .25s ease}#scene{position:fixed;inset:0;z-index:0}#scene canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.6s ease}body.ready #scene canvas{opacity:1}.vignette{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 60% 45%,transparent 40%,rgba(0,0,0,.4) 100%)}.header{position:fixed;z-index:5;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:38px var(--edge)}.wordmark{font-size:18px;letter-spacing:.31em;line-height:1.5}.menu-toggle{height:44px;width:44px;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:9px;position:relative;z-index:7}.menu-toggle span{height:1px;width:26px;background:currentColor;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}main{position:relative;z-index:2;pointer-events:none}main:focus{outline:none}.chapter{height:160svh;position:relative}.chapter:last-child{height:100svh}h1{position:absolute;left:var(--edge);top:calc(100svh - 340px);font:400 clamp(65px,5.15vw,88px) / .98 Cormorant,Georgia,serif;letter-spacing:-.035em;margin:0;color:#e3e0d9;text-wrap:nowrap;will-change:opacity,transform}.footer{position:fixed;bottom:34px;left:var(--edge);right:var(--edge);display:flex;justify-content:space-between;align-items:center;z-index:3}.networks,.scroll-cue{font-size:10px;letter-spacing:.2em}.networks{margin:0}.networks span{padding:0 17px;color:#686966}.scroll-cue{display:flex;align-items:center;gap:20px;padding:15px 0 15px 15px;color:var(--muted)}.scroll-cue svg{width:10px;height:19px;fill:none;stroke:currentColor;stroke-width:1}.progress{position:fixed;right:0;top:0;height:100%;width:1px;background:#ffffff0d;z-index:5}.progress>span{display:block;width:100%;height:100%;background:#a7a6a1;transform:scaleY(0);transform-origin:top}#loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:22px;z-index:4;transition:opacity .5s;pointer-events:none}.loading-label{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--muted)}.loading-track{height:1px;width:130px;background:#ffffff15}.loading-track>span{display:block;height:100%;background:#c9c7c0;transform-origin:left;transform:scaleX(0);transition:transform .25s}body.ready #loading{opacity:0}body:not(.ready) h1{opacity:0}#scene-error{position:fixed;z-index:4;top:40%;left:var(--edge);max-width:320px;font-size:14px;line-height:1.8}#scene-error button{padding:8px 0;border-bottom:1px solid #777}.error-detail{color:var(--muted);font-size:12px}.no-script{position:fixed;top:45%;left:var(--edge)}dialog{position:fixed;inset:0;margin:0;padding:0 var(--edge);width:100%;height:100%;max-width:none;max-height:none;background:#060707f5;color:var(--stone);border:0;z-index:4}dialog::backdrop{background:transparent}dialog nav{display:flex;flex-direction:column;gap:30px;position:absolute;top:50%;transform:translateY(-50%)}dialog nav a{font:400 clamp(38px,5vw,72px) / 1.2 Cormorant,Georgia,serif;display:flex;align-items:center;gap:28px}dialog nav a span{font:400 10px Manrope,sans-serif;letter-spacing:.14em;color:var(--muted)}dialog>p{position:absolute;bottom:44px;font-size:10px;letter-spacing:.2em}dialog>p span{padding:0 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;left:var(--edge);top:10px;transform:translateY(-150%);font-size:12px;background:var(--ink);padding:12px}.skip-link:focus{transform:none}@media(max-width:700px){.header{padding-top:20px}.wordmark{font-size:15px;letter-spacing:.27em}.footer{bottom:19px}.networks,.scroll-cue{font-size:8px}.networks span{padding:0 9px}.scroll-cue{gap:10px;letter-spacing:.12em}h1{font-size:clamp(54px,13.5vw,78px);top:calc(100svh - 236px);letter-spacing:-.04em}.vignette{background:linear-gradient(0deg,rgba(6,7,7,.6),transparent 30%)}.chapter{height:150svh}.chapter:last-child{height:100svh}dialog nav{gap:26px}dialog nav a{gap:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.enter-app{margin-left:auto;margin-right:30px;display:flex;align-items:center;gap:20px;min-height:44px;font-size:12px}@media(max-width:700px){.enter-app{font-size:10px;margin-right:12px;gap:8px}}.tap-hint{color:var(--muted);padding:15px 0}@media(max-width:700px){.tap-hint{display:none}}:root[data-theme=light]{--ink: #f1efea;--stone: #17171a;--muted: #6f6e6a;color-scheme:light}:root[data-theme=light] .vignette{background:radial-gradient(ellipse at 60% 45%,transparent 40%,rgba(120,115,105,.22) 100%)}:root[data-theme=light] h1{color:#141416}:root[data-theme=light] button:hover,:root[data-theme=light] a:hover{color:#000}:root[data-theme=light] .networks span{color:#b3b1ab}:root[data-theme=light] .progress{background:#00000012}:root[data-theme=light] .progress>span{background:#6f6e6a}:root[data-theme=light] .loading-track{background:#00000014}:root[data-theme=light] .loading-track>span{background:#3a3a3d}:root[data-theme=light] dialog{background:#f1efeaf5}:root[data-theme=light] #scene-error button{border-color:#999}@media(max-width:700px){:root[data-theme=light] .vignette{background:linear-gradient(0deg,rgba(241,239,234,.7),transparent 30%)}}:root[data-theme=dark]{--ink: #060707;--stone: #e9e6df;--muted: #a7a6a1;color-scheme:dark}
