:root{color-scheme:dark;--gold:#d4b477;--paper:#f2eadb}*{box-sizing:border-box}body{margin:0;background:#080b10;color:var(--paper);font:14px/1.6 system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #f2d6a0;outline-offset:5px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}#experience{height:100svh;min-height:570px;position:relative;overflow:hidden;background:linear-gradient(90deg,#080b10df,#080b1030),url(poster.png) center/cover}#canvas{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:0;width:100%;padding:25px 35px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(#080b10b0,transparent);z-index:4}a{color:inherit;text-decoration:none}.back{font-size:12px;color:#d5cbbb}.brand{display:flex;align-items:center;gap:13px;font:32px Georgia,serif;color:var(--gold)}.brand span{font:12px system-ui;letter-spacing:2.4px}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:5px;color:#aeaaa1}button{border:1px solid #d4b47744;border-radius:2px;background:#0b1015b0;color:#dfd5c4;padding:10px 16px}#quality{font-size:11px}.overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;padding:9vw;background:linear-gradient(90deg,#070a10e6,transparent)}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold)}h1{font:clamp(48px,6vw,92px)/1.05 Georgia,serif;font-weight:400;margin:24px 0}h2{font:32px Georgia,serif;font-weight:400}.overlay p{color:#c3bbae}.primary{display:inline-flex;align-items:center;gap:36px;background:#cead70;color:#16140e;padding:15px 22px;border:0;margin-top:22px;font-size:12px;letter-spacing:.7px}.hint{font-size:10px;margin-top:20px}.om{font-size:64px;color:var(--gold)}#loading,#fallback{justify-content:center;text-align:center;background:#080b10ea}#loading h2{font:15px system-ui;letter-spacing:4px}#loading p{font-size:10px;letter-spacing:3px}progress{width:260px;height:3px;accent-color:var(--gold)}#fallback p{max-width:440px}#fallback button{display:block;margin:20px auto}aside{position:absolute;left:35px;top:115px;max-width:290px;pointer-events:none;text-shadow:0 2px 15px #000}aside h2{margin:9px 0}aside p:last-child{font-size:12px;color:#d1c6b5}footer{position:absolute;bottom:0;width:100%;padding:45px 24px 22px;background:linear-gradient(transparent,#080b10ef);text-align:center}.instruction{font-size:10px;letter-spacing:1px;color:#c4b9a6}nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}nav button{font-size:11px;padding:10px 15px}nav button[aria-current="step"]{background:#cbaa70;color:#16140e;border-color:#cbaa70}.tour-actions{display:flex;justify-content:center;gap:20px;margin-top:14px}.tour-actions button{border:0;background:transparent;font-size:11px;color:var(--gold)}.nojs{position:absolute;bottom:0;z-index:8;padding:20px;background:#111;width:100%}@media(max-width:600px){header{padding:18px 17px;flex-wrap:wrap}.brand{order:-1;width:100%;font-size:26px}.brand span{font-size:10px}.back,#quality{font-size:10px}#quality{padding:5px 9px}.overlay{padding:28px}h1{font-size:54px}aside{left:20px;top:132px;max-width:230px}aside h2{font-size:26px}footer{padding:38px 12px 15px}nav{gap:6px}nav button{font-size:10px;padding:8px 10px}.instruction{font-size:9px}.tour-actions{gap:8px}#experience{min-height:600px}}
/* Tour controls remain comfortably tappable without covering the whole scene. */
.journey{display:flex;justify-content:center;align-items:center;gap:12px;min-height:30px;color:#d5c5aa;font-size:10px}
.journey p{margin:0}.journey button{padding:6px 12px;font-size:10px}
.view-actions{display:flex;justify-content:center;gap:20px;margin-top:4px}
.view-actions button{border:0;background:transparent;padding:8px 12px;font-size:10px;color:#a79d8e}
.tour-actions{margin-top:8px}.tour-actions button{min-height:40px}
#guided[aria-pressed="true"]{border:1px solid #d4b47788;background:#d4b47716}
nav button{min-height:40px}
@media(max-width:600px){footer{padding-top:24px}.instruction{display:none}.journey{min-height:30px}.view-actions{gap:12px}.view-actions button{min-height:36px}.tour-actions{margin-top:4px}nav button{min-height:40px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
