/* Architectural identity and a clearly segmented floor panel. */
.brand svg{width:42px;height:56px;stroke:none;fill:none;flex-shrink:0;color:#fff}
.brand>span{font-size:10px;line-height:1.6;letter-spacing:2.2px}
.header{gap:10px}
.desktop-nav{gap:3px;padding:4px;margin-left:auto;margin-right:auto;border:1px solid #dce3df38;border-radius:7px;background:#0d1b26c9;backdrop-filter:blur(18px);box-shadow:0 4px 18px #040b121c}
.desktop-nav button{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:4px;font-size:11px;white-space:nowrap;color:#dce2df;transition:background .2s,color .2s}
.desktop-nav button span{font-size:9px;opacity:.55;margin:0;font-variant-numeric:tabular-nums}
.desktop-nav button:after{display:none}
.desktop-nav button:hover{background:#ffffff12;color:#fff}
.desktop-nav button.active{background:#e9e8dc;color:#192729;box-shadow:0 1px 4px #0002}
.cinematic-toggle{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;height:43px;padding:0 12px;border:1px solid #dce3df38;border-radius:6px;background:#0d1b26c9;backdrop-filter:blur(18px);color:#f1f0e8;font-size:11px;white-space:nowrap}
.cinematic-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.cinematic-toggle:hover{background:#21343eee;border-color:#d7c49b95}
.cinematic-toggle:focus-visible,.desktop-nav button:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
html:is([data-theme=light],[data-theme=snowy]) .desktop-nav,html:is([data-theme=light],[data-theme=snowy]) .cinematic-toggle{background:#e7eee3dc;border-color:#465d444d;color:#263c35}
html:is([data-theme=light],[data-theme=snowy]) .desktop-nav button{color:#35453c}
html:is([data-theme=light],[data-theme=snowy]) .desktop-nav button.active{background:#263c35;color:#f2f1e7}
html:is([data-theme=light],[data-theme=snowy]) .desktop-nav button:hover:not(.active){background:#263c3515}
html:is([data-theme=light],[data-theme=snowy]) .brand svg{color:#101312}
.scene-loading{background:#111615;color:#e9e8df;outline:none}
.loading-card{width:min(300px,calc(100vw - 64px));padding:0}
.loading-emblem{width:96px;height:128px;margin:0 auto 24px;color:#fff}
.loading-emblem svg{display:block;width:100%;height:100%}
.loading-card h2{margin:0 0 72px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:4px;text-align:center;color:inherit}
.loading-metrics{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}
#loading-stage{color:#a1aaa4;font-size:10px;letter-spacing:.15px}
#loading-percent{font-size:24px;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums}
#loading-percent span{font-size:10px;color:#a1aaa4;margin-left:4px;letter-spacing:0}
.loading-track{height:1px;background:#e9e8df25}
.scene-loading .loading-track i{background:#e9e8df;box-shadow:none}
/* Keep the return control in exactly the same place. */
body.cinematic-mode>.header>:not(.cinematic-toggle),body.cinematic-mode>:is(main,nav,aside,footer,.landing-caption,.door-target,.room-exit,.room-transition,.custom-cursor,.skip-link,.scene-fallback){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body.cinematic-mode,body.cinematic-mode button{cursor:auto!important}
body.cinematic-mode .cinematic-toggle{cursor:pointer!important}
.cinematic-mode .header{pointer-events:none}
.cinematic-mode .cinematic-toggle{pointer-events:auto}
@media(max-width:1250px){
  .desktop-nav{display:none}
  .menu-toggle{display:flex;align-items:center;gap:14px;margin-left:auto;height:43px;padding:0 13px;border:1px solid #dce3df38;border-radius:6px;background:#0d1b26d9;color:#f1f0e8;font-size:11px;backdrop-filter:blur(18px)}
  .mobile-nav{display:flex;position:fixed;inset:0;z-index:25;background:#111b23f5;backdrop-filter:blur(24px);padding:100px 10vw 40px;flex-direction:column;justify-content:center;gap:18px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .mobile-nav.open{opacity:1;visibility:visible}
  .mobile-nav button{display:flex;gap:22px;text-align:left;font-size:12px;color:#b9c4be}
  .mobile-nav button span{font-family:var(--serif);font-size:clamp(26px,5vw,48px);color:#eeeee7}
}
@media(max-width:760px){
  .header{left:5vw;right:5vw;top:20px;gap:7px;flex-wrap:wrap;justify-content:flex-start}
  .brand{margin-right:auto;gap:8px;order:0}
  .brand svg{width:30px;height:40px}
  .brand>span{font-size:8px;letter-spacing:1.4px}
  .theme-control{order:1}.language-control{order:2}.cinematic-toggle{order:3;height:38px;padding:0 9px;font-size:10px;gap:6px}
  .cinematic-toggle svg{width:14px;height:14px}
  .menu-toggle{order:4;margin:4px 0 0;height:36px;padding:0 12px;font-size:10px}
  .header:after{content:'';order:3;flex-basis:100%;height:0}
  .theme-panel,.language-panel{right:5vw}
}
@media(max-width:360px){.brand>span{display:none}.header{gap:6px}.cinematic-toggle{padding:0 8px}}
@media(max-height:500px){.loading-emblem{height:60px;width:45px;margin-bottom:16px}.loading-card h2{margin-bottom:36px}}
