*{box-sizing:border-box}
html,body{margin:0}
body{background:#0b0710;color:#f5ede2;font:16px/1.5 system-ui,-apple-system,sans-serif}
.skip{position:absolute;left:8px;top:-60px;background:#f5ede2;color:#0b0710;padding:10px 14px;border-radius:8px;z-index:20}
.skip:focus{top:8px}
.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(180deg,rgba(11,7,16,.8),rgba(11,7,16,0))}
.brand{font:600 14px Georgia,serif;letter-spacing:.04em;opacity:.9}
.actions{display:flex;gap:8px}
.pill{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1px solid rgba(245,237,226,.4);background:rgba(20,12,18,.6);color:#f5ede2;font:600 13px system-ui;text-decoration:none;cursor:pointer}
.pill.solid{background:#e8913f;border-color:#e8913f;color:#1a0e16}
.journey{position:relative;height:max(11000px,1250vh)}
.sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.gate-link{position:absolute;z-index:4;display:block;border-radius:12px}
.intro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px;pointer-events:none;z-index:3}
.eyebrow{color:#e8b98a;font-size:12px;letter-spacing:.28em;text-transform:uppercase}
h1{margin:0;font:400 40px/1.08 Georgia,serif;text-shadow:0 2px 24px rgba(0,0,0,.55)}
@media(min-width:768px){h1{font-size:64px}}
.hint{color:rgba(245,237,226,.75);font-size:13px;margin-top:12px}
.hint::after{content:'';display:block;margin:8px auto 0;width:1px;height:26px;background:linear-gradient(180deg,rgba(245,237,226,.8),transparent)}
.rail{position:absolute;left:16px;right:16px;bottom:12px;height:2px;background:rgba(245,237,226,.18);border-radius:2px;z-index:3}
.fill{height:100%;background:#e8913f;border-radius:2px;transform:scaleX(0);transform-origin:left center}
.menu{max-width:640px;margin:0 auto;padding:56px 20px 80px}
.menu h2{font:400 28px Georgia,serif;margin:0 0 16px}
.menu ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.item{display:flex;flex-direction:column;gap:2px;min-height:44px;padding:14px 16px;border-radius:12px;border:1px solid rgba(245,237,226,.25);text-decoration:none;color:inherit}
a.item{background:rgba(232,145,63,.14);border-color:#e8913f}
.item span{font-weight:600}
.item small{color:rgba(245,237,226,.6)}
.planned{opacity:.6;border-style:dashed}
.note{color:rgba(245,237,226,.6);font-size:14px;margin-top:20px}
body.still .journey{height:100vh;height:100svh}
a:focus-visible,button:focus-visible{outline:3px solid #f5ede2;outline-offset:2px}
