/* Template: kitchen & furniture showroom. Mood: editorial architecture studio. Stone, charcoal, oak. */
:root{
  --font-head:"Manrope",system-ui,sans-serif; --font-body:"Manrope",system-ui,sans-serif;
  --bg:#EFECE6; --surface:#F8F6F2; --surface-2:#E4DFD6; --text:#1B1A18; --muted:#5F5A52; --line:#CFC8BC;
  --brand:#1B1A18; --brand-ink:#F8F6F2; --accent:#7A5232; --oak:#B4875A;
  --radius:0px; --radius-sm:0px; --head-weight:800; --head-tracking:-.045em;
  --shadow:0 30px 60px -30px rgba(27,26,24,.35);
}
body{font-weight:450}
.eyebrow{font:700 .72rem var(--font-body);letter-spacing:.2em;color:var(--accent)}
.btn{border-radius:0;font-weight:700;letter-spacing:.02em;padding:1em 1.6em}
.btn svg{width:1.1em;height:1.1em}
.btn--oak{background:var(--oak);border-color:var(--oak);color:#1B1A18}
.section{padding:120px 0}
@media (max-width:700px){.section{padding:72px 0}}
.num{font:800 .78rem var(--font-body);letter-spacing:.1em;color:var(--accent)}
.lined{border-top:1px solid var(--line)}

/* Header */
.site-header{background:rgba(239,236,230,.9);border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:.14em;font-size:1.15rem}
.brand small{letter-spacing:.18em}
.nav a{color:var(--text);font-weight:600;font-size:.88rem}
.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--text)}
.lang{border-radius:0}

