:root{--paper:#f5f2eb;--surface:#fffdf9;--ink:#323233;--muted:#626058;--line:#d2ccc1;--taupe:#e7e0d4;--error:#9a302a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}::selection{background:var(--taupe);color:var(--ink)}button,input,select{font:inherit;color:inherit;accent-color:var(--ink)}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:3px}a{color:inherit;text-underline-offset:4px}header{max-width:1440px;margin:auto;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand img{width:132px;height:78px;object-fit:contain;display:block}.prototype{font-size:12px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:40px 48px}.intro h1{font:40px/1.15 Georgia,serif;margin:0 0 12px;letter-spacing:-.02em}.intro p{color:var(--muted);margin:0}#steps{display:flex;margin:32px 0;gap:8px;border-bottom:1px solid var(--line)}#steps button{flex:1;border:0;background:none;padding:16px 8px;color:var(--muted);border-bottom:3px solid transparent;font-size:14px;text-align:left}#steps button[aria-current=step]{color:var(--ink);border-bottom-color:var(--ink);font-weight:bold}.step-num{margin-right:10px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}.editor{min-width:0}h2{font:29px/1.2 Georgia,serif;margin:0 0 12px}h3,legend{font-size:16px;font-weight:600;margin:0 0 12px}.lead{color:var(--muted);margin:0 0 28px;max-width:65ch}fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}legend{padding:0}.options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;padding:12px;min-width:0;display:block;cursor:pointer}.choice:hover{border-color:var(--muted)}.choice:has(input:checked){border:2px solid var(--ink);padding:11px;background:#eeebe3}.choice:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px}.choice input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}.choice strong{font-size:14px;display:block;font-weight:600}.choice small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:5px}.choice img{width:100%;height:106px;object-fit:cover;border-radius:6px;margin-bottom:9px;display:block}.choice img.contain{object-fit:contain;background:#f1eee8}.swatches{grid-template-columns:repeat(4,minmax(0,1fr))}.swatch{display:block;width:100%;height:48px;border-radius:6px;margin-bottom:8px;border:1px solid #0002}.swatches .choice{padding:8px}.swatches .choice:has(input:checked){padding:7px}.swatches strong{font-size:12px}.note{font-size:13px;color:var(--muted);margin:12px 0 0}.primary,.secondary{border:1px solid var(--ink);padding:13px 20px;border-radius:8px;font-weight:600;font-size:14px;min-height:48px}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:#4a4945}.secondary{background:transparent}.secondary:hover{background:var(--taupe)}.navigation{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}aside{position:sticky;top:24px}.preview{overflow:hidden;border-radius:16px;background:var(--taupe)}.preview-top{padding:14px 18px;display:flex;justify-content:space-between;font-size:12px;gap:12px}.preview-top span:first-child{font-weight:bold}#kitchen{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:#ded7ca}#preview-caption{padding:0 18px 18px;margin:12px 0 0;font-size:12px;color:#565248}#preview-controls{display:flex;gap:10px;padding:0 18px}#preview-controls:not(:empty){padding-top:14px}#preview-controls button{font-size:12px;min-height:40px;padding:8px 12px}.estimate{padding-top:26px}.estimate-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.estimate h2{font:17px Arial,sans-serif;font-weight:600;margin:0}.estimate-heading span{font-size:12px;white-space:nowrap;color:var(--muted)}#range{font:38px/1.3 Georgia,serif;margin-top:10px;font-variant-numeric:tabular-nums}#size-caption{font-size:12px;color:var(--muted);margin:4px 0 18px}.line{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.line span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.small,.privacy{font-size:12px;color:var(--muted)}.privacy{margin-top:20px}.upload{border:1px dashed #8b857b;border-radius:12px;padding:28px;background:var(--surface);margin:20px 0}.upload h3{font:24px Georgia,serif}.upload input{max-width:100%;font-size:13px;display:block;margin:20px 0 12px}.upload input::file-selector-button{background:var(--ink);color:var(--paper);padding:12px;border:0;border-radius:6px;margin-right:10px;cursor:pointer}.text-button{border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px}.tips{padding-left:20px;color:var(--muted);font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.fields label{font-size:14px}.fields input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #938c80;border-radius:6px;background:var(--surface);min-height:48px}.fields input:user-invalid{border-color:var(--error)}.summary{margin:24px 0}.summary div{border-bottom:1px solid var(--line);padding:12px 0}.summary dt{font-size:12px;color:var(--muted)}.summary dd{margin:4px 0 0;font-size:15px}.callout{background:var(--taupe);border-radius:12px;padding:20px;font-size:14px;margin:24px 0}.callout h3{margin-bottom:8px}.callout p{margin:0 0 10px}.check{display:flex;gap:10px;align-items:start;font-size:14px}.check input{width:18px;height:18px;flex-shrink:0}.error{color:var(--error);font-size:14px}.actions{display:flex;gap:12px;flex-wrap:wrap}#status{font-size:14px;margin-top:20px;color:var(--ink)}footer{border-top:1px solid var(--line);max-width:1344px;margin:32px auto 0;padding:28px 24px 48px;font-size:14px}footer span{font-size:12px;color:var(--muted)}@media(max-width:1050px){.workspace{gap:28px}.options{gap:8px}.swatches{grid-template-columns:repeat(3,1fr)}header,main{padding-left:28px;padding-right:28px}}@media(max-width:900px){.workspace{grid-template-columns:1fr}aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px}.estimate{padding:0}.privacy{grid-column:1/-1}.intro h1{font-size:34px}.choice img{height:130px}}@media(max-width:600px){header{padding:14px 20px}.brand img{width:104px;height:60px}.prototype{max-width:115px;text-align:right;font-size:12px}main{padding:28px 20px}.intro h1{font-size:32px}#steps{gap:0;margin:22px 0}#steps button{text-align:center;font-size:12px;padding:12px 2px}.step-num{display:block;margin:0 0 4px}h2{font-size:26px}.options{gap:8px}.choice{padding:9px}.choice:has(input:checked){padding:8px}.choice strong{font-size:12px}.choice img{height:88px}.swatches{grid-template-columns:repeat(3,1fr)}aside{display:block}.estimate{padding-top:24px}.workspace{gap:32px}.upload{padding:20px}.fields{gap:12px}.navigation button{padding:12px 14px}#range{font-size:34px}}@media(prefers-reduced-motion:no-preference){button,.choice{transition:background-color .15s ease,border-color .15s ease}}@media print{header,#steps,.navigation,.upload,.actions,#status,footer{display:none}aside{position:static}.workspace{display:block}.preview{max-width:600px}.prototype{display:block}}
/* Guided mobile flow: one decision per screen. */
main{max-width:1200px;padding-top:24px}.intro h1{font-size:32px}.intro p{font-size:15px}header{max-width:1200px;padding-top:14px;padding-bottom:14px}.brand img{height:60px;width:110px}#steps{display:block;border:0;margin:24px 0 28px;max-width:620px}.progress-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}progress{display:block;width:100%;height:4px;border:0;background:var(--taupe);accent-color:var(--ink)}progress::-webkit-progress-bar{background:var(--taupe)}progress::-webkit-progress-value{background:var(--ink)}progress::-moz-progress-bar{background:var(--ink)}.workspace{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px}#panel h2{font-size:30px}.choice{min-height:60px}.choice img{height:145px}.choice strong{font-size:15px}.choice small{font-size:13px}.swatch{height:70px}.swatches strong{font-size:13px}.navigation{flex-wrap:wrap;align-items:center}.running{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.running strong{font-size:20px;font-variant-numeric:tabular-nums}.running span{color:var(--muted)}#details-toggle{display:none}.estimate-heading{flex-wrap:wrap}.estimate-heading span{font-size:12px}.navigation .primary{flex:1}.navigation .secondary{min-width:88px}#status:empty{display:none}body[data-step="8"] .running{display:none}
@media(max-width:900px){main{max-width:620px;padding:24px 24px 160px}.workspace{display:block}header{padding:12px 24px}.intro h1{font-size:29px}.intro p{font-size:14px}#panel h2{font-size:28px}.lead{font-size:15px;margin-bottom:22px}.navigation{position:fixed;bottom:0;left:0;right:0;background:var(--paper);z-index:10;padding:12px max(20px,calc((100vw - 572px)/2)) max(14px,env(safe-area-inset-bottom));gap:10px;margin:0;border-top:1px solid var(--line)}.navigation button{min-height:50px}.running{margin-bottom:2px}.running strong{font-size:21px}aside{display:none;scroll-margin-top:20px;margin-top:24px}.show-detail aside,body[data-step="8"] aside{display:block}#details-toggle{display:block;width:100%;margin-top:24px;min-height:48px}#details-toggle[hidden]{display:none}#steps{margin:20px 0 24px}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice img{height:140px}.choice{padding:12px}.choice:has(input:checked){padding:11px}.choice strong{font-size:15px}.choice small{font-size:13px}.swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.swatches .choice strong{font-size:13px}.swatch{height:64px}.estimate{padding-top:24px}footer{display:none}body[data-step="1"] .options{grid-template-columns:1fr}body[data-step="1"] .choice{display:grid;grid-template-columns:100px 1fr;column-gap:16px;align-items:center}body[data-step="1"] .choice img{grid-row:1/3;width:100px;height:90px;margin:0}body[data-step="1"] .choice strong{align-self:end}body[data-step="1"] .choice small{align-self:start}body[data-step="8"] .navigation{position:static;padding:20px 0 0}body[data-step="8"] main{padding-bottom:32px}.preview-top{font-size:13px}.privacy,.note,.small,#preview-caption{font-size:13px}#status{position:relative;margin-top:16px;font-size:13px}.upload{padding:20px}.fields input{font-size:16px}}
@media print{.navigation,#details-toggle{display:none}aside{display:block}main{padding:0}}
@media(max-width:900px){body:not([data-step="0"]) .intro{display:none}body:not([data-step="0"]) #steps{margin-top:0}.choice{scroll-margin-bottom:160px}}
.selected-colour{font-size:14px;margin:0 0 24px}.more-colours{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 28px}.more-colours summary{cursor:pointer;min-height:52px;padding:16px 0;font-weight:600;font-size:15px}.more-colours summary span{font-weight:400;font-size:12px;color:var(--muted);margin-left:8px}.more-colours>div{padding-top:12px}.more-colours summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.contact-fields{margin-bottom:24px}.contact-fields input{font-size:16px}.preview:has(#kitchen[hidden]){min-height:120px}.actions #show-kitchen{width:100%;min-height:58px;font-size:16px}#generation-message{font-size:14px;line-height:1.6}
body[data-step="-1"] .workspace{display:block;max-width:680px;margin:auto}body[data-step="-1"] aside,body[data-step="-1"] .running{display:none}body[data-step="-1"] #steps{max-width:680px;margin-left:auto;margin-right:auto}body[data-step="-1"] .intro{display:none}.contact-fields .wide{grid-column:1/-1}.contact-fields input{width:100%;background:var(--surface)}body[data-step="-1"] .navigation{justify-content:flex-end}body[data-step="-1"] #back{display:none}#contact-form .error{margin-bottom:16px}@media(max-width:900px){body[data-step="-1"] main{padding-bottom:100px}body[data-step="-1"] .navigation{padding-top:12px}.contact-fields{gap:18px 12px}.contact-fields label{font-size:14px}}

.callback-page main{max-width:720px;padding:40px 24px}.callback-logo{width:120px;height:72px;object-fit:contain;margin-bottom:24px}.callback-page h1{font:32px/1.2 Georgia,serif}.callback-page h2{margin-top:36px}.callback-page .fields{display:block}.callback-page label{display:block}.callback-page .primary{width:100%}

.result-next{margin-top:32px;padding:28px 0;border-top:1px solid var(--line)}.result-next h2{font:28px/1.2 Georgia,serif;margin:0 0 16px}.result-next p{line-height:1.6}.next-cta{display:block;width:100%;box-sizing:border-box;text-align:center;text-decoration:none;min-height:52px;padding:16px;margin:24px 0 14px}.phone-cta{display:block;text-align:center;padding:12px;color:var(--ink);text-underline-offset:4px}#result-next[hidden]{display:none}.choice img{background:var(--surface)}

.result-next label{display:block}.result-next input{display:block;box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-top:8px}

.generation-progress{height:7px;overflow:hidden;border-radius:4px;background:#ded9cf;margin:22px 0 12px}.generation-progress span{display:block;width:36%;height:100%;border-radius:inherit;background:#93611e;animation:kitchen-processing 1.7s linear infinite}@keyframes kitchen-processing{from{transform:translateX(-110%)}to{transform:translateX(290%)}}@media(prefers-reduced-motion:reduce){.generation-progress span{animation:none;transform:translateX(90%)}}#generation-message:empty{display:none}

/* Supplier catalogue keeps the existing card rhythm and touch targets. */
.handle-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 12px}
.handle-filters label,.handle-size{display:grid;gap:8px;font-weight:600}
.handle-filters input,.handle-filters select,.handle-size select{width:100%;min-height:48px;padding:12px;border:1px solid var(--line,#d2ccc1);border-radius:8px;background:#fff;color:inherit;font:inherit}
.handle-filters input:focus-visible,.handle-filters select:focus-visible,.handle-size select:focus-visible{outline:2px solid #323233;outline-offset:3px}
#handle-results .choice[hidden]{display:none}
#handle-results .choice img,.handle-preview img{object-fit:contain;background:#fff}
#handle-results .choice strong{font-size:16px;line-height:1.4}
.handle-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;margin:24px 0}
.handle-preview img{width:100%;height:auto;aspect-ratio:4/3;border-radius:12px}
.handle-preview strong{font-size:22px}.handle-preview p{overflow-wrap:anywhere}.handle-preview a{color:inherit;text-underline-offset:3px}
.handle-size{margin:24px 0;max-width:440px}
@media(max-width:600px){.handle-filters{grid-template-columns:1fr}.handle-preview{grid-template-columns:1fr;gap:12px}.handle-preview img{max-height:240px}}

.handle-continue{margin:0 0 24px;min-height:48px}
@media(max-width:900px){.handle-continue{display:none}}
