/* journey engine ui */
.jw{position:relative}.jw .stk{position:sticky;top:0;height:100svh;overflow:hidden}.jw .stk>canvas{position:absolute;inset:0;touch-action:pan-y}
.ch{position:absolute;z-index:5;pointer-events:none;display:grid;gap:12px;max-width:min(460px,86vw);opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ch.on{opacity:1;transform:none}.ch.on .btn,.ch.on a{pointer-events:auto}
.ch small{letter-spacing:.24em;font-size:.72rem;text-transform:uppercase;opacity:.85}
.ch h2,.ch h1{font-weight:300;font-size:clamp(2rem,6vw,4.4rem);line-height:1;letter-spacing:-.02em}.ch p{line-height:1.6;opacity:.85}
.rail{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);z-index:6;display:grid;gap:4px}
.rail button{color:inherit;width:22px;height:22px;background:none;border:0;cursor:pointer;display:grid;place-items:center;padding:0}
.rail button::after{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;transition:.3s var(--ease)}
.rail button.on::after{opacity:1;transform:scale(1.7)}
.hint{position:absolute;inset:auto 0 calc(22px + env(safe-area-inset-bottom));z-index:6;display:flex;justify-content:center;pointer-events:none;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.loader{position:fixed;inset:0;z-index:100;background:#0d0b10;color:#f1e3c4;display:grid;place-content:center;gap:22px;justify-items:center;transition:opacity .8s,visibility .8s}
.loader.gone{opacity:0;visibility:hidden}.loader .lm{width:54px;height:54px;background:linear-gradient(135deg,#4b4b52,#232328);transform:rotate(45deg);display:grid;place-items:center;border-radius:6px;box-shadow:0 0 0 1px #c9a24a;animation:lp 2.4s ease-in-out infinite}
.loader .lm::after{content:"K";transform:rotate(-45deg);color:#fff;font-weight:900;font-size:1.7rem}@keyframes lp{50%{box-shadow:0 0 30px 2px #c9a24a88}}
.loader .lb{width:200px;height:2px;background:#fff2}.loader .lb u{display:block;height:100%;background:#c9a24a;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.loader .btn:disabled{opacity:.4}
.drawer{position:fixed;inset:auto 0 0 0;z-index:80;max-height:86svh;overflow:auto;background:#fffaf2;color:#1a1714;border-radius:22px 22px 0 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);transform:translateY(105%);transition:transform .5s var(--ease);box-shadow:0 -30px 80px #0008}
.drawer.open{transform:none}.drawer img{width:100%;height:100%;max-height:70svh;object-fit:cover}.drawer .dt{padding:28px;display:grid;gap:12px;align-content:center}.drawer h2{font-weight:300;font-size:2rem}.drawer small{letter-spacing:.2em;text-transform:uppercase;opacity:.6;font-size:.72rem}
.drawer .x{position:absolute;inset-inline-end:14px;top:10px;font-size:2rem;background:none;border:0;cursor:pointer;color:#1a1714;z-index:2;width:44px;height:44px}
@media(max-width:700px){.drawer{grid-template-columns:1fr}.drawer img{max-height:34svh}}
