.office-tour-section{padding:clamp(58px,8vw,108px) 0;background:#171616;color:#f8f3ed;overflow:hidden}
.office-tour-heading{display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,.7fr);align-items:end;gap:clamp(28px,6vw,92px);margin-bottom:34px}
.office-tour-heading .kicker{color:#d8a47d}
.office-tour-heading h2{color:#fff;font-size:clamp(2.2rem,4.8vw,4.8rem);line-height:1.22}
.office-tour-heading>p{max-width:650px;color:#cfc6bf;font-size:1rem;line-height:1.85}
.office-tour-shell{position:relative}
.office-panorama{position:relative;width:100%;height:clamp(430px,62vw,720px);min-height:380px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:#080808;box-shadow:0 28px 80px rgba(0,0,0,.34);touch-action:none}
.office-panorama canvas,.office-panorama .panorama-fallback{display:block;width:100%;height:100%}
.office-panorama canvas{cursor:grab;outline:none}
.office-panorama canvas:active{cursor:grabbing}
.office-panorama canvas:focus-visible{box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 7px #9c2d49}
.office-panorama .panorama-fallback{object-fit:cover}
.office-panorama .viewer-message{position:absolute;z-index:4;inset:50% auto auto 50%;transform:translate(-50%,-50%);max-width:calc(100% - 40px);padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;background:rgba(0,0,0,.68);font-size:.875rem;line-height:1.5;text-align:center;white-space:normal;backdrop-filter:blur(8px)}
.office-panorama .viewer-message[hidden],.office-panorama .panorama-fallback[hidden]{display:none}
.office-scene-switcher{position:absolute;z-index:3;left:16px;bottom:16px;display:flex;gap:8px}
.office-scene-switcher button,.office-panorama .viewer-controls button{min-height:46px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;background:rgba(18,18,18,.76);font:inherit;font-size:.875rem;font-weight:750;backdrop-filter:blur(10px)}
.office-scene-switcher button{display:flex;align-items:center;gap:9px;padding:0 16px}
.office-scene-switcher button span{color:#e7b58d;font-size:.72rem;letter-spacing:.1em}
.office-scene-switcher button[aria-pressed=true]{border-color:#d7a076;background:#831d36}
.office-panorama .viewer-controls{position:absolute;z-index:3;right:16px;bottom:16px;display:flex;gap:8px}
.office-panorama .viewer-controls button{padding:0 15px}
.office-scene-switcher button:hover,.office-scene-switcher button:focus-visible,.office-panorama .viewer-controls button:hover,.office-panorama .viewer-controls button:focus-visible{background:#9c2d49;outline:2px solid #fff;outline-offset:2px}
.office-tour-help{margin:0;padding:14px 4px 0;color:#9f9690;font-size:.8125rem;line-height:1.6}
.office-tour-noscript{width:100%;margin-top:16px;border-radius:18px}
.office-panorama:fullscreen{width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0}
@media(max-width:820px){
 .office-tour-heading{grid-template-columns:1fr;gap:18px;margin-bottom:25px}
 .office-tour-heading h2{font-size:clamp(2rem,7vw,3rem);line-height:1.42}
 .office-panorama{height:64vh;min-height:440px;border-radius:16px}
 .office-scene-switcher{right:10px;left:10px;bottom:10px;display:grid;grid-template-columns:1fr 1fr}
 .office-scene-switcher button{justify-content:center;padding:0 10px;font-size:.8125rem}
 .office-panorama .viewer-controls{right:10px;top:10px;bottom:auto}
 .office-panorama .viewer-controls button{min-height:42px;padding:0 12px;font-size:.8125rem}
 .office-tour-help{display:none}
}
@media(max-width:430px){
 .office-panorama{height:60vh;min-height:410px}
 .office-scene-switcher button span{display:none}
 .office-panorama .viewer-controls button:first-child{display:none}
}
@media(prefers-reduced-motion:reduce){.office-scene-switcher button,.office-panorama .viewer-controls button{transition:none}}
