.mq-landscape-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #405773;border-top:3px solid #ed424a;border-radius:6px;background:#0d1623;color:#f5f1e9;box-shadow:0 24px 90px #0008;font:400 16px/1.55 'DM Sans',sans-serif;overflow-y:auto}
.mq-landscape-dialog::backdrop{background:#050911e8;backdrop-filter:blur(8px)}
.mq-landscape-panel{padding:30px 28px;text-align:center}
.mq-landscape-eyebrow{margin:0 0 24px;color:#93b8ff;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.mq-landscape-phone{width:78px;height:78px;margin:0 auto 18px;color:#93b8ff}
.mq-landscape-dialog h2{margin:0 0 18px;color:#fff;font:500 clamp(32px,9vw,42px)/1.08 'DM Sans',sans-serif;letter-spacing:-.035em;text-transform:none}
.mq-landscape-dialog p{max-width:32ch;margin-inline:auto}
.mq-landscape-dialog button{box-sizing:border-box;display:block;width:100%;min-height:48px;padding:12px 15px;border:1px solid #405773;border-radius:3px;font:600 16px/1.4 'DM Sans',sans-serif;cursor:pointer}
.mq-landscape-dialog .mq-landscape-primary{margin-top:25px;background:#205dc7;color:#fff;border-color:#427ce0}
.mq-landscape-dialog .mq-landscape-secondary{margin-top:12px;background:transparent;color:#eef3fc}
.mq-landscape-dialog button:focus-visible,.mq-landscape-toggle:focus-visible{outline:3px solid #aecbff;outline-offset:4px}
.mq-landscape-dialog button:disabled{opacity:.65;cursor:wait}
.mq-landscape-dialog .mq-landscape-hint{margin-bottom:0;color:#a7b4c8;font-size:13px}
.mq-landscape-dialog [hidden],.mq-landscape-toggle[hidden]{display:none!important}
html.mq-orientation-open,html.mq-orientation-open body{overflow:hidden}
.mq-landscape-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:44px;padding:7px;border:1px solid #63718a;border-radius:3px;background:#0d1623;color:#d8e5ff;cursor:pointer}
.mq-landscape-toggle svg{width:28px;height:28px}
@media(max-width:650px){.site-header:has(.mq-landscape-toggle:not([hidden])){column-gap:6px;padding-inline:10px}.site-header:has(.mq-landscape-toggle:not([hidden])) .site-social-links{gap:1px}}
/* Recover vertical room space on phones: the fader shares the header row. */
@media(orientation:landscape) and (max-height:600px) and (any-pointer:coarse){
  :root:has(.site-fader){--environment-header-height:60px}
  .site-header:has(.site-fader){height:60px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));column-gap:12px}
  .site-header .site-logo img{width:110px}
  .site-header .site-fader{position:static;inset:auto;flex:0 1 210px;width:210px;min-width:142px;max-width:210px;margin:0;padding-left:12px;border-left:1px solid #ffffff24;column-gap:8px}
  .site-header:has(.site-fader) .menu-toggle{margin-left:auto;min-height:44px}
  .site-header:has(.site-fader) #site-nav{top:100%;max-height:calc(100dvh - 60px);overflow-y:auto}
  main>.atrium,.floor-page .floor-scene,.shop-floor .shop-scene,.rooftop-page .rooftop-scene{max-width:max(1px,calc((100dvh - var(--environment-header-height)) * var(--environment-aspect,16 / 9)))}
  body.mq-typography .room-visit{--visit-panel:max(180px,calc(100% - (100dvh - var(--environment-header-height)) * var(--visit-aspect)));grid-template-columns:var(--visit-panel) minmax(0,1fr);min-height:calc(100dvh - var(--environment-header-height))}
  body.mq-typography .room-visit>:is(.atrium,.floor-scene,.shop-scene,.rooftop-scene){max-width:none;align-self:center}
  body.mq-typography .room-visitor{contain:size;overflow-y:auto;padding:14px 16px}
  html body.mq-typography :is(.room-visitor__identity,.room-visitor__floor){font-size:11px;letter-spacing:.06em}
  .room-visitor__identity{padding-bottom:10px}
  body.mq-typography .room-visitor__floor{margin:10px 0 8px}
  body.mq-typography .room-visitor__heading h2{max-width:none;font-size:26px;margin-bottom:10px}
  .room-visitor[data-compact] .room-visitor__brief>summary{font-size:14px;min-height:44px;padding:8px 0}
  body.mq-typography .room-visitor__copy p{font-size:14px}
  .room-visitor .room-scroll-cue{font-size:14px;justify-content:flex-start;margin-top:auto;padding-top:10px}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:700px) and (any-pointer:coarse){.site-header .site-social-links{display:none}.site-header .site-fader{flex-basis:180px}.site-header .site-logo img{width:96px}}
@media(max-height:500px){.mq-landscape-panel{padding:20px 24px}.mq-landscape-phone{display:none}.mq-landscape-dialog h2{font-size:30px}.mq-landscape-eyebrow{margin-bottom:14px}}
