/* Mobile layout uses page scrolling, with a dedicated canvas and readable details. */
@media(max-width:900px){
 .office-site .office-header{height:auto;min-height:0;padding:12px max(16px,env(safe-area-inset-left));gap:10px;flex-wrap:wrap}
 .office-site .office-brand{width:104px}
 .office-site .office-brand img{max-height:54px}
 .office-site .office-header-caption{display:none}
 .office-site .office-header nav{width:100%;margin:0;gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:12px}
 .office-site .office-header nav>a,.office-site .office-header nav>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;line-height:1.3;font-size:12px}
 .office-site .office-header nav .office-nav-toggle{display:inline-flex}
 .office-site .office-nav-options{right:16px;width:min(320px,calc(100% - 32px));padding:12px;gap:8px}
 .office-site .office-header nav .office-nav-options button{min-height:48px;font-size:14px}
 .office-site .office-experience{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:visible;padding:12px max(12px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-bottom));gap:12px}
 .office-site .office-room-menu{order:1;position:relative;inset:auto;margin:0;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;overflow:visible}
 .office-site .office-room-menu>.office-eyebrow,.office-site .office-room-menu .office-menu-pages{display:none}
 .office-site .office-room-menu button{min-width:0;width:100%;min-height:48px;padding:10px 8px;font-size:12px;line-height:1.45;gap:8px}
 .office-site .office-room-menu button span{font-size:9px;flex-shrink:0}
 .office-site .office-guide-message{order:2;position:relative;inset:auto;transform:none;margin:0;width:100%;max-width:none;padding:12px 14px;font-size:13px;line-height:1.6}
 .office-site .office-camera-controls{order:3;position:relative;inset:auto;width:100%;margin:0;padding:8px;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;box-shadow:none}
 .office-site .office-camera-controls button{flex-shrink:0;min-height:44px;padding:10px 12px;font-size:12px}
 .office-site .office-camera-controls>span{display:none}
 .office-site #office-viewport{order:4;position:relative;inset:auto;width:100%;height:clamp(300px,90vw,440px);flex:none;isolation:isolate;overflow:hidden;border-radius:8px}
 .office-site .office-loading{top:220px;max-width:calc(100% - 32px);z-index:3}
 .office-site .office-welcome,.office-site:not(.office-subpage) .office-welcome,.office-site .office-content-panel{order:5;position:relative;inset:auto;width:100%;max-width:none;max-height:none;margin:0;padding:20px;overflow:visible}
 .office-site .office-welcome h1,.office-site .office-subpage .office-welcome h1{font-size:27px;line-height:1.2;margin:0 0 12px}
 .office-site .office-welcome p,.office-site .office-content-panel p,.office-site .office-content-panel ul{font-size:14px;line-height:1.7}
 .office-site .office-welcome .office-button,.office-site .office-welcome .office-text-button{min-height:48px;font-size:14px;padding:12px 14px}
 .office-site .office-welcome .office-text-button{display:inline-flex}
 .office-site .office-content-panel h2{font-size:27px}
 .office-site .office-content-panel #office-panel-close{min-width:44px;min-height:44px;top:10px;right:10px}
 .office-site .office-content-panel .office-panel-actions{gap:8px}
 .office-site .office-content-panel .office-panel-actions button{min-height:48px;font-size:13px;line-height:1.5}
 .office-site .office-finish-briefing{min-height:48px;font-size:14px}
 .office-site .office-floor-controls{order:6;position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:12px 0 0;width:100%}
 .office-site .office-floor-controls>span{grid-column:1/-1;font-size:11px}
 .office-site .office-floor-controls button{min-width:0;min-height:48px;padding:12px 8px;font-size:12px;line-height:1.4}
 .office-site .office-cabin-preview{position:relative;order:5;inset:auto;width:100%;max-height:none}
 .office-site .office-standard,.office-site .section{padding-left:20px;padding-right:20px}
 .office-site .standard-room,.office-site .office-founders,.office-site .office-related,.office-site .office-form-row,.office-site .form-row{grid-template-columns:1fr}
 .office-site .office-enquiry input,.office-site .office-enquiry select,.office-site .office-enquiry textarea,.office-site #enquiry-form input,.office-site #enquiry-form select,.office-site #enquiry-form textarea{font-size:16px;min-height:48px}
 .office-site .office-enquiry label,.office-site #enquiry-form label{font-size:14px}
 .office-site .office-enquiry,.office-site #enquiry-form{min-width:0}
 .office-site .office-standard p,.office-site .media-content p,.office-site .media-content li{font-size:14px;line-height:1.75}
 .office-site .office-button,.office-site .button,.office-site .text-link{min-height:48px;font-size:14px}
 .office-site .section-heading h1,.office-site .section-heading h2,.office-site .contact h2{font-size:clamp(30px,7vw,44px);line-height:1.2}
 .office-site .media-grid,.office-site .lab-workbench,.office-site .editing-workbench{grid-template-columns:1fr}
 .office-site .lab-scenarios,.office-site .editing-shot-buttons{gap:8px}
 .office-site .lab-scenarios button,.office-site .lab-auto-controls button,.office-site .editing-shot-buttons button,.office-site .editing-view-controls button{min-height:44px;font-size:12px}
 .office-site #office-project-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 16px}
 .office-site #office-project-dialog .office-preview-controls{gap:8px}
 .office-site #office-project-close,.office-site .office-preview-close,.office-site .office-exhibit-close{min-width:44px;min-height:44px}
 .office-site .office-footer{padding:24px 20px;gap:16px;flex-wrap:wrap}
 .office-site .office-footer a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
}
@media(max-width:360px){
 .office-site .office-header nav{gap:4px}
 .office-site .office-header nav>a,.office-site .office-header nav>button{font-size:11px;padding:10px 6px}
 .office-site .office-room-menu button{font-size:11px;gap:5px}
 .office-site .office-content-panel h2+.office-panel-actions{grid-template-columns:1fr}
}
