@font-face{font-family:Bodoni;src:url('assets/fonts/BodoniModa-Regular.ttf');font-display:swap}@font-face{font-family:Bodoni;src:url('assets/fonts/BodoniModa-Italic.ttf');font-style:italic;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Regular.ttf');font-display:swap}
:root{--cream:#f6f0e5;--gold:#dfc69f;--ink:#171b16}*{box-sizing:border-box}html,body{margin:0;background:var(--ink);color:var(--cream);font-family:Manrope,Arial,sans-serif}body{overflow-x:hidden;overscroll-behavior-y:none;overflow-anchor:none}button,a{-webkit-tap-highlight-color:transparent;color:inherit}button{font:inherit;cursor:pointer;border:0;background:none}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,p{margin:0}h1,h2{font-family:Bodoni,Georgia,serif;font-weight:400}main{position:fixed;inset:0;height:100dvh;isolation:isolate;overflow:hidden}.stage{position:absolute;inset:0;z-index:-1}.stage>img,.stage>video,.shade{position:absolute;inset:0;width:100%;height:100%}.stage img,.stage video{object-fit:cover;object-position:50% 50%}.stage video{opacity:0;pointer-events:none;transition:none}.stage video.visible{opacity:1}.shade{background:linear-gradient(180deg,rgba(8,14,10,.46),transparent 28%,transparent 57%,rgba(8,14,10,.7));pointer-events:none}header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 4.5%;z-index:5}.brand{font-family:Bodoni,Georgia,serif;font-size:24px;letter-spacing:.08em}.brand small{display:block;font:7px Manrope,Arial,sans-serif;letter-spacing:.23em;margin-top:6px}nav{display:flex;gap:32px}nav button{text-transform:uppercase;font-size:10px;letter-spacing:.13em}nav span{padding-left:12px;font-size:16px}#welcome{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:110px 5% 75px;background:linear-gradient(90deg,rgba(8,14,10,.05),rgba(8,14,10,.14));transform-origin:center;pointer-events:auto}.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:var(--gold)}h1{font-size:clamp(42px,5.9vw,86px);line-height:1.02;letter-spacing:-.025em;margin:26px 0 23px}h1 em{font-weight:400}#welcome>p:not(.eyebrow){font-size:12px;line-height:1.9}#start{margin-top:26px;border-bottom:1px solid rgba(246,240,229,.6);padding:12px 0;text-transform:uppercase;letter-spacing:.13em;font-size:10px}#start span{margin-left:40px;font-size:19px}.welcome-footnote{font-size:9px;letter-spacing:.06em;margin-top:20px;color:#ddd7ca}.camera-hint{position:absolute;top:105px;left:4.5%;right:4.5%;font-size:9px;letter-spacing:.07em;opacity:.86}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:6px}.location{position:absolute;left:4.5%;bottom:98px;max-width:480px;pointer-events:none}.location h2{font-size:clamp(28px,3vw,43px);line-height:1.1;margin:9px 0 8px}.location>p:not(.eyebrow){font-size:10px;line-height:1.6;opacity:.9}#detail-open{pointer-events:auto;margin-top:15px;padding:0;font-size:10px;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px}#detail-open span{margin-left:20px}footer{position:absolute;bottom:32px;left:4.5%;right:4.5%;display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:.05em}#room-name{min-width:100px}#progress-track{flex:1;height:1px;background:rgba(255,255,255,.3);overflow:hidden}#progress-fill{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}#photo-mode{font-size:8px;color:#ddd7ca;padding:6px;border:1px solid rgba(255,255,255,.3)}.fiction{position:absolute;bottom:9px;right:4.5%;font-size:7px;opacity:.65}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:var(--cream);color:var(--ink);z-index:99}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}dialog{border:0;background:#f2eee4;color:var(--ink);padding:60px 7%;max-width:850px;width:calc(100% - 48px);max-height:85dvh;overflow:auto}dialog::backdrop{background:rgba(7,12,9,.65);backdrop-filter:blur(8px)}dialog .close{position:absolute;right:20px;top:18px;padding:7px}dialog .eyebrow{color:#70624c}dialog h2{font-size:clamp(32px,4vw,52px);line-height:1.1;margin:14px 0 22px}dialog p,dialog li{font-size:13px;line-height:1.9}dialog p+p{margin-top:18px}dialog ul{padding-left:17px;margin:24px 0}dialog a{display:block;font-size:11px;line-height:1.8;margin-top:20px;text-decoration:underline;text-underline-offset:6px}dialog .lede{font-family:Bodoni,Georgia,serif;font-size:24px;line-height:1.4;margin-bottom:20px}dialog ol{list-style:none;counter-reset:step;padding:0;margin:25px 0}dialog ol li{border-bottom:1px solid #d9d6cc}dialog ol button{width:100%;text-align:left;padding:11px 0;line-height:1.6;font-size:12px}dialog ol button:before{counter-increment:step;content:counter(step,decimal-leading-zero);color:#847256;font-size:10px;margin-right:20px}.subtle{opacity:.7;font-size:10px}html:has(dialog[open]){overflow:hidden}.no-script{position:fixed;bottom:15%;left:10%;right:10%;background:var(--cream);color:var(--ink);padding:20px;z-index:9}
@media(max-width:700px){header{padding:24px 6%;gap:10px}.brand{font-size:17px}.brand small{font-size:5.5px;letter-spacing:.13em}nav{gap:12px}nav button{font-size:8px;letter-spacing:.05em}nav span{padding-left:4px}#welcome{padding:105px 6% 70px}h1{font-size:clamp(34px,9vw,52px);line-height:1.12}#welcome>p:not(.eyebrow){font-size:11px}.camera-hint{top:85px;left:6%;right:6%;font-size:8px;line-height:1.6}.location{left:6%;right:6%;bottom:110px}.location h2{font-size:29px}.location>p:not(.eyebrow){font-size:10px}.location .eyebrow{font-size:8px}footer{left:6%;right:6%;bottom:38px;gap:10px;flex-wrap:wrap}#room-name{min-width:0;font-size:8px}#progress-track{min-width:100px}#photo-mode{font-size:7px}dialog{padding:54px 8% 35px;width:calc(100% - 28px);max-height:88dvh}dialog h2{font-size:33px}dialog p,dialog li{font-size:12px}.fiction{right:6%;bottom:12px}}
@media(max-height:600px){h1{font-size:42px;margin:15px 0}#start{margin-top:12px}.welcome-footnote{margin-top:12px}.location{bottom:90px}.location h2{font-size:28px}.camera-hint{top:82px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
