@font-face{font-family:Poppins;src:url('assets/office-3d/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('assets/office-3d/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url('assets/office-3d/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#2e1738;--muted:#86768a;--pink:#e64495;--purple:#41144f;--border:#e9e2e9;--paper:#fdfbfc}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Poppins,Arial,sans-serif;font-size:13px}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--pink);outline-offset:3px}button{color:inherit}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.studio-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 31px;border-bottom:1px solid var(--border);background:#fff;gap:20px}.brand img{width:238px;height:auto;display:block}.header-title{font-size:10px;letter-spacing:1.4px;display:flex;align-items:center;gap:10px;font-weight:500}.edition{color:#97879b}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--pink)}.enquire-link{font-size:11px;border-bottom:1px solid #d6c0dc;padding:10px 0}.enquire-link span{color:var(--pink);font-size:17px;margin-left:12px}.studio{display:grid;grid-template-columns:296px minmax(0,1fr);height:calc(100dvh - 86px);min-height:580px}.sidebar{overflow:auto;border-right:1px solid var(--border);padding:30px 23px 20px;scrollbar-width:thin;scrollbar-color:#d6c4dc transparent}.eyebrow{color:#a0528a;font-size:8.5px;font-weight:600;letter-spacing:1.5px;margin:0 0 14px}.sidebar h1{font-size:23px;letter-spacing:-.8px;font-weight:500;line-height:1.4;margin:0}.sidebar-heading>p:last-child{color:var(--muted);font-size:11px;line-height:1.8;margin:12px 0 25px}.field-label{display:block;font-size:8px;letter-spacing:1.15px;font-weight:600;color:#7f6e87;margin:0 0 11px}select{width:100%;border:1px solid #d9c9df;background:#fff;padding:12px 8px;border-radius:5px;color:var(--purple);font-size:11px}.model-summary{font-size:10px;line-height:1.9;color:var(--muted);min-height:57px}.model-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-block:1px solid var(--border);padding:15px 0;margin:17px 0 25px}.model-metrics strong{font-size:22px;font-weight:500;display:block;letter-spacing:-.7px}.model-metrics span{font-size:8px;color:var(--muted)}.space-heading{display:flex;justify-content:space-between;align-items:baseline}.space-heading>span{font-size:9px;color:var(--muted)}.space-list{display:grid;gap:3px}.space-button{display:flex;align-items:center;width:100%;gap:10px;padding:10px 8px;border:0;border-radius:4px;background:transparent;text-align:left;font-size:10px;color:#73637c;transition:background .2s}.space-button:hover{background:#f4edf6}.space-button[aria-pressed=true]{background:#f7e5f1;color:var(--purple)}.space-number{font-size:8px;color:#b195b5;min-width:16px}.space-button[aria-pressed=true] .space-number{color:var(--pink)}.space-arrow{margin-left:auto;color:#c49cbc}.material-palette{margin:26px 0 18px;padding-top:20px;border-top:1px solid var(--border)}.swatches{display:flex;gap:9px}.swatches span{width:28px;height:28px;border-radius:50%;background:var(--swatch);border:3px solid white;box-shadow:0 0 0 1px #e7dce9}.material-palette>p:last-child{font-size:9px;color:var(--muted);line-height:1.9}.concept-note{font-size:8px;line-height:1.9;color:#9f90a4}.viewer{position:relative;overflow:hidden;background:#eeeaf0;isolation:isolate;min-width:0}.canvas-mount{position:absolute;inset:0;z-index:0}.canvas-mount canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.view-toolbar{position:absolute;top:22px;left:26px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:4}.view-toolbar>*{pointer-events:auto}.view-tabs{display:flex;background:#ffffffed;box-shadow:0 4px 20px #49274c08;padding:4px;border:1px solid #e7dfe9;border-radius:8px}.view-tabs button{border:0;border-radius:5px;padding:10px 15px;background:transparent;font-size:10px;color:#8a7991;white-space:nowrap}.view-tabs button[aria-pressed=true]{background:var(--purple);color:white}.icon-button{background:#fffffff0;border:1px solid #e2d9e6;border-radius:6px;width:36px;height:36px;display:inline-grid;place-items:center;font-size:20px;line-height:1}.scene-label{position:absolute;top:91px;left:30px;pointer-events:none;z-index:2}.scene-label .eyebrow{font-size:7px;margin-bottom:7px;color:#98809e}.scene-label h2{font-size:23px;font-weight:500;margin:0;letter-spacing:-.6px}.scene-label>p:last-child{font-size:9px;color:#95839c;max-width:330px;line-height:1.7;margin-top:7px}.view-tools{position:absolute;top:87px;right:24px;display:grid;gap:7px;z-index:4}.view-tools button{border:1px solid #e5dce8;border-radius:6px;background:#ffffffed;padding:9px 11px;display:flex;align-items:center;gap:9px;font-size:9px;min-width:94px;text-align:left}.view-tools button>span:first-child{font-size:15px;min-width:17px}.view-tools button[aria-pressed=true]{border-color:#ceacd0;background:#f8eef8;color:var(--purple)}.north-marker{position:absolute;right:27px;bottom:107px;display:grid;justify-items:center;color:#a28aac;font-size:7px;letter-spacing:1px;pointer-events:none}.north-marker span{font-size:27px}.bottom-bar{position:absolute;bottom:34px;left:26px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:5}.interaction-hint{font-size:8px;color:#877490;display:flex;gap:8px;align-items:center;background:#ffffffe0;padding:9px 12px;border-radius:5px}.interaction-hint i{font-style:normal;color:#c1b1c9}.presentation-actions{display:flex;align-items:center;gap:7px}.tour-button{background:var(--purple);color:#fff;display:flex;align-items:center;gap:10px;border:1px solid var(--purple);border-radius:6px;padding:10px 16px;font-size:10px}.tour-button>span{font-size:14px}.viewer-note{position:absolute;bottom:7px;left:27px;font-size:6.5px;letter-spacing:1.4px;color:#b09cb8;pointer-events:none}.space-detail{position:absolute;bottom:100px;left:28px;width:270px;background:#fffcfff5;border:1px solid #e6d4e9;border-radius:9px;padding:20px;box-shadow:0 12px 50px #39214414;z-index:4}.space-detail .eyebrow{margin-bottom:8px;font-size:7px}.space-detail h3{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:0 15px 9px 0}.space-detail>p:not(.eyebrow){color:#8d7896;line-height:1.8;font-size:10px;margin:0}.detail-close{position:absolute;right:9px;top:7px;border:0;background:none;color:#a485ae;font-size:22px}.detail-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.detail-tags span{font-size:7.5px;background:#f3eaf5;padding:4px 7px;border-radius:3px;color:#9a70a0}.detail-enter{margin-top:14px;background:none;border:0;border-top:1px solid #eadfed;padding:11px 0 0;width:100%;text-align:left;color:var(--purple);font-size:10px}.detail-enter span{float:right;color:var(--pink)}.hotspot-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.hotspot{position:absolute;pointer-events:auto;width:27px;height:27px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:1px solid #ceb8d8;color:var(--purple);font-size:8px;font-weight:500;box-shadow:0 3px 11px #43284a24;display:grid;place-items:center}.hotspot:hover,.hotspot[aria-pressed=true]{background:var(--pink);color:white;border-color:white;z-index:2}.hotspot:hover:after{content:attr(data-label);position:absolute;bottom:34px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#351541;color:white;padding:6px 9px;border-radius:4px;font-size:9px}.loading{position:absolute;inset:0;background:#f7f3f8;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:35px}.loading strong{font-size:20px;font-weight:500}.loading span{max-width:400px;color:#9b83a3;font-size:11px;line-height:1.8}.loading button{padding:10px 20px;background:var(--purple);color:white;border:0;border-radius:5px}.loading-mark{width:45px;height:45px;border:2px solid #e6cce5;border-top-color:var(--pink);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:absolute;bottom:91px;left:50%;transform:translateX(-50%);background:#381447;color:white;padding:10px 18px;font-size:10px;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:7;max-width:80%;text-align:center}.toast.show{opacity:1}.tour-progress{position:absolute;top:89px;left:28px;right:150px;background:#ffffffee;padding:12px 16px;border:1px solid #e5d5eb;border-radius:7px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;overflow:hidden}.tour-progress>div:not(.tour-track){display:flex;gap:5px}.tour-progress button{background:#f3eaf6;border:0;padding:5px 8px;border-radius:4px;font-size:10px}.tour-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#e7d9ed}.tour-track i{display:block;background:var(--pink);height:100%;width:0}.no-script{position:fixed;inset:0;display:grid;place-content:center;background:#fff;z-index:99}.viewer:fullscreen{width:100vw;height:100dvh}.viewer:fullscreen .scene-label{top:98px}
@media(min-width:1600px){.studio{grid-template-columns:330px minmax(0,1fr)}.sidebar{padding:35px 30px}.sidebar h1{font-size:27px}.model-summary,.space-button{font-size:12px}.field-label{font-size:9px}.space-button{padding:12px 9px}.view-tabs button{font-size:12px}.scene-label h2{font-size:28px}.interaction-hint{font-size:10px}}
@media(max-width:1100px){.header-title .edition{display:none}.studio{grid-template-columns:258px minmax(0,1fr)}.sidebar{padding:25px 18px}.brand img{width:210px}.scene-label h2{font-size:20px}.view-tools{top:164px}.interaction-hint{display:none}.bottom-bar{justify-content:flex-end}.space-detail{width:242px}.header-title{font-size:8px}.view-tabs button{padding:10px 12px;font-size:9px}}
@media(max-width:760px){.studio-header{height:71px;padding:0 17px}.brand img{width:200px}.header-title{display:none}.enquire-link{font-size:9px}.studio{display:flex;flex-direction:column;height:auto;min-height:0}.sidebar{order:2;overflow:visible;border-right:0;padding:24px}.sidebar-heading{display:none}.model-summary{min-height:0}.model-metrics{margin:15px 0}.space-list{grid-template-columns:1fr 1fr;gap:5px}.material-palette{display:none}.concept-note{margin-bottom:0}.viewer{order:1;height:72dvh;min-height:520px;max-height:850px}.view-toolbar{top:16px;left:16px;right:16px}.view-tabs button{padding:9px 10px}.scene-label{top:78px;left:20px}.scene-label h2{font-size:20px}.scene-label>p:last-child{max-width:250px}.view-tools{right:15px;top:153px;gap:5px}.view-tools button{min-width:76px;padding:7px;font-size:8px}.bottom-bar{left:17px;right:15px;bottom:27px}.space-detail{left:17px;bottom:78px;width:223px;padding:16px}.space-detail h3{font-size:16px}.space-detail>p:not(.eyebrow){font-size:9px}.detail-tags{margin-top:8px}.viewer-note{left:17px;bottom:4px}.tour-progress{top:127px;left:17px;right:17px;font-size:9px}.tour-progress button{font-size:9px}.north-marker{bottom:82px;right:20px}.hotspot{width:25px;height:25px}.viewer:fullscreen{max-height:none;height:100dvh}.sidebar select{font-size:13px;padding:14px}.space-button{font-size:11px}.model-summary{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.touring .scene-label{opacity:0}.evening .scene-label h2{color:#f3eaf5}.evening .scene-label .eyebrow,.evening .scene-label>p:last-child,.evening .north-marker{color:#c1aed0}
.eye-level .scene-label{background:#ffffffeb;padding:12px 16px;border-radius:6px}.eye-level .scene-label h2{font-size:16px;color:var(--ink)}.eye-level .scene-label .eyebrow,.eye-level .scene-label>p:last-child{color:#86768a}
.snapshot-dialog{width:min(900px,94vw);max-height:94dvh;border:1px solid var(--border);border-radius:12px;padding:18px;background:white;color:var(--ink)}.snapshot-dialog::backdrop{background:#201024aa;backdrop-filter:blur(4px)}.snapshot-heading,.snapshot-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.snapshot-heading h2{font-size:17px;font-weight:500}.snapshot-dialog img{display:block;max-width:100%;max-height:65dvh;margin:10px auto;object-fit:contain}.snapshot-footer p{font-size:11px;color:var(--muted)}.snapshot-footer .tour-button{white-space:nowrap}
