@font-face{font-family:Inter;src:url('../fonts/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#2b2b27;background:#f7f4ef;font-synthesis:none;--paper:#f7f4ef;--muted:#87847d;--line:#ded9d0;--selected:#53594b}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #a7734a;outline-offset:4px}button:disabled{cursor:wait;opacity:.5}[hidden],.symbols{display:none!important}
.configurator{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:100svh;min-height:650px;overflow:hidden}
.scene{position:relative;min-width:0;overflow:hidden;background:#313632;color:#f5f3ee;isolation:isolate}
#sofa-canvas{display:block;width:100%;height:100%}
.scene-header{position:absolute;top:28px;left:34px;right:30px;display:flex;justify-content:space-between;align-items:center}
.wordmark img{display:block;width:152px;height:auto}.scene[data-light=true]{color:#302e28}.scene[data-light=true] .wordmark img{filter:brightness(0)}
.close-studio{display:grid;place-items:center;width:44px;height:44px;border:1px solid #f5efe488;background:#f5efe4ce;color:#3c3d35;border-radius:50%;transition:background .2s,box-shadow .2s}.close-studio:hover{background:#fffaf1;box-shadow:0 2px 12px #0002}.close-studio svg{width:19px;height:19px}
.scene-heading{position:absolute;top:125px;left:36px}.back-link{display:inline-flex;align-items:center;gap:4px;min-height:38px;font-size:12px;opacity:.85}.back-link svg{width:15px;height:15px}.back-link:hover{text-decoration:underline}.scene-heading h1{font-size:25px;line-height:1.3;font-weight:500;letter-spacing:-.04em;margin:12px 0 6px}.scene-heading p{font-size:12px;margin:0;opacity:.7}
.scene:not([data-light=true]) .scene-heading{text-shadow:0 1px 3px #000b}
.scene-caption{position:absolute;bottom:27px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.03em}.scene-caption span:last-child{opacity:.7}
.texture-detail{position:absolute;right:28px;bottom:20px;display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border-radius:22px;background:#f7f4efed;border:1px solid #ffffff80;color:#36372f;font-size:11px;box-shadow:0 2px 12px #0001}.texture-detail svg{width:17px;height:17px}.texture-detail[aria-pressed=true]{background:#343d32;color:#fff}.texture-detail:hover{box-shadow:0 2px 18px #0003}
.load-status{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;background:#29312de8;color:#fff;font-size:13px;z-index:2;padding:25px;text-align:center}.load-status button{border:1px solid #d9dbd2;padding:12px 22px;color:white;border-radius:6px}
.control-panel{display:flex;flex-direction:column;padding:44px 28px 20px;background:var(--paper);z-index:3;min-height:0;box-shadow:-8px 0 32px #0000000a}.control-panel h2{font-size:32px;letter-spacing:-.045em;line-height:1.2;font-weight:400;margin:6px 0 28px}.sheet-handle{display:none}
.control-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e4dfd7;border-radius:14px;margin-bottom:28px;padding:3px;gap:3px;flex-shrink:0}.control-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:13px 5px;border-radius:11px;min-height:80px;font-size:11px;transition:background .2s,box-shadow .2s}.control-tabs button[aria-selected=true]{background:#fffdfa;box-shadow:0 1px 6px #42372318,0 0 0 1px #e4dfd7}.control-tabs button:hover{background:#ffffff8f}.control-tabs svg{width:25px;height:25px}
.models{display:grid;gap:12px}.models button{display:grid;grid-template-columns:124px 1fr;align-items:center;gap:16px;text-align:left;padding:17px 12px;border:1px solid var(--line);border-radius:12px;background:#fff9;transition:border-color .2s,background .2s}.models button[aria-pressed=true]{border-color:#53594b;background:#edece5}.models button:hover{background:#fffdfa}.models img{display:block;width:100%;height:68px;object-fit:contain}.models strong{display:block;font-size:14px;font-weight:500;letter-spacing:.03em}.models small{display:block;margin-top:7px;font-size:11px;color:var(--muted);line-height:1.4}
#control-content{display:flex;flex-direction:column;min-height:0;flex:1}.panel-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c6beb2 transparent;padding:3px 5px 14px;margin-inline:-5px}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}.panel-heading h3{font-size:14px;font-weight:500;margin:0}.panel-heading>span{font-size:11px;color:var(--muted)}
/* Photographed collections: each colour stays inside its material category. */
.material-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}.material-types button{padding:0;text-align:center;font-size:11px}.material-types img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:9px;margin-bottom:9px;outline:1px solid var(--line);outline-offset:3px}.material-types button[aria-pressed=true] img{outline:2px solid var(--selected)}
.collection-label,.search-label{display:block;font-size:11px;font-weight:500;margin:16px 0 8px}.collection-select,.sample-search{font:inherit;font-size:13px;color:inherit;background:#fffdfa;border:1px solid #d6d0c5;border-radius:9px;width:100%;min-height:44px;padding:11px 12px}.collection-select{padding-right:26px}.selected-sample{display:flex;align-items:center;gap:18px;margin:24px 0 15px}.selected-sample img{width:108px;height:108px;object-fit:cover;border-radius:10px}.selected-sample span,.selected-sample strong,.selected-sample small{display:block}.selected-sample span{font-size:11px;color:var(--muted);margin-bottom:8px}.selected-sample strong{font-size:17px;font-weight:500}.selected-sample small{font-size:11px;color:var(--muted);margin-top:8px}
.section-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;border-top:1px solid var(--line);font-size:14px}.section-link svg{width:16px;height:16px}.sample-sheet{display:inline-block;font-size:11px;color:#64645a;text-decoration:underline;text-underline-offset:4px;padding:8px 0;min-height:36px}.clearance-note{font-size:11px;line-height:1.5;color:#87542c}.colour-material-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#575e50}.colour-material-row button{font-size:11px;text-decoration:underline;text-underline-offset:3px;min-height:32px}.sample-count{font-size:11px;color:var(--muted);margin:14px 0}.swatch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 13px;padding:4px}.swatch-grid button{padding:0;text-align:left;min-width:0}.swatch-grid img{display:block;width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:9px;outline:1px solid var(--line);outline-offset:3px;margin-bottom:10px}.swatch-grid button[aria-pressed=true] img{outline:2px solid var(--selected)}.swatch-grid span{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.swatch-grid small{display:block;font-size:9px;color:var(--muted);line-height:1.4;margin-top:4px}.swatch-grid button:hover img{outline-color:#a7734a}#sample-empty{font-size:12px;color:var(--muted);line-height:1.6}
.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding:4px}.room-grid button{padding:0;text-align:left;min-width:0;font-size:11px}.room-grid img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:7px;outline:1px solid #ded9d0;outline-offset:3px;margin-bottom:10px;transition:outline-color .15s}.room-grid button[aria-pressed=true] img{outline:1.5px solid #343d30}.room-grid button:hover img{outline-color:#8b7c68}
.selection-summary{display:flex;align-items:center;gap:18px;padding:22px 0 15px;border-top:1px solid var(--line);margin-top:12px;flex-shrink:0}.selection-summary canvas{width:98px;height:auto}.selection-summary strong{font-size:13px;font-weight:500}.selection-summary p{font-size:11px;color:var(--muted);margin:8px 0 0}.preview-note{font-size:10px;color:#8e8980;line-height:1.6;margin:3px 0 0}.noscript{position:fixed;inset:0;display:grid;place-content:center;background:var(--paper);z-index:20;padding:30px}.noscript a{text-decoration:underline;margin-top:16px}
@media(min-width:1500px){.configurator{grid-template-columns:minmax(0,1fr) 430px}.control-panel{padding-inline:36px}.control-panel h2{font-size:36px}}
@media(max-width:950px) and (min-width:701px){.configurator{grid-template-columns:minmax(0,1fr) 330px}.control-panel{padding:28px 20px 16px}.scene-header{left:24px;right:20px}.scene-heading{left:24px;top:112px}.scene-caption{left:24px;right:24px}.scene-caption span:last-child{display:none}.wordmark img{width:132px}.control-tabs{margin-bottom:20px}}
@media(max-width:700px){
  .configurator{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;min-height:600px;height:100svh}
  .scene{margin-bottom:-24px}.scene-header{top:max(22px,env(safe-area-inset-top));left:24px;right:22px}.wordmark img{width:124px}.close-studio{width:40px;height:40px}.close-studio svg{width:17px;height:17px}.scene-heading{top:100px;left:25px}.scene-heading h1{font-size:21px;margin-top:4px}.scene-heading p{font-size:10px;margin:0}.back-link{font-size:10px;min-height:32px}.scene-caption{left:25px;right:25px;bottom:38px;font-size:10px}.scene-caption span:last-child{display:none}
  .control-panel{padding:0 20px max(12px,env(safe-area-inset-bottom));border-radius:25px 25px 0 0;box-shadow:0 -5px 24px #00000012;max-height:50svh;min-height:0}
  .control-panel h2{display:none}.sheet-handle{display:grid;place-items:center;width:100%;min-height:23px;padding:8px}.sheet-handle span{display:block;width:36px;height:4px;border-radius:5px;background:#a49e94}
  .control-tabs{margin:0 0 15px;border-radius:13px;padding:2px;gap:2px}.control-tabs button{min-height:55px;padding:7px 4px;gap:5px;font-size:10px;border-radius:10px}.control-tabs svg{width:22px;height:22px}
  .panel-body{height:220px;flex:none;padding:3px 5px 8px}.panel-heading{margin-bottom:14px}.panel-heading h3{font-size:13px}.section-link{padding:14px 0;font-size:12px}.room-grid{gap:12px}.room-grid img{height:62px;aspect-ratio:auto;margin-bottom:6px}.room-grid button{font-size:10px}
  .selection-summary{margin-top:8px;padding:11px 0 5px;gap:16px}.selection-summary canvas{width:70px}.selection-summary strong{font-size:11px}.selection-summary p{font-size:10px;margin-top:4px}.preview-note{font-size:8px;margin-top:5px}.control-panel.collapsed #control-content{display:none}.control-panel.collapsed .control-tabs{margin-bottom:0}.control-panel.collapsed{padding-bottom:max(15px,env(safe-area-inset-bottom))}
  
  .texture-detail{right:19px;bottom:30px;min-height:34px;padding:6px 11px;font-size:10px}.texture-detail svg{width:15px;height:15px}
  .models{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.models button{display:flex;flex-direction:column;gap:8px;padding:10px 5px;border-radius:9px;text-align:center;min-width:0}.models img{height:45px}.models strong{font-size:12px}.models small{margin-top:4px;min-height:25px;font-size:9px}
}
@media(max-height:740px) and (max-width:700px){.scene-heading{top:82px}.scene-heading p,.scene-caption{display:none}.panel-body{height:153px}.selection-summary{padding-top:8px}.preview-note{font-size:8px}.control-panel{max-height:51svh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:700px){.material-types{gap:12px;margin:3px 0 16px}.material-types img{max-height:60px;aspect-ratio:1.1;object-fit:cover}.collection-label,.search-label{margin-top:12px}.collection-select,.sample-search{font-size:12px;min-height:42px}.selected-sample{margin:16px 0;gap:14px}.selected-sample img{width:80px;height:80px}.selected-sample strong{font-size:14px}.swatch-grid{gap:16px 12px}.swatch-grid img{max-height:95px;object-fit:cover}.swatch-grid span{font-size:10px}.panel-body{flex:1 1 auto;min-height:60px}.selection-summary{min-width:0}.selection-summary>div{min-width:0}.selection-summary p{overflow-wrap:anywhere}}
