/* Product exploration stays progressive: the catalogue and contact work without it. */
.studio-section{background:#eee8db;border-top:1px solid #dfd6c5;border-bottom:1px solid #dfd6c5}
.studio-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:50px;align-items:start}
.studio-controls{min-width:0}.studio-controls fieldset{margin:0 0 28px;padding:0;border:0;min-width:0}
.studio-controls legend{font:1.35rem var(--serif);margin-bottom:20px}.studio-controls legend>span{font: .7rem Arial,sans-serif;display:inline-flex;justify-content:center;align-items:center;border:1px solid #a9ad9d;border-radius:50%;width:29px;height:29px;margin-right:8px;vertical-align:middle}
.studio-controls label:not(.studio-palettes label):not(.studio-extra-grid label){display:block;font-size:.85rem;margin-bottom:8px}.studio-controls label small{color:var(--muted);font-size:.75rem}
.studio-controls select,.studio-controls input[type=text],.studio-controls input[type=number]{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #a8b0a3;border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-size:1rem}
.studio-controls :is(select,input):focus-visible,.compare-pickers select:focus-visible{outline:3px solid #a85b35;outline-offset:3px}
.studio-hint{font-size:.78rem;color:var(--muted);line-height:1.55;margin-top:10px}
.studio-palettes{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.studio-palettes label{flex:1;display:flex;align-items:center;gap:7px;padding:10px 9px;border:1px solid #c4c7b9;cursor:pointer;font-size:.75rem;white-space:nowrap;background:#fcfaf56b}
.studio-palettes label:has(input:checked){outline:1px solid var(--ink);border-color:var(--ink)}.studio-palettes input{width:14px;height:14px;margin:0;accent-color:var(--ink)}.palette-dot{width:17px;height:17px;border-radius:50%;background:var(--swatch);border:1px solid #173b3633}
.studio-controls .studio-color-label{display:flex!important;align-items:center;gap:12px;font-size:.78rem!important}.studio-color-label input{width:42px;height:42px;border:1px solid #afb3a6;padding:3px;background:var(--paper);cursor:pointer}.studio-color-label>span{margin-left:auto;font-size:.68rem;color:var(--muted)}
.studio-upload{margin-top:20px}.studio-upload input{max-width:100%;width:100%;font-size:.8rem}.studio-upload input::file-selector-button{background:var(--paper);border:1px solid #a8b0a3;padding:10px 12px;color:var(--ink);cursor:pointer}.studio-upload>small{display:block;font-size:.72rem;color:var(--muted);margin-top:8px}.studio-upload>p{font-size:.75rem;overflow-wrap:anywhere;margin-top:8px}.studio-upload>button{font-size:.75rem;background:none;border:0;padding:6px 0}
.studio-controls details{border-top:1px solid #c9c5b8}.studio-controls summary{padding:20px 25px 20px 0;font-size:.95rem;cursor:pointer}.studio-controls details:last-child{border-bottom:1px solid #c9c5b8}.studio-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.studio-extra-grid label{display:flex;align-items:start;gap:8px;font-size:.8rem;padding:5px 0}.studio-extra-grid input{accent-color:var(--ink);width:17px;height:17px;margin:2px 0}.studio-extra-grid .unavailable{opacity:.5}.studio-extras>.studio-hint{margin-bottom:22px}
.studio-location-fields{display:grid;gap:8px}.studio-location-fields label{margin:10px 0 0!important}.site-check{margin:20px 0;font-size:.8rem}.site-check strong{font-weight:500}.site-check ul{padding-left:20px;margin:9px 0}.site-check p{padding:14px;background:var(--paper);font-size:.78rem;color:var(--muted)}
.studio-preview{position:sticky;top:115px;min-width:0;background:var(--paper);border:1px solid #d6cdbb;box-shadow:0 16px 40px #5b4b3110}.studio-preview-top{display:flex;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid #ded7c7;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.studio-preview-top>span:last-child{color:var(--muted)}
.studio-product-stage{position:relative;background:radial-gradient(ellipse at center,#fcfaf5 0%,#e9e2d5 100%);padding:24px 35px 35px;height:355px}.studio-product-stage img{width:100%;height:100%;object-fit:contain}.studio-product-label{position:absolute;bottom:12px;left:22px;background:#fcfaf5db;padding:5px 10px;font-size:.7rem;border:1px solid #ded7c7}
.studio-brand-board{--brand-color:#e8dfca;--brand-ink:#101c18;display:grid;grid-template-columns:1fr 135px;min-height:158px;border-top:1px solid #ded7c7}.studio-brand-sample{background:var(--brand-color);color:var(--brand-ink);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;gap:8px;transition:background .2s,color .2s}.studio-brand-sample>small{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em}.studio-brand-sample>strong{font:2rem/1.05 var(--serif);overflow-wrap:anywhere;max-width:100%}.studio-brand-sample>img{height:50px;max-width:160px;object-fit:contain}.studio-brand-sample>img:not([hidden])+strong{font-size:1rem}.studio-brand-sample>span{font-size:.55rem;letter-spacing:.18em}.studio-materials{padding:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-content:center}.studio-materials>span{height:43px;border-radius:50px 50px 0 0;border:1px solid #173b361a}.studio-materials>small{grid-column:1/-1;font-size:.62rem;color:var(--muted);margin-top:8px}#studio-main-swatch{background:var(--brand-color)}.studio-paper-swatch{background:#fcfaf5}.studio-ink-swatch{background:#173b36}
.studio-preview-note{font-size:.69rem;color:var(--muted);padding:15px 22px;border-bottom:1px solid #ded7c7;max-width:none}.studio-summary{padding:21px 22px}.studio-summary>strong{font-weight:500;font-size:.87rem}.studio-summary>p:not(.studio-hint){font-size:.78rem;margin-top:7px;line-height:1.6}.studio-summary-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:19px}.studio-summary-actions .text-link{background:none;border:0;padding:8px 0;font-size:.8rem}
.compare-tools{display:flex;align-items:center;gap:20px;margin-top:25px}.compare-tools>span{font-size:.8rem;color:var(--muted);max-width:55ch}.compare-toggle{display:block;background:none;border:0;padding:12px 0;color:var(--muted);font-size:.78rem;min-height:44px}.compare-toggle[aria-pressed=true]{color:var(--ink);font-weight:600}.compare-toggle:hover{text-decoration:underline;text-underline-offset:4px}
.compare-tray{position:fixed;bottom:20px;left:24px;z-index:9;display:flex;align-items:center;gap:16px;padding:10px 12px 10px 18px;background:var(--ink);color:var(--paper);border-radius:10px;box-shadow:0 6px 30px #173b3626;font-size:.8rem}.compare-tray button{background:none;color:inherit;border:0;padding:8px 0;min-height:36px;font:inherit}#compare-clear{font-size:1.4rem;padding:4px 8px}.no-scroll .compare-tray{visibility:hidden}
.compare-dialog{width:min(1140px,94vw);max-width:1140px;max-height:88dvh;padding:38px;border:0;background:var(--paper);color:var(--ink);overflow:auto}.compare-dialog::backdrop{background:#0a2525a8}.compare-dialog h2{font-size:2.8rem}.compare-close{position:absolute;right:18px;top:14px;width:44px;height:44px;border:0;background:none;font-size:2rem;cursor:pointer}.compare-intro{margin:20px 0;font-size:.9rem;color:var(--muted)}.compare-dialog .eyebrow{margin-right:35px;margin-bottom:18px}
.compare-pickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.compare-pickers label{display:block;font-size:.75rem;margin-bottom:7px}.compare-pickers select{width:100%;min-height:44px;background:var(--paper);color:var(--ink);border:1px solid #a8b0a3;padding:10px 7px;font:inherit;font-size:.8rem}.compare-table-scroll{overflow-x:auto;padding-bottom:5px}.compare-dialog table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:fixed;min-width:650px}.compare-dialog caption{text-align:left;font-size:.72rem;color:var(--muted);padding:5px 0 15px}.compare-dialog th,.compare-dialog td{vertical-align:top;text-align:left;padding:16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.compare-dialog thead th{background:var(--mint);font-weight:500;font-size:.95rem}.compare-dialog thead th:first-child{width:140px;background:transparent;font-size:.75rem}.compare-dialog th img{height:140px;object-fit:contain;width:100%;margin-bottom:15px}.compare-dialog tbody th{font-weight:500;font-size:.75rem}.compare-dialog .button{padding:10px 12px;font-size:.78rem;width:100%}.compare-footnote{font-size:.73rem;color:var(--muted);margin-top:20px;max-width:100ch}#compare-feedback{margin-top:12px;font-size:.8rem}
.request-context{padding:14px 16px;background:var(--paper);border-left:2px solid var(--ink);font-size:.8rem;margin-bottom:22px}
@media(max-width:1050px){.studio-layout{gap:28px;grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr)}.studio-brand-board{grid-template-columns:1fr 110px}.studio-product-stage{height:320px;padding:20px 25px 35px}.studio-preview{top:105px}}
@media(max-width:900px){.compare-tray{bottom:90px;left:12px;right:12px;justify-content:space-between}.has-comparison{padding-bottom:155px}.compare-tools{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:760px){.studio-layout{display:flex;flex-direction:column;gap:30px}.studio-controls,.studio-preview{width:100%}.studio-preview{position:static}.studio-preview-top{padding:14px 18px}.studio-product-stage{height:320px}.studio-brand-board{grid-template-columns:1fr 120px}.studio-summary-actions{gap:12px}.studio-summary-actions>.button{flex:1}.compare-dialog{padding:28px 18px}.compare-dialog h2{font-size:2.25rem}.compare-pickers{grid-template-columns:1fr;gap:9px}.compare-pickers>div{display:grid;grid-template-columns:65px 1fr;align-items:center;gap:10px}.compare-pickers label{margin:0}.compare-dialog table{min-width:640px}.compare-tray{bottom:calc(90px + env(safe-area-inset-bottom,0px))}.has-comparison{padding-bottom:calc(155px + env(safe-area-inset-bottom,0px))}}
@media(max-width:400px){.studio-palettes{gap:6px}.studio-palettes label{padding:10px 6px;gap:5px}.studio-preview-top>span:last-child{display:none}.studio-product-stage{height:290px}.studio-brand-board{grid-template-columns:1fr 95px}.studio-materials{padding:12px}.studio-summary-actions{flex-direction:column;align-items:stretch}.studio-extra-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.studio-brand-sample{transition:none}}
@media print{.compare-tray{display:none}}

.studio-jump{display:none}@media(max-width:760px){.studio-jump{display:inline-block;margin:14px 0 20px;min-height:30px}.studio-summary .studio-jump{margin-bottom:0}.studio-preview{scroll-margin-top:110px}}
