:root{--paper:#f5f1e8;--cream:#fcf9f2;--ink:#2c251e;--walnut:#3e2d25;--burgundy:#4a202b;--gold:#8e754b;--line:#d8cfbf;--muted:#71675b;--serif:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}img{display:block;max-width:100%}[hidden]{display:none!important}.skip-link{position:fixed;top:-70px;left:10px;z-index:200;background:var(--cream);padding:12px}.skip-link:focus{top:10px}.kicker{font:8px/1.6 var(--sans);letter-spacing:2px;color:var(--gold);text-transform:uppercase}.studio-header{height:80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 3.5%;border-bottom:1px solid var(--line)}.house-link{font:10px var(--sans);letter-spacing:.6px}.studio-brand{display:flex;align-items:center;gap:12px}.studio-brand>span{text-align:center;font-size:9px;letter-spacing:3px}.studio-brand strong{display:block;font-size:24px;letter-spacing:2px;font-weight:400;line-height:1.25}.studio-header-actions{justify-self:end;display:flex;align-items:center;gap:24px;font:10px var(--sans)}.studio-header-actions button{font:10px var(--sans)}.studio-title{padding:26px 3.5% 23px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.studio-title h1{font-size:34px;line-height:1.15;letter-spacing:-.5px;margin-top:5px}.studio-title>p{font-size:14px;font-style:italic;color:var(--muted)}.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:34px;padding:0 3.5% 50px;align-items:start;max-width:1800px;margin:auto}.stage-shell{position:sticky;top:16px;min-width:0}.scene-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:15px;font:7px/1.5 var(--sans);letter-spacing:1.2px}.scene-topbar button{font:10px var(--sans);padding:8px 0}.stage{position:relative;isolation:isolate;min-height:440px;height:min(59vw,620px);max-height:67vh;background:#d2c6b0;overflow:hidden;background-size:cover;background-position:center}.stage>canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.scene-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;font-size:21px;background:#eae2d5}.scene-loading small{font:11px var(--sans);color:var(--muted)}.scene-error{position:absolute;left:15px;right:15px;bottom:15px;background:#f8f3e8ec;padding:12px;font:11px/1.5 var(--sans);border:1px solid var(--line)}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px;padding:12px 0}.camera-buttons{display:flex;gap:5px}.camera-buttons button{border:1px solid var(--line);min-height:32px;min-width:32px;padding:8px 11px;font:9px var(--sans)}.camera-buttons button:hover,.camera-buttons button[aria-pressed=true]{color:var(--cream);background:var(--walnut);border-color:var(--walnut)}#quality{padding:7px 4px;background:transparent;border:1px solid var(--line);font:9px var(--sans)}.scene-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0}.scene-controls>label{display:flex;align-items:center;gap:12px;font:9px var(--sans);flex:1}.scene-controls input{min-width:70px;flex:1;accent-color:var(--burgundy)}.scene-controls output{min-width:27px}.open-presets{display:flex;gap:4px}.open-presets button{font:8px var(--sans);border:1px solid var(--line);padding:6px 8px}.lighting-options{display:flex;gap:8px}.lighting-options button{flex:1;padding:11px 7px;border:1px solid var(--line);font:9px var(--sans);white-space:nowrap}.lighting-options button[aria-pressed=true]{border-color:var(--walnut);background:var(--walnut);color:var(--cream)}.stage-caption{display:flex;justify-content:space-between;gap:15px;font:8px/1.5 var(--sans);color:var(--muted);padding-top:12px}.inspiration-note{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.inspiration-note img{width:72px;height:68px;object-fit:cover}.inspiration-note strong{display:block;font-size:16px;font-weight:400;margin-bottom:6px}.inspiration-note p>span{display:block;font:10px/1.6 var(--sans);color:var(--muted)}.configuration{border:1px solid var(--line);background:var(--cream);padding:25px;min-width:0}.config-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.config-heading h2{font-size:24px;letter-spacing:-.5px;line-height:1.2;margin-top:7px}.history-controls{display:flex}.history-controls button{font-size:24px;min-width:28px;min-height:32px;padding:3px}.configuration label{display:block;font:10px/1.5 var(--sans)}.configuration input:not([type=radio],[type=color],[type=range],[type=file]),.configuration select,.configuration textarea{display:block;width:100%;min-width:0;padding:11px 10px;margin-top:7px;border:1px solid #c9bdab;background:transparent;border-radius:0;font:13px/1.4 var(--sans)}.configuration input[type=range]{accent-color:var(--burgundy)}.configuration textarea{resize:vertical}.design-name-label{margin-top:23px}.configuration .design-name-label input{border-width:0 0 1px;padding:9px 0;font:18px var(--serif)}.design-reference{font:7px var(--sans);letter-spacing:1px;color:var(--muted);margin:13px 0 22px}.design-reference span{color:var(--burgundy);margin-left:7px}.config-section{border-top:1px solid var(--line)}.config-section summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;padding:19px 0;font-size:18px}.config-section summary::-webkit-details-marker{display:none}.config-section summary>span:first-child{font:8px var(--sans);color:var(--gold)}.config-section summary>span:last-child{margin-left:auto;font:15px var(--sans)}.config-section[open] summary>span:last-child{transform:rotate(45deg)}.section-content{padding-bottom:22px}.unit-switch{display:flex;margin-bottom:17px;border:1px solid var(--line);width:max-content}.unit-switch button{font:9px var(--sans);padding:8px 12px}.unit-switch button[aria-pressed=true]{background:var(--walnut);color:white}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:14px}.field-row label>span{color:var(--gold);font-size:9px}.field-row small{display:block;font:9px var(--sans);margin-top:6px;color:var(--muted)}.hint{font:10px/1.65 var(--sans);color:var(--muted);margin-top:12px}.validation-message{font:10px/1.6 var(--sans);color:#903328;margin-top:10px}.inline-link{font:9px/1.5 var(--sans);padding:9px 0;text-decoration:underline;text-underline-offset:4px;text-align:left}.outlined-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;font:9px/1.4 var(--sans);letter-spacing:.5px;border:1px solid #bba78a;min-height:40px;text-align:center}.outlined-button:hover{background:#eee5d6}.primary-button{background:var(--burgundy);border-color:var(--burgundy);color:var(--cream)}.wide{width:100%}.material-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.material-options label{position:relative;border:1px solid var(--line);padding:8px;cursor:pointer}.material-options label:has(input:checked){outline:1px solid var(--burgundy);border-color:var(--burgundy)}.material-options input{position:absolute;left:8px;top:8px;accent-color:var(--burgundy);z-index:1;width:11px;height:11px}.material-swatch{display:block;width:100%;height:59px;background-color:#dfd1b7;margin-bottom:9px;background-image:repeating-linear-gradient(0deg,#a9987933 0,#a9987933 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,transparent 0,transparent 2px,#fff6 2px,#fff6 3px)}.material-wool{background-color:#c6bba8;background-size:3px 4px}.material-plant{background-color:#eadcc2;background-size:2px 2px}.material-options strong{font:11px var(--serif);display:block}.material-options small{display:block;font:7px/1.5 var(--sans);color:var(--muted);margin-top:4px}.material-options .blend-option{grid-column:1/-1;padding:12px 12px 12px 29px}.blend-option input{top:14px}.opacity-label{margin-top:20px}.opacity-label output{float:right;color:var(--gold)}.opacity-label input{display:block;width:100%;margin-top:9px}.stripe-list{display:grid;gap:10px;margin:17px 0 12px}.stripe-row{border:1px solid var(--line);padding:11px;background:#f5f0e7}.stripe-row-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.stripe-row-header strong{font:9px var(--sans);font-weight:400}.stripe-row-actions{display:flex}.stripe-row-actions button{height:28px;min-width:25px;padding:3px;font:14px var(--sans)}.stripe-fields{display:grid;grid-template-columns:36px 1fr 1fr;gap:9px;align-items:end}.stripe-fields input[type=color]{width:36px;height:38px;border:1px solid #c4b7a1;padding:2px;background:transparent;cursor:pointer}.stripe-fields label{font-size:8px}.configuration .stripe-fields input:not([type=color]){font-size:11px;padding:10px 7px;margin-top:5px}.stripe-palette{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.stripe-palette button{width:15px;height:15px;border-radius:50%;border:1px solid #65574440}.stripe-validation{padding:12px;background:#e9e2d6;font:10px/1.6 var(--sans);margin-top:15px;border-left:2px solid #9b8a6c}.stripe-validation.is-error{border-left-color:#903328;color:#79372d;background:#f0e2d8}.remainder-actions{display:grid;gap:7px;margin-top:10px}.remainder-actions button[aria-pressed=true]{border-color:var(--burgundy);background:#e9ddda}#remainder-color-label{margin-top:10px}#remainder-color{display:block;margin-top:6px;width:50px;height:34px}.palette-tools{margin-top:16px}.mount-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mount-choice{border:1px solid var(--line);position:relative;padding:12px 7px 8px;text-align:center;cursor:pointer}.mount-choice:has(input:checked){outline:1px solid var(--burgundy)}.mount-choice input{position:absolute;top:6px;left:6px;accent-color:var(--burgundy);width:10px;height:10px}.mount-choice svg{display:block;width:58px;height:37px;margin:0 auto 8px;stroke:var(--gold);fill:none;stroke-width:1.2}.mount-choice strong{font:10px var(--serif)}.section-content>label+label{margin-top:16px}.estimate-card{padding:23px 20px;background:#eae1d2;margin:10px -5px 0}.estimate-card h2{display:flex;align-items:baseline;gap:10px;font-size:38px;line-height:1.2;margin-top:10px}.estimate-card h2 small{font:9px var(--sans);letter-spacing:1px;color:var(--muted)}.estimate-card dl{margin:20px 0 0;font:10px/1.5 var(--sans)}.estimate-card dl>div{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.estimate-card dt{color:var(--muted)}.estimate-card dd{margin:0;text-align:right}.estimate-actions{display:grid;gap:8px;margin-top:19px}.design-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}.design-actions>button,.design-actions>label{font-size:8px}.import-button{position:relative;cursor:pointer}.import-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}#studio-message{font:11px/1.5 var(--sans);color:var(--burgundy);margin-top:15px}.studio-footnote{font:8px/1.7 var(--sans);color:var(--muted);margin-top:18px}#share-output{margin-top:15px}.technical-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#d5cabb}.technical-fallback canvas{max-width:90%;max-height:85%;width:auto;height:auto}.technical-label{position:absolute;top:15px;left:15px;right:15px;font:9px var(--sans);letter-spacing:1px;text-align:center}dialog{position:fixed;margin:auto;width:min(600px,calc(100% - 28px));max-height:88dvh;border:1px solid var(--line);padding:25px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#21170faa;backdrop-filter:blur(3px)}dialog>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}dialog>header button{font-size:25px;min-width:36px;min-height:36px}dialog h2{font-size:33px;margin-bottom:15px}dialog p{font:13px/1.7 var(--sans);color:var(--muted);margin:12px 0}dialog svg.measure-diagram{width:100%;height:220px;stroke:#78664c;fill:none}.saved-item{border-top:1px solid var(--line);padding:17px 0}.saved-item h3{font-size:22px}.saved-item p{font-size:10px;margin:7px 0}.saved-swatches{display:flex;height:18px;margin-top:10px}.saved-swatches span{flex:1}.saved-buttons{display:flex;gap:8px;margin-top:12px}.saved-buttons button{font-size:9px}.delete-saved{margin-left:auto;color:#843d30}.measure-list{font:12px/1.8 var(--sans);padding-left:20px}.quote-links{display:grid;gap:9px;margin-top:20px}
@media(min-width:1550px){.studio-layout{grid-template-columns:minmax(0,1fr) 440px;gap:45px}.configuration{padding:30px}.stage{height:660px}.studio-title h1{font-size:40px}}
@media(max-width:1050px){.studio-layout{grid-template-columns:minmax(0,1fr) 335px;gap:22px;padding-inline:2.5%}.configuration{padding:19px}.stage{min-height:410px;max-height:61vh}.studio-title h1{font-size:29px}.studio-title>p{font-size:12px}.camera-buttons{gap:3px}.camera-buttons button{padding:7px 8px}.lighting-options{gap:5px}.lighting-options button{font-size:8px;padding-inline:5px}.scene-topbar{font-size:6px;letter-spacing:.8px}.scene-topbar button{font-size:8px}.stage-caption{display:block}.stage-caption>span:last-child{display:block;margin-top:5px}}
@media(max-width:780px){.studio-header{height:68px;padding:10px 5%}.studio-brand strong{font-size:21px}.studio-brand>span{font-size:7px}.studio-brand img{width:23px;height:23px}.house-link span{display:none}.studio-header-actions{gap:12px;font-size:9px}.studio-header-actions button{font-size:9px}.studio-title{padding:21px 5%;display:block}.studio-title h1{font-size:31px}.studio-title>p{margin-top:9px;font-size:12px}.studio-layout{display:block;padding:0 0 35px}.stage-shell{top:0;z-index:20;background:var(--paper);position:sticky;padding:8px 4% 10px;border-bottom:1px solid var(--line);box-shadow:0 3px 12px #3826190d}.stage{height:43svh;min-height:290px;max-height:430px}.scene-topbar{font-size:6px;margin-bottom:7px}.stage-toolbar{padding:8px 0}.camera-buttons button{font-size:8px;min-height:29px;min-width:29px}.scene-controls{padding:8px 0;gap:12px}.scene-controls>label{font-size:8px;gap:8px}.open-presets button{font-size:7px;padding:5px 7px}.lighting-options button{padding:8px 5px;font-size:8px}.stage-caption,.inspiration-note{display:none}.configuration{border:0;padding:26px 6%;max-width:600px;margin:auto;background:var(--paper)}.config-heading h2{font-size:28px}.configuration label{font-size:11px}.configuration input:not([type=radio],[type=color],[type=range],[type=file]),.configuration select,.configuration textarea{font-size:16px;min-height:43px}.configuration .stripe-fields input:not([type=color]){font-size:16px;padding:9px 7px}.stripe-fields label{font-size:9px}.stripe-palette button{width:19px;height:19px}.stripe-palette{gap:7px}.stripe-row-actions button{min-width:31px;min-height:31px}.stripe-fields{grid-template-columns:40px 1fr 1fr}.stripe-fields input[type=color]{width:40px;height:43px}.material-swatch{height:72px}.material-options strong{font-size:12px}.material-options small{font-size:8px}.hint{font-size:11px}.outlined-button,.primary-button{font-size:10px;min-height:44px}.config-section summary{font-size:21px}.estimate-card{margin-inline:0;padding:25px}.design-actions>button,.design-actions>label{font-size:9px}.studio-footnote{font-size:9px}.mount-choice{padding:15px 8px}.mount-choice strong{font-size:12px}.mount-choice input{width:13px;height:13px}.unit-switch button{font-size:10px;padding:10px 13px}.stripe-validation{font-size:11px}}
@media(max-width:380px){.studio-header{padding-inline:4%}.studio-brand{gap:6px}.studio-header-actions{gap:7px}.studio-header-actions button{font-size:8px}.studio-brand strong{font-size:18px}.studio-title h1{font-size:28px}.stage{height:37svh;min-height:250px}.lighting-options button{font-size:7px}.stage-toolbar{gap:6px}.camera-buttons{gap:2px}.camera-buttons button{padding:6px;min-width:26px}.scene-controls{gap:8px}.open-presets button{padding:5px}.configuration{padding-inline:5%}}
@media(max-height:650px) and (max-width:780px){.stage-shell{position:relative}.stage{height:360px;max-height:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:780px){.studio-page:has(.configuration input:focus,.configuration textarea:focus) .stage{height:25svh;min-height:190px}.studio-page:has(.configuration input:focus,.configuration textarea:focus) .scene-controls,.studio-page:has(.configuration input:focus,.configuration textarea:focus) .lighting-options{display:none}}
