/* The 3D build is isolated to the office setup page. */
.office-build{position:relative;background:#040d17;border-block:1px solid #284354;margin:0;min-height:0}
.office-build.is-ready:not(.is-reduced){height:440svh}
.build-sticky{position:relative;min-height:650px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#16334a 0%,#06111c 58%,#030b13 100%)}
.is-ready:not(.is-reduced) .build-sticky{position:sticky;top:0;height:100svh;min-height:560px}
.build-heading{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:30px 5% 0;z-index:1;pointer-events:none}
.build-heading .eyebrow{margin:0 0 10px;font-size:.7rem}
.build-heading h2{font-size:clamp(1.65rem,2.6vw,2.8rem);font-weight:500;letter-spacing:-.035em;line-height:1.12;margin:0}
.build-heading .build-note{font-size:.82rem;line-height:1.6;color:#a8bbcc;max-width:230px;margin:0;text-align:right}
.build-viewport{position:relative;flex:1;min-height:280px}
.build-viewport canvas{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
.build-fallback{display:block;width:min(850px,95%);height:auto;margin:30px auto;color:#75dcf1}
.is-ready .build-fallback{display:none}
.build-footer{padding:0 5% 26px;z-index:1}
.build-status{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px}
.build-status h3{font-size:clamp(1.15rem,2vw,1.65rem);font-weight:500;letter-spacing:-.02em;margin:0}
.build-status output{font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--cyan)}
.build-description{color:#b6c8d8;font-size:.95rem;line-height:1.5;min-height:2.9em;max-width:800px;margin:0 0 15px}
.build-track{height:2px;background:#2b4050;overflow:hidden}.build-track span{height:100%;display:block;background:linear-gradient(90deg,var(--cyan),var(--gold));width:100%}
.build-stages{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:14px 0 0;padding:0;color:#93a9ba;font-size:.75rem;line-height:1.5}
.build-stages li{border:0}.build-stages b{display:block;font-weight:500;color:#b9cad5}.build-stages li[aria-current=step] b{color:var(--cyan)}
.build-controls{display:flex;align-items:center;gap:14px;margin-top:18px;color:#abc0cd;font-size:.75rem}.build-controls input{width:130px;accent-color:var(--cyan)}.build-controls a{margin-left:auto;border-bottom:1px solid #4c6c7c;padding-bottom:3px}
.build-controls input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.is-reduced .build-sticky{min-height:800px}.is-reduced .build-viewport{height:470px;flex:auto}.is-reduced .build-controls label,.is-reduced .build-controls input{display:none}
@media(max-width:700px){.office-build.is-ready:not(.is-reduced){height:340svh}.build-heading{padding:25px 6% 0;gap:15px}.build-heading h2{font-size:1.7rem}.build-heading .build-note{max-width:110px;font-size:.7rem}.build-heading .eyebrow{font-size:.58rem;letter-spacing:.1em}.build-footer{padding:0 6% 24px}.build-description{font-size:.85rem;min-height:4.4em;margin-bottom:10px}.build-stages{gap:10px;font-size:.64rem}.build-controls{gap:9px;font-size:.68rem}.build-controls input{width:85px}.build-viewport{min-height:220px}.is-ready:not(.is-reduced) .build-sticky{min-height:620px}.is-reduced .build-sticky{min-height:700px}.is-reduced .build-viewport{height:310px}}
@media(prefers-reduced-motion:reduce){.office-build.is-ready{height:auto}.build-sticky{position:relative!important}.build-track span{width:100%!important}}

.build-controls button{border:1px solid #355668;border-radius:4px;background:#102532;color:#c7dce6;font-size:inherit;padding:5px 9px;cursor:pointer}.build-controls button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.office-build:not(.is-ready) .build-controls label,.office-build:not(.is-ready) .build-controls input,.office-build:not(.is-ready) .build-controls button{display:none}
@media(max-width:700px){.build-controls{flex-wrap:wrap}.build-controls a{font-size:.65rem}.build-controls input{width:65px}}
