.config-page .header{max-width:1560px}.config-page .demo-bar{background:#e7e3d8;color:var(--ink)}.config-intro{padding:46px 0 28px;display:flex;justify-content:space-between;gap:30px;align-items:end}.config-intro h1{font-size:clamp(48px,5.5vw,78px)}.config-intro .eyebrow{margin-bottom:14px}.config-intro>p{max-width:320px;font-size:15px;color:var(--muted)}.config-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(350px,1fr);gap:42px;align-items:start;margin-bottom:70px}.viewer-column{position:sticky;top:20px;min-width:0}.viewer-card{background:#eeebe3;border:1px solid #dedbd0;position:relative;overflow:hidden}.viewer-top{display:flex;justify-content:space-between;padding:24px 26px 0;gap:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.viewer-top strong{font-weight:500}.product-stage{height:clamp(350px,40vw,590px);position:relative;isolation:isolate;touch-action:pan-y}#three-canvas,#fallback{position:absolute;inset:0}#three-canvas canvas{width:100%;height:100%;display:block;touch-action:pan-y}#fallback{display:grid;place-items:center}#fallback svg{width:100%;height:100%}.loading{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);background:#f5f2ebeb;padding:14px 22px;font-size:13px;text-align:center;border:1px solid var(--line);z-index:2}.loading::before{content:'';display:inline-block;width:8px;height:8px;background:var(--olive);border-radius:50%;margin-right:10px}.viewer-bottom{padding:0 26px 22px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}.view-tools{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0}.view-tools button{background:transparent;border:1px solid var(--line);min-height:44px;padding:8px 14px;font-size:13px}.view-tools button:hover:not(:disabled){background:var(--cream)}.view-tools button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.view-tools button:disabled{opacity:.42}.gesture-note{font-size:12px;color:var(--muted);max-width:530px;min-height:42px}.viewer-caption{border-top:1px solid var(--line);margin-top:26px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:13px}.viewer-caption strong{display:block;font-weight:500;font-size:14px;margin-bottom:6px}.viewer-caption p{color:var(--muted)}.config-panel{min-width:0}.product-name{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.product-name h2{font-size:43px}.product-name span{font-size:12px;color:var(--muted)}.presets{display:flex;gap:8px;margin:18px 0 24px}.presets button{flex:1;min-height:44px;background:transparent;border:1px solid var(--line);font-size:13px;padding:8px}.presets button[aria-pressed=true]{border-color:var(--ink);background:var(--cream)}.option-group{border-top:1px solid var(--line);padding:0}.option-group summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:15px;font-weight:500;gap:12px}.option-group summary::-webkit-details-marker{display:none}.option-group summary::after{content:'+';font-size:22px;font-weight:400}.option-group[open] summary::after{content:'−'}.option-group summary span{font-size:11px;color:var(--muted);font-weight:400;max-width:45%;text-align:right;margin-left:auto}.option-body{padding:0 0 24px}.dimension-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px 20px;align-items:center;margin:0 0 19px}.dimension-row label{font-size:13px;grid-column:1}.dimension-number{display:flex;align-items:center;gap:4px;grid-column:2;grid-row:span 2;border:1px solid var(--line);padding:0 8px;min-height:48px}.dimension-number input[type=number]{appearance:textfield;min-width:0;width:52px;border:0;margin:0;padding:10px 0;font-size:16px;background:transparent}.dimension-number span{font-size:12px;color:var(--muted)}.dimension-row input[type=range]{accent-color:var(--olive);width:100%;height:28px;padding:0;margin:0;border:0;grid-column:1;cursor:pointer}.dimension-number input::-webkit-inner-spin-button{appearance:none}.config-panel input[aria-invalid=true]{outline:2px solid #9b3a2c;outline-offset:2px}.option-note,.error{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}.error{color:#8e3324;min-height:0}.error:empty{display:none}.material-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.option-label{position:relative;cursor:pointer}.option-label input{position:absolute;opacity:0;width:1px;height:1px}.option-label .tile{display:block;border:1px solid var(--line);padding:5px;position:relative;transition:background .15s,border-color .15s}.option-label .swatch-chip{height:54px;display:block;background:var(--swatch);background-size:cover;background-position:center}.option-label .option-text{display:block;font-size:11px;line-height:1.4;padding:8px 3px 4px;min-height:42px}.option-label input:checked+.tile{border:2px solid var(--olive);padding:4px;background:var(--cream)}.option-label input:checked+.tile::after{content:'✓';position:absolute;right:8px;top:8px;width:19px;height:19px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:12px;border-radius:50%}.option-label input:focus-visible+.tile{outline:2px solid var(--accent);outline-offset:4px}.option-label input:disabled+.tile{opacity:.4;cursor:not-allowed}.plain-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.plain-options .tile{min-height:70px;display:flex;align-items:center;padding:12px;font-size:12px;line-height:1.5}.plain-options input:checked+.tile{padding:11px}.plain-options input:checked+.tile::after{top:4px;right:4px;font-size:9px;width:13px;height:13px}.front-symbol{display:flex;height:38px;gap:2px;margin-bottom:8px;max-width:75px}.front-symbol i{border:1px solid currentColor;flex:1;background:#cfb18c}.front-symbol.drawer{flex-direction:column}.front-options .tile{display:block;min-height:92px}.price-card{background:var(--cream);padding:25px;margin-top:20px}.price-top{display:flex;justify-content:space-between;align-items:end;gap:15px}.price-top p{font-size:12px;max-width:110px;line-height:1.5}.price-top strong{font:42px/1 'Instrument Serif',serif;white-space:nowrap;letter-spacing:-.03em}.price-card>p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:17px}.price-card details{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.price-card summary{font-size:12px;cursor:pointer}#price-breakdown{font-size:12px;margin:18px 0 0}#price-breakdown>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:9px}#price-breakdown dd{margin:0;white-space:nowrap}.config-actions{display:grid;gap:10px;margin-top:18px}.config-actions button{width:100%;justify-content:center;min-height:50px}.config-actions .secondary{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:12px;font-size:14px}.action-minor{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.action-minor button{font-size:12px;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;min-height:44px}.status{font-size:12px;line-height:1.6;color:var(--muted);min-height:38px;margin-top:16px}.share-panel{background:var(--cream);padding:18px;margin-top:15px;font-size:12px}.share-panel input{font-size:12px;width:100%;padding:12px 0;margin:0}.request-section{padding-block:65px;border-top:1px solid var(--line);scroll-margin-top:20px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.request-grid h2{font-size:52px;margin-bottom:25px}.request-grid p{color:var(--muted);max-width:500px}.request-grid textarea{background:var(--cream);padding:20px;min-height:410px;font:13px/1.8 'DM Sans',sans-serif;border:1px solid var(--line);margin-bottom:14px}.request-grid label{font-size:14px}.config-about{padding:50px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:55px}.config-about h2{font-size:39px}.config-about p{font-size:14px;color:var(--muted);max-width:650px}.config-about details{font-size:12px;margin-top:25px}.config-about details p{font-size:12px;margin-top:15px}.config-about a{text-decoration:underline;text-underline-offset:4px}.config-page .footer-bottom{line-height:1.8}.config-page .header nav{gap:20px;font-size:13px}.config-page .header-contact{display:none}.config-page .option-group legend{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.config-page fieldset{margin:0}.config-page #request-heading:focus{outline:none}.config-page button:hover:not(:disabled){filter:brightness(.96)}
@media(max-width:1100px){.config-layout{gap:25px;grid-template-columns:minmax(0,1.2fr) minmax(330px,1fr)}.config-page .header nav{gap:15px}.product-stage{height:410px}.viewer-top,.viewer-bottom{padding-inline:18px}.material-options{gap:6px}.plain-options .tile{padding:10px;font-size:11px}.plain-options input:checked+.tile{padding:9px}.config-intro>p{max-width:260px}}
@media(max-width:800px){.config-page .header-contact{display:block}.config-page .header nav{font-size:18px;gap:0}.config-intro{display:block;padding-top:32px}.config-intro h1{font-size:54px}.config-intro>p{margin-top:18px;max-width:420px;font-size:14px}.config-layout{display:block;margin-bottom:35px}.viewer-column{position:static}.product-stage{height:340px}.viewer-top{font-size:10px;padding-top:19px}.viewer-bottom{font-size:12px;padding-bottom:17px}.view-tools{gap:5px}.view-tools button{padding:8px 10px;font-size:12px}.gesture-note{font-size:12px;min-height:42px}.viewer-caption{display:none}.config-panel{margin-top:29px}.product-name h2{font-size:38px}.option-group summary{min-height:64px}.material-options{gap:9px}.option-label .swatch-chip{height:62px}.option-label .option-text{font-size:12px}.plain-options .tile{font-size:12px}.price-card{padding:22px}.price-top strong{font-size:44px}.price-card>p{font-size:12px}.request-grid{grid-template-columns:1fr;gap:30px}.request-grid h2{font-size:45px}.config-about{grid-template-columns:1fr;gap:22px}.config-about h2{font-size:38px}.presets button{min-height:48px}.config-page .footer-links{gap:15px}.config-page .demo-bar{font-size:10px}.config-page .header .logo{font-size:57px}.product-stage.interactive{box-shadow:inset 0 0 0 2px var(--olive)}}
@media(max-width:390px){.product-stage{height:300px}.view-tools button{font-size:11px;padding:7px 9px}.config-intro h1{font-size:48px}.material-options{gap:6px}.plain-options{gap:6px}.option-label .option-text{font-size:12px}.price-top strong{font-size:40px}.config-page .wrap{width:calc(100% - 32px)}}