/* Hero */
.sr-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:calc(100vh - 110px);border-bottom:1px solid var(--line)}
.sr-hero .copy{padding:72px 56px 56px max(20px,calc((100vw - 1160px)/2 + 20px));display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.sr-hero h1{font-size:clamp(3rem,6.6vw,6.4rem);line-height:.92;letter-spacing:-.06em;margin:0}
.sr-hero .lead{font-size:1.15rem;max-width:30em;color:var(--muted)}
.sr-hero figure{margin:0;position:relative;overflow:hidden;border-left:1px solid var(--line)}
.sr-hero figure img{width:100%;height:100%;object-fit:cover;animation:reveal 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes reveal{from{clip-path:inset(0 0 100% 0);transform:scale(1.08)}to{clip-path:inset(0);transform:none}}
.sr-hero figcaption{position:absolute;left:0;bottom:0;background:var(--bg);padding:14px 20px;font-size:.8rem;font-weight:600;letter-spacing:.04em}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.facts div{padding:18px 16px 0 0}
.facts b{display:block;font:800 2rem/1 var(--font-head);letter-spacing:-.04em}
.facts span{font-size:.78rem;color:var(--muted);font-weight:600}
@media (max-width:960px){.sr-hero{grid-template-columns:1fr;min-height:0}.sr-hero .copy{padding:48px 20px}.sr-hero figure{aspect-ratio:4/3;border-left:0}.facts{grid-template-columns:1fr 1fr;gap:12px 0}}
@media (prefers-reduced-motion:reduce){.sr-hero figure img{animation:none}}

/* Collections index with hover image */
.idx{border-top:1px solid var(--text)}
.idx a{display:grid;grid-template-columns:80px 1fr auto 40px;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;position:relative}
.idx h3{font-size:clamp(1.8rem,4vw,3.4rem);letter-spacing:-.05em;margin:0;transition:transform .35s ease}
.idx .price{font:700 1rem var(--font-body);color:var(--muted)}
.idx svg{width:28px;height:28px;transition:transform .3s}
.idx a:hover h3{transform:translateX(14px)}
.idx a:hover svg{transform:translateX(6px)}
.idx .peek{position:absolute;right:120px;top:50%;width:240px;aspect-ratio:4/3;object-fit:cover;transform:translateY(-50%) rotate(-3deg) scale(.9);opacity:0;pointer-events:none;transition:opacity .25s,transform .35s;box-shadow:var(--shadow);z-index:2}
.idx a:hover .peek{opacity:1;transform:translateY(-50%) rotate(-3deg) scale(1)}
@media (max-width:760px){.idx a{grid-template-columns:44px 1fr 28px}.idx .price{grid-column:2;margin-top:-14px}.idx .peek{display:none}}

/* Process */
.proc{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.proc li{list-style:none;padding:32px 28px 0 0;border-right:1px solid var(--line);margin-right:28px}
.proc li:last-child{border-right:0}
.proc b{display:block;font:800 4rem/1 var(--font-head);letter-spacing:-.06em;color:#9A6B40;margin-bottom:18px}
.proc h3{font-size:1.25rem;letter-spacing:-.02em}
.proc p{color:var(--muted);font-size:.95rem}
.proc{padding:0;margin:0}
@media (max-width:900px){.proc{grid-template-columns:1fr 1fr;gap:28px 0}.proc li:nth-child(2){border-right:0}}
@media (max-width:560px){.proc{grid-template-columns:1fr}.proc li{border-right:0}}

/* Dark configurator teaser */
.teaser{background:var(--text);color:var(--bg)}
.teaser h2{color:var(--bg);font-size:clamp(2.2rem,5vw,4rem)}
.teaser .lead{color:#B9B2A6}
.teaser-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.teaser svg.mini{width:100%;height:auto}
@media (max-width:900px){.teaser-grid{grid-template-columns:1fr}}

/* Projects */
.pj{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}
.pj figure{margin:0}
.pj img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:filter .3s}
.pj figure:hover img{filter:brightness(.92)}
.pj figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:12px;font-size:.88rem}
.pj figcaption b{font-weight:800}
.pj figcaption span{color:var(--muted)}
.pj .wide{grid-column:span 2}.pj .wide img{aspect-ratio:8/5}
@media (max-width:900px){.pj{grid-template-columns:1fr 1fr}.pj .wide{grid-column:span 2}}
@media (max-width:560px){.pj{grid-template-columns:1fr}.pj .wide{grid-column:auto}.pj .wide img{aspect-ratio:4/5}}

/* Workshop story */
.story{display:grid;grid-template-columns:1fr 1fr;gap:0;border-block:1px solid var(--line)}
.story img{width:100%;height:100%;object-fit:cover;min-height:520px}
.story .copy{padding:72px 56px}
.story blockquote{margin:28px 0 0;font:700 1.35rem/1.4 var(--font-head);letter-spacing:-.02em;border-left:3px solid var(--oak);padding-left:20px}
.story cite{display:block;font:600 .85rem var(--font-body);color:var(--muted);margin-top:10px;font-style:normal}
@media (max-width:900px){.story{grid-template-columns:1fr}.story img{min-height:300px}.story .copy{padding:48px 20px}}

/* Quotes */
.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.qs figure{margin:0;padding:32px 28px 0 0;border-right:1px solid var(--line);margin-right:28px}
.qs figure:last-child{border:0}
.qs blockquote{margin:0 0 18px;font-size:1.08rem;font-weight:600}
.qs figcaption{font-size:.85rem;color:var(--muted)}
.qs figcaption b{color:var(--text);display:block}
@media (max-width:900px){.qs{grid-template-columns:1fr}.qs figure{border-right:0;border-bottom:1px solid var(--line);padding-bottom:28px}}

/* Page head */
.page-head{padding:88px 0 56px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.95;letter-spacing:-.06em;max-width:14ch}
.page-head .lead{font-size:1.15rem;margin-top:1.2rem}

/* Collection detail */
.col{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;padding:88px 0;border-bottom:1px solid var(--line);align-items:center}
.col:nth-of-type(even)>figure{order:2}
.col figure{margin:0}
.col figure img{width:100%;aspect-ratio:5/4;object-fit:cover}
.col h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.swatches{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 8px}
.swatches button{width:44px;height:44px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;background:var(--c)}
.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--text)}
.sw-name{font-size:.85rem;color:var(--muted);font-weight:600;min-height:1.4em}
.col .from{display:flex;align-items:baseline;gap:10px;margin:22px 0}
.col .from b{font:800 2.2rem var(--font-head);letter-spacing:-.04em}
@media (max-width:900px){.col{grid-template-columns:1fr;gap:28px;padding:56px 0}.col:nth-of-type(even)>figure{order:0}}

/* Configurator */
.cfg{display:grid;grid-template-columns:1fr 1.15fr;gap:0;border-bottom:1px solid var(--line)}
.cfg-controls{padding:48px 40px 64px max(20px,calc((100vw - 1160px)/2 + 20px));border-right:1px solid var(--line)}
.cfg-block{padding:26px 0;border-bottom:1px solid var(--line)}
.cfg-block:first-child{padding-top:0}
.cfg-block h2{font-size:1.05rem;letter-spacing:-.01em;display:flex;justify-content:space-between;margin-bottom:14px}
.cfg-block h2 span{color:var(--muted);font-weight:600}
.layouts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.layouts label{border:1.5px solid var(--line);padding:12px 8px 10px;text-align:center;cursor:pointer;font-size:.8rem;font-weight:700;background:var(--surface)}
.layouts svg{width:44px;height:44px;display:block;margin:0 auto 6px;color:var(--text)}
.layouts input,.finishes input,.tops input{position:absolute;opacity:0}
.layouts label:has(input:checked),.tops label:has(input:checked){border-color:var(--text);background:#fff}
.layouts label:has(input:focus-visible),.tops label:has(input:focus-visible),.finishes label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.finishes{display:flex;flex-wrap:wrap;gap:12px}
.finishes label{cursor:pointer;text-align:center;font-size:.72rem;font-weight:700;width:64px}
.finishes i{display:block;width:52px;height:52px;margin:0 auto 6px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px var(--line);border:3px solid var(--surface)}
.finishes label:has(input:checked) i{box-shadow:0 0 0 2px var(--text)}
.tops{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tops label{border:1.5px solid var(--line);cursor:pointer;background:var(--surface);font-size:.8rem;font-weight:700;padding:10px}
.tops i{display:block;height:28px;margin-bottom:8px;background:var(--c)}
.tops small{display:block;color:var(--muted);font-weight:600}
input[type=range].len{width:100%;accent-color:var(--text)}
.ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);font-weight:700}
.extras{display:grid;gap:10px}
.extras label{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;font-weight:600}
.extras input{width:20px;height:20px;accent-color:var(--text);margin-right:10px}
.extras span{display:flex;align-items:center}
.extras small{color:var(--muted);font-weight:700;white-space:nowrap}
.cfg-view{position:sticky;top:68px;height:calc(100vh - 68px);min-height:560px;display:flex;flex-direction:column;background:var(--surface)}
.cfg-stage{flex:1;display:grid;place-items:center;padding:24px 32px;background:linear-gradient(var(--surface),#E9E4DB);position:relative}
.cfg-stage svg{width:100%;max-height:100%}
.cfg-stage .tag-plan{position:absolute;right:18px;top:18px;width:120px;background:#fff;border:1px solid var(--line);padding:8px}
.cfg-out{border-top:1px solid var(--line);padding:24px 32px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;background:var(--bg)}
.cfg-out .range{font:800 clamp(1.8rem,3vw,2.6rem)/1 var(--font-head);letter-spacing:-.04em}
.cfg-out small{display:block;color:var(--muted);font-weight:600;margin-top:6px}
.cfg-out .eta{font-weight:700;font-size:.9rem}
@media (max-width:980px){
  .cfg{grid-template-columns:1fr}
  .cfg-controls{padding:28px 20px 120px;border-right:0}
  .cfg-view{display:contents}
  .cfg-stage{position:sticky;top:56px;z-index:5;height:170px;padding:8px 12px;border-bottom:1px solid var(--line);order:-1}
  .cfg-stage .tag-plan{width:64px;right:8px;top:8px;padding:4px}
  .cfg-out{position:fixed;left:0;right:0;bottom:0;z-index:40;grid-template-columns:1fr auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.12)}
  .cfg-out .range{font-size:1.25rem}.cfg-out small{font-size:.72rem}.cfg-out>div>span{display:none}
  .cfg-out .btn{padding:.85em 1em;font-size:.8rem;max-width:44vw}
  body[data-page=design] .fab{display:none}
}

/* Visit */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:88px 0}
.design-note{background:#fff;border:1px solid var(--line);padding:16px 18px;font-size:.92rem;margin-bottom:18px}
.design-note b{display:block;margin-bottom:4px}
@media (max-width:900px){.visit{grid-template-columns:1fr;gap:36px;padding:56px 0}}

/* Footer */
.site-footer{background:#1B1A18}
.site-footer .big-brand{grid-column:1/-1;font:800 clamp(3rem,12vw,10rem)/.85 var(--font-head);letter-spacing:-.07em;color:#EFECE6;margin:0 0 48px}
@media (max-width:560px){.tops{grid-template-columns:1fr}.tops label{display:grid;grid-template-columns:56px 1fr;column-gap:12px;align-items:center}.tops i{grid-row:span 2;height:40px;margin:0}}
