:root{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;color:#23332d;background:#fafcfb;font-synthesis:none;font-weight:400;font-size:15px}*{box-sizing:border-box}
/* ?bare=1 — only the canvas */
.bare .viewer{border:0;border-radius:0;box-shadow:none}
.bare .viewport{border-radius:0;min-height:0!important}
.bare .top-controls,.bare .stage-caption,.bare .interaction-hint,.bare #dimension-labels{display:none!important}
.bare .viewport canvas{touch-action:pan-y!important}
body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #477961;outline-offset:4px}button svg,a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}[hidden]{display:none!important}.site-header{max-width:1540px;margin:auto;display:flex;justify-content:space-between;align-items:center;height:86px;padding:0 52px;border-bottom:1px solid #e1e7e3}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;letter-spacing:-.7px;text-decoration:none}.brand svg{height:30px;width:37px;fill:none;stroke:currentColor;stroke-width:2}.edition{font-size:13px;color:#65756d}main{max-width:1540px;margin:auto;padding:0 52px}.intro{display:flex;justify-content:space-between;align-items:center;padding:34px 0 28px;gap:24px}h1{font-size:clamp(34px,3.7vw,54px);font-weight:500;letter-spacing:-2px;margin:0;line-height:1.12}.intro p{margin:12px 0 0;font-size:15px;color:#65756d}.specs{display:flex;gap:30px;align-items:center}.specs>span{font-size:25px;font-weight:500;white-space:nowrap}.specs small{display:block;font-size:12px;font-weight:400;color:#65756d;text-align:right;margin-top:2px}.viewer{background:#e7ece8;border-radius:10px;overflow:hidden;position:relative}.viewport{height:clamp(460px,60vh,740px);width:100%;position:relative;isolation:isolate}.viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.viewport canvas:active{cursor:grabbing}.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.stage-caption{position:absolute;top:25px;left:28px;display:flex;align-items:center;gap:8px;z-index:2;font-size:13px;color:#40544a;pointer-events:none}.status-dot{height:6px;width:6px;border-radius:50%;background:#557960}.top-controls{position:absolute;right:20px;top:16px;display:flex;align-items:center;gap:8px;z-index:3}.top-controls button{background:#fafcfbe6;box-shadow:0 1px 3px #22342d09;border:0}.round-button{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:7px;font-size:13px}.round-button[aria-pressed=true]{background:#315745;color:#fff}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:7px;font-size:23px;background:transparent}.interaction-hint{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap;color:#52675b;pointer-events:none;z-index:2;transition:opacity .3s}.interaction-hint svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3}.interaction-hint.dismissed{opacity:0}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px;background:#f2f5f3;border-top:1px solid #dce4dd}.views{display:flex;gap:4px;align-items:center}.views button{border:0;background:transparent;padding:12px 19px;border-radius:6px;font-size:13px;color:#5b6c61;min-height:44px}.views button[aria-pressed=true]{background:#fff;color:#23332d;box-shadow:0 1px 5px #23332d0a}.views button:hover,.icon-button:hover{background:#dde7e0}.motion-controls{display:flex;gap:21px;align-items:center}.rotation-button{display:flex;align-items:center;gap:8px;font-size:13px;background:transparent;border:0;padding:10px 0;color:#65756d;min-height:44px}.rotation-button[aria-pressed=true]{color:#315745}.zoom-controls{display:flex;border-left:1px solid #d5dfd8;padding-left:16px;gap:3px}.loading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;background:#e7ece8b8;font-size:14px}.loading-ring{width:30px;height:30px;border:2px solid #bdcdc1;border-top-color:#315745;border-radius:50%;animation:spin 1s linear infinite}.error-panel{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90%,420px);padding:25px;background:#fafcfbf5;box-shadow:0 12px 55px #23332d1f;border-radius:10px;text-align:center}.error-panel p{line-height:1.55;color:#65756d;font-size:14px}.error-panel button{border:0;border-radius:5px;padding:10px 16px;background:#315745;color:white}.error-panel a{display:inline-block;margin-left:15px;font-size:13px}.details{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0 16px;font-size:12px;color:#65756d}.details p{display:flex;align-items:center;gap:9px;margin:0;flex-wrap:wrap}.details a{display:flex;align-items:center;gap:9px;text-decoration:none;color:#315745;white-space:nowrap;min-height:38px}.details a:hover{text-decoration:underline}.material-swatch{width:15px;height:15px;border-radius:50%;display:inline-block}.render{background:#8d9b80}.dark{background:#b9976b}.separator{height:13px;width:1px;background:#d6dfd9;margin:0 10px}.concept-note{font-size:11px;color:#728178;line-height:1.5;margin:0 0 25px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}#dimension-labels{position:absolute;inset:0;pointer-events:none;z-index:2}#dimension-labels span{position:absolute;transform:translate(-50%,-50%);border-radius:4px;background:#fafcfbef;padding:5px 8px;color:#315745;font-size:12px;font-weight:600;white-space:nowrap}.noscript-note{padding:12px 20px}.viewer:fullscreen{border-radius:0;display:flex;flex-direction:column;width:100%;height:100%}.viewer:fullscreen .viewport{height:auto;flex:1;min-height:0}.embed .site-header,.embed .intro,.embed .details,.embed .concept-note{display:none}.embed body,.embed main{margin:0;padding:0;max-width:none;height:100dvh}.embed .viewer{border-radius:0;height:100dvh;display:flex;flex-direction:column}.embed .viewport{flex:1;min-height:220px;height:auto}.embed .viewer-controls{flex-shrink:0}body[data-ready=false] .viewer-controls button,body[data-ready=false] .top-controls button{pointer-events:none;opacity:.45}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.site-header{height:68px;padding:0 24px}main{padding:0 24px}.intro{padding:27px 0 22px}.specs{gap:20px}.specs>span{font-size:21px}.viewer-controls{padding:12px;gap:8px}.views button{padding:10px 13px}.motion-controls{gap:12px}.zoom-controls{padding-left:10px}.details{align-items:flex-start}.details p{max-width:300px;line-height:1.65}.separator{display:none}}@media(max-width:600px){.site-header{height:61px;padding:0 18px}.brand{font-size:18px}.brand svg{height:26px;width:30px}.edition{font-size:10px}main{padding:0 14px}.intro{padding:25px 4px 22px;gap:14px;align-items:flex-end}h1{font-size:34px;letter-spacing:-1.3px}.intro p{font-size:12px;max-width:210px;line-height:1.5;margin-top:9px}.specs{gap:0}.specs>span:first-child{font-size:21px}.specs>span:nth-child(2){display:none}.specs small{font-size:11px}.viewport{height:440px}.stage-caption{top:20px;left:17px;font-size:11px}.top-controls{top:10px;right:10px;gap:6px}.round-button{padding:10px}.round-button span{display:none}.top-controls .icon-button{width:40px;height:40px}.interaction-hint{font-size:11px;bottom:18px}.viewer-controls{flex-wrap:wrap;justify-content:center;padding:11px 14px}.views{width:100%;justify-content:center;border-bottom:1px solid #dce4dd;padding-bottom:8px}.views button{flex:1;padding:10px 8px}.motion-controls{width:100%;justify-content:space-between;gap:8px}.rotation-button{padding:8px 8px}.zoom-controls{border-left:0;gap:6px}.zoom-controls button{background:#fff;width:44px;height:42px}.details{padding:17px 4px 8px;flex-direction:column;gap:10px}.details p{font-size:11px;max-width:none}.concept-note{margin:0 4px 22px;max-width:360px;font-size:10px}.embed .viewer-controls{padding:8px 12px}.embed .viewport{min-height:180px}.embed .interaction-hint{bottom:12px}.embed .views{padding-bottom:5px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.poster-mode .site-header,.poster-mode .intro,.poster-mode .details,.poster-mode .concept-note,.poster-mode .viewer-controls,.poster-mode .top-controls,.poster-mode .stage-caption,.poster-mode .interaction-hint{display:none}.poster-mode main{padding:0;max-width:none}.poster-mode .viewer{border-radius:0}.poster-mode .viewport{height:470px}

.brand{font-size:19px}.intro h1{max-width:540px}@media(max-width:600px){.brand{font-size:15px;gap:8px}.brand svg{width:26px}.intro h1{font-size:30px}}
