.configurator-page{font-family:var(--sans)}
.config-intro{padding-top:clamp(8rem,12vw,11rem);padding-bottom:clamp(2rem,4vw,4rem)}
.config-intro h1{font-size:clamp(2.8rem,6vw,6rem);line-height:1.07;max-width:14ch;letter-spacing:-.025em;margin:1rem 0 1.4rem;overflow-wrap:break-word}
.config-lead{font-size:clamp(1rem,1.6vw,1.23rem);line-height:1.8;max-width:64ch;color:var(--muted,#b9aa92)}
.config-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,5rem);align-items:start;padding-bottom:6rem}
.config-stage-column{position:sticky;top:7rem;min-width:0}
.config-stage{background:radial-gradient(ellipse at 50% 34%,#fbf9f3 8%,#eae4d8 78%,#ded8cb);border:1px solid #d8d2c6;border-radius:3px;overflow:hidden}
.config-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem 0;position:relative;z-index:1}
.config-stage-heading .eyebrow{font-size:13px;letter-spacing:.15em;margin:0}
.config-mode{font-size:13px;color:#655b4e;white-space:nowrap}
.config-canvas-wrap{position:relative;width:100%;height:clamp(370px,43vw,610px)}
.config-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.config-canvas-wrap canvas[hidden]{display:none}
.config-poster{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:1rem 1.4rem 1.5rem;gap:.75rem}
.config-poster img{width:100%;min-height:0;flex:1;object-fit:contain;mix-blend-mode:multiply}
.config-poster-caption{max-width:32ch;text-align:center;color:#645b4e;font-size:13px;line-height:1.5}
.config-poster[hidden]{display:none}
.config-poster .button{flex-shrink:0;min-height:50px;font-size:.8rem;gap:1rem}
.config-stage .icon,.config-workspace .icon{width:1.2rem;height:1.2rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.config-viewer-status{font-size:13px;line-height:1.6;color:#665e51;text-align:center;margin:0;padding:0 1.3rem 1rem}
.config-view-controls{border-top:1px solid #d2cbbe;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;padding:.75rem;gap:.6rem}
.config-view-controls[hidden]{display:none}
.config-views,.config-tools{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.2rem}
.config-view-controls button{min-width:44px;min-height:44px;border:0;background:transparent;color:#2b352e;border-radius:2px;padding:.55rem .65rem;font:inherit;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}
.config-view-controls button:hover,.config-view-controls button[aria-pressed=true]{background:#fff9;color:#16251e}
.config-precision{font-size:13px;line-height:1.7;color:#b9aa92;margin:1rem .1rem 0;max-width:72ch}
.config-instructions{font-size:13px;line-height:1.65;color:#b9aa92;margin:.65rem 0 0}
.config-options-column{min-width:0}
.config-options-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.5rem}
.config-options-heading h2{font-size:1.4rem;font-weight:500;letter-spacing:-.01em;margin:0}
.config-reset{border:0;border-bottom:1px solid currentColor;padding:.6rem 0;background:none;font:inherit;font-size:13px;color:#d4c8b5;cursor:pointer;min-height:44px}
.config-group{border-top:1px solid rgba(201,167,101,.22);margin:0}
.config-group:last-child{border-bottom:1px solid rgba(201,167,101,.22)}
.config-group>summary{list-style:none;display:flex;align-items:center;gap:1rem;cursor:pointer;padding:1.3rem 0;min-height:76px}
.config-group>summary::-webkit-details-marker,.config-reference>summary::-webkit-details-marker{display:none}
.config-group-number{font-size:13px;align-self:flex-start;padding-top:.25rem;color:#b9aa92;min-width:1.6rem}
.config-group>summary>span:nth-child(2){flex:1;min-width:0}
.config-group>summary strong{display:block;font-size:.95rem;font-weight:550}
.config-group>summary>.icon{transition:transform .2s}
.config-group[open]>summary>.icon{transform:rotate(180deg)}
.config-selected{font-size:13px;color:#b9aa92;display:block;margin-top:.3rem;line-height:1.5}
.config-group-content{padding:0 0 1.6rem 2.6rem}
.config-group-content>p{font-size:13px;line-height:1.8;color:#b9aa92;margin:0 0 1rem}
.config-group fieldset{border:0;padding:0;margin:0;min-width:0}
.config-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.config-choice{position:relative;cursor:pointer;display:block;min-width:0}
.config-choice[hidden]{display:none}
.config-search-label{display:block;font-size:13px;line-height:1.6;margin:1rem 0 .8rem}
.config-search{display:block;width:100%;font:inherit;font-size:16px;padding:.85rem 1rem;margin-top:.4rem;border:1px solid #89734a;border-radius:3px;background:#181310;color:#f0e7d8}
.config-filter-result{font-size:13px;line-height:1.6;color:#b9aa92;min-height:1em}
.config-back-view{display:none}
.config-reference-library{padding:0 0 4rem;background:#181310}
.config-reference-library>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;padding-bottom:2rem;font-size:clamp(1.1rem,2vw,1.8rem);cursor:pointer;line-height:1.4}
.config-reference-library>summary::-webkit-details-marker{display:none}
.config-reference-library .icon{width:1.5rem;height:1.5rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.config-reference-library[open]>summary .icon{transform:rotate(180deg)}
.config-stage{scroll-margin-top:7rem}
@media(max-width:700px){.config-back-view{display:inline-flex;align-items:center;gap:.7rem;font-size:13px;min-height:44px;margin-top:.5rem;text-decoration:underline;text-underline-offset:4px}.config-stage{scroll-margin-top:6rem}}
.config-choice input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0;z-index:1}
.config-choice-body{position:relative;display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;min-height:52px;height:100%;border:1px solid rgba(201,167,101,.32);border-radius:3px;font-size:13px;line-height:1.45;color:#d4c8b5;background:transparent;transition:background .15s,border-color .15s}
.config-choice-body>span:not(.config-swatch){flex:1;overflow-wrap:break-word}
.config-choice input:checked+.config-choice-body{border-color:#c9a765;background:#302719}
.config-choice input:focus-visible+.config-choice-body{outline:2px solid #e5ca8f;outline-offset:3px}
.config-choice-check{opacity:0;width:.85rem!important;height:.85rem!important}
.config-choice input:checked+.config-choice-body .config-choice-check{opacity:1}
.config-swatch{display:block;width:23px;height:23px;flex-shrink:0;border-radius:50%;border:1px solid #0002;background:#a79d8c;box-shadow:inset 0 0 0 2px #ffffff30}
.config-group-content>.config-option-description{font-size:13px;line-height:1.7;margin:.85rem 0 0}
.config-reference{border:1px solid rgba(201,167,101,.32);border-radius:3px;margin-top:1rem;background:#211b13}
.config-reference>summary{padding:.8rem 1rem;min-height:44px;font-size:13px;cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}
.config-reference figure{padding:0 1rem;margin:0}
.config-reference img{width:100%;height:auto;max-height:650px;object-fit:contain}
.config-reference figcaption{font-size:13px;line-height:1.6;color:#b9aa92;padding:.7rem 0}
.config-reference>a{font-size:13px;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem 1rem;line-height:1.6}
.config-reference>a .icon{width:.9rem;height:.9rem}
.config-summary{padding:2rem 0 0}
.config-summary h2{font-size:1.8rem;line-height:1.2;font-weight:500;letter-spacing:-.01em;margin:.6rem 0 1.5rem}
.config-summary dl{margin:0 0 1.5rem}
.config-summary dl>div{display:grid;grid-template-columns:1fr 1.1fr;gap:1rem;border-bottom:1px solid rgba(201,167,101,.18);padding:.58rem 0;font-size:13px;line-height:1.5}
.config-summary dt{color:#b9aa92}.config-summary dd{margin:0;text-align:right;overflow-wrap:break-word}
.config-notice{background:#302719;padding:1rem 1.15rem;font-size:13px;line-height:1.8;color:#d4c8b5}
.config-summary-actions{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:1.5rem}
.config-summary-actions .button{font-size:13px;justify-content:space-between;gap:1rem;cursor:pointer;min-height:52px}
.config-action-status{font-size:13px;line-height:1.7;min-height:1em}
.config-share-fallback{display:block;font-size:13px;line-height:1.7}.config-share-fallback[hidden]{display:none}
.config-share-fallback input{width:100%;padding:.9rem;margin:.5rem 0;font:inherit;border:1px solid #c9a765;background:#181310;border-radius:2px}
.config-consultation{font-size:13px!important;margin-top:1rem;display:inline-flex;align-items:center;gap:1rem}
.config-workspace button:disabled{opacity:.55;cursor:wait}
@media(max-width:1000px){.config-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.config-stage-column{top:6rem}.config-canvas-wrap{height:420px}.config-choices{grid-template-columns:1fr}.config-group-content{padding-left:0}.config-stage-heading{padding:1rem 1rem 0;flex-wrap:wrap;gap:.4rem}}
@media(max-width:700px){.config-intro{padding-top:8rem}.config-intro h1{font-size:clamp(2.65rem,11vw,4rem);max-width:14ch}.config-workspace{display:block;padding-bottom:3rem}.config-stage-column{position:relative;top:auto;margin-bottom:2.5rem}.config-canvas-wrap{height:370px;height:clamp(300px,95vw,440px)}.config-options-heading{margin-bottom:1rem}.config-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.config-stage-heading .eyebrow{font-size:13px}.config-mode{font-size:13px}.config-group>summary{padding:1.15rem 0}.config-group-content{padding-bottom:1.4rem}.config-view-controls{gap:.1rem;padding:.45rem}.config-precision{font-size:13px}.config-choice-body{padding:.65rem .6rem;font-size:13px}.config-views{flex:1 1 100%}.config-view-controls button{font-size:13px}.config-poster{padding-bottom:.8rem}}
@media(prefers-reduced-motion:reduce){.config-choice-body,.config-group>summary>.icon{transition:none}}
.config-intro h1,.config-summary h2,.config-options-heading h2{font-family:var(--serif);font-weight:500;color:var(--ink)}
.config-stage{color:#2b2419;font-family:var(--sans)}
.config-stage .eyebrow{color:#72542a}
.config-search::placeholder{color:#b9aa92;opacity:1}
.config-share-fallback input{color:var(--ink)}
.config-choice-body,.config-reset,.config-group-content>p,.config-selected{font-family:var(--sans)}
