:root{--bg:#f5f4ef;--surface:#fff;--text:#17201d;--muted:#62706a;--primary:#155d49;--on-primary:#fff;--error:#a22b2b;--space:1rem;--radius:.75rem;--shadow:0 1rem 3rem rgba(23,32,29,.08);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:var(--text);color:#fff;padding:.75rem;z-index:5}.skip:focus{top:1rem}header{display:grid;grid-template-columns:auto minmax(16rem,38rem) auto;gap:2rem;align-items:end;padding:1.25rem clamp(1rem,4vw,4rem);background:var(--surface);border-bottom:1px solid #dce2df}.brand{font-size:1.4rem;font-weight:750;text-decoration:none}.search{min-width:0;width:100%}.search label{display:block;font-size:.78rem;margin-bottom:.35rem;color:var(--muted)}.search div{display:flex;min-width:0;width:100%}.search input{min-width:0;width:0;flex:1;border:1px solid #a6b0ac;border-radius:var(--radius) 0 0 var(--radius);padding:.7rem}.search button,button,.button{border:0;border-radius:var(--radius);background:var(--primary);color:var(--on-primary);padding:.75rem 1rem;font:inherit}.search button{border-radius:0 var(--radius) var(--radius) 0}nav{display:flex;gap:1rem}main{max-width:76rem;margin:auto;padding:clamp(1rem,4vw,4rem)}section{margin:0 0 2rem;background:var(--surface);border-radius:var(--radius);padding:clamp(1.25rem,4vw,4rem);box-shadow:var(--shadow)}.hero{min-height:22rem;display:grid;align-content:center}.hero .button{justify-self:start;max-width:100%}.products,.categories,.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{border:1px solid #dce2df;border-radius:var(--radius);padding:1rem;background:var(--surface)}.showcase{min-height:65vh;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:center}.classic{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.media{min-height:22rem;background:#e5e9e7;border-radius:var(--radius)}.muted{color:var(--muted)}:focus-visible{outline:3px solid #b56a00;outline-offset:3px}@media(max-width:760px){header{grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}header>*{min-width:0}.search div{display:grid;grid-template-columns:minmax(0,1fr) auto}.search input{width:100%;max-width:100%}.products,.categories,.results,.showcase,.classic{grid-template-columns:1fr}nav{width:100%;justify-content:space-between}.hero{min-height:16rem}main{padding:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Core template compositions. Business data and actions remain shared. */
.product{display:grid;align-items:center}.product-classic{grid-template-columns:minmax(0,1fr) minmax(18rem,1fr);gap:2rem}.product-showcase{min-height:70vh;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(2rem,7vw,8rem);border-radius:0}.product-atelier{grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,5vw,5rem);border-left:.45rem solid var(--primary);box-shadow:none}.product-atelier .media{grid-column:2;grid-row:1;min-height:34rem}.product-atelier>div:not(.media){grid-column:1;grid-row:1}html[data-template=showcase] header{position:absolute;z-index:2;width:100%;background:transparent;border:0}html[data-template=showcase] main{max-width:none;padding:0}html[data-template=showcase] .content-block{border-radius:0;padding:clamp(3rem,8vw,9rem)}html[data-template=showcase] .hero{min-height:80vh}html[data-template=atelier] body{background:linear-gradient(90deg,var(--surface) 0 18rem,var(--bg) 18rem)}html[data-template=atelier] header{grid-template-columns:14rem minmax(16rem,38rem) auto;border-right:1px solid #dce2df}html[data-template=atelier] main{max-width:90rem}html[data-template=atelier] .content-block{box-shadow:none;border-top:1px solid currentColor;border-radius:0}@media(max-width:760px){html[data-template=atelier] header,.product-classic,.product-showcase,.product-atelier{grid-template-columns:1fr}.product-atelier .media,.product-atelier>div:not(.media){grid-column:1;grid-row:auto}.product-atelier .media{min-height:20rem}html[data-template=showcase] header{position:relative;background:var(--surface)}html[data-template=atelier] body{background:var(--bg)}}
