*{box-sizing:border-box}html,body{margin:0}body{font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#20211e;background:#fff}
button,.button{font:inherit;min-height:44px;padding:10px 18px;background:#fff;border:1px solid #c9cbc4;color:#20211e;cursor:pointer;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.primary{background:#20211e;color:#fff;border-color:#20211e}
button:focus-visible,.button:focus-visible{outline:3px solid #d30805;outline-offset:3px}
.demo{padding:24px;max-width:1200px;margin:auto}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6d7166;margin:0 0 8px}
.demo h1{font-size:clamp(24px,3vw,36px);font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:0 0 12px}
.note{font-size:14px;color:#63675c;margin:12px 0}
.stage{background:#f1f0ec;border:1px solid #e0e2dc;border-radius:8px;overflow:hidden;position:relative;margin:18px 0}
.wall-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:24px;align-items:center}
.wall-stage{aspect-ratio:1;max-height:500px;margin:0}
.wall-stage model-viewer{width:100%;height:100%;--poster-color:transparent;background:#f1f0ec}
.ar-go{position:absolute;left:16px;right:16px;bottom:16px}
.ar-go[hidden]{display:none}
.wall-controls h2{font-size:15px;font-weight:400;margin:0 0 10px}
.choices{display:grid;gap:6px}
.choices button{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;text-align:left}
.choices button small{font-size:13px;color:#6d7166;white-space:nowrap}
.choices [aria-checked=true]{border-color:#20211e;box-shadow:inset 0 0 0 1px #20211e}
.ar-box{border-top:1px solid #e0e2dc;margin-top:18px;padding-top:16px}
.ar-box p{font-size:14px;color:#3f423b;margin:10px 0 0}
.ar-box[hidden]{display:none}
.qr{width:168px;height:168px;background:#fff}
.qr svg{display:block;width:100%;height:100%}
.error{color:#a32612;font-size:14px;margin:8px 0 0}
.error:empty{display:none}
@media(max-width:620px){.demo{padding:16px}.wall-grid{grid-template-columns:1fr;gap:12px}.wall-stage{aspect-ratio:auto;height:min(calc(100vw - 32px),420px);max-height:none}.choices button{padding:10px 14px}}
model-viewer::part(default-progress-bar){display:none}
.mv-exit{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;background:rgba(255,255,255,.92);border:0;box-shadow:0 2px 10px rgba(0,0,0,.25);display:grid;place-items:center}
.mv-exit svg{width:22px;height:22px}
