/* Homepage concepts — all component rules are deliberately scoped. */
.concept{overflow:hidden;background:var(--paper);color:var(--ink)}
.concept img{display:block;width:100%;height:100%;object-fit:cover}
.concept h1,.concept h2,.concept h3,.concept p{margin-top:0}
.concept h1,.concept h2,.concept h3{font-weight:400;line-height:.96}
.concept h1 em,.concept h2 em{font-weight:400}
.concept button{color:inherit}
.concept .text-link{display:inline-flex;align-items:center;gap:.7rem;padding:.35rem 0;border:0;border-bottom:1px solid currentColor;background:none;font:inherit;cursor:pointer}
.concept .text-link svg,.concept button svg,.concept a svg{width:1.3rem;height:1.3rem;transition:transform .25s ease}
.concept .text-link:hover svg,.concept button:hover svg,.concept a:hover svg{transform:translateX(.25rem)}
.concept-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.concept-section{padding:clamp(4.5rem,9vw,9rem) max(5vw,1.25rem)}
.concept .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.3rem}
.concept .section-heading h2{max-width:14ch;margin-bottom:0;font-size:clamp(2.4rem,5vw,5rem)}
.concept .filters{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 2rem}
.concept .filters button{padding:.65rem 1rem;border:1px solid var(--line);border-radius:5rem;background:transparent;cursor:pointer}
.concept .filters button[aria-pressed="true"]{border-color:var(--olive);background:var(--olive);color:var(--paper)}

/* 01 — elegant editorial */
body.concept-1 .site-header{background:#f2eee4;color:var(--ink)}
.c1-hero{position:relative;display:grid;grid-template-columns:minmax(0, .85fr) minmax(32rem,1.15fr);min-height:calc(100svh - 5rem);padding:clamp(2rem,5vw,5rem);background:#f2eee4}
.c1-hero__copy{align-self:center;z-index:1;padding-right:clamp(2rem,7vw,8rem)}
.c1-hero h1{margin:.35em 0;font-size:clamp(4rem,7vw,8.5rem);letter-spacing:-.045em}
.c1-hero h1 em{display:inline-block;margin-left:9%;font-size:.56em;font-style:italic;letter-spacing:-.02em}
.c1-lead{max-width:32rem;margin-bottom:2.2rem;color:var(--muted);font-size:1.08rem;line-height:1.6}
.c1-hero__visual{position:relative;min-height:43rem;margin:0}
.c1-hero__visual img{object-position:center 42%}
.c1-hero__visual figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:1.1rem 1.4rem;background:linear-gradient(transparent,rgba(0,0,0,.45));color:#fff;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase}
.c1-hero__number{position:absolute;bottom:2.8rem;left:2rem;color:rgba(85,99,66,.25);font-family:serif;font-size:7rem}
.c1-catalog{background:#fbfaf6}
.c1-catalog .product-grid{align-items:start}
.c1-catalog .product-card:nth-child(even){margin-top:clamp(2rem,6vw,6rem)}
.c1-story{display:grid;grid-template-columns:1.15fr .85fr;min-height:46rem;background:var(--olive);color:#f8f4e9}
.c1-story__image{min-height:42rem}
.c1-story__copy{align-self:center;padding:clamp(3rem,8vw,9rem)}
.c1-story__copy h2{margin:.4em 0;font-size:clamp(2.8rem,5vw,5.5rem)}
.c1-story__copy>p:not(.eyebrow){max-width:32rem;line-height:1.7;color:rgba(255,255,255,.72)}
.c1-story .button-outline{border-color:rgba(255,255,255,.7);color:#fff}
.c1-services{display:grid;grid-template-columns:repeat(3,1fr);padding:0 max(5vw,1.25rem) clamp(5rem,9vw,9rem);background:var(--olive);color:#fff}
.c1-services article{padding:2.2rem;border-top:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(255,255,255,.25)}
.c1-services article:last-child{border-right:0}.c1-services article>span{opacity:.55}
.c1-services h3{margin:4rem 0 1rem;font-size:2rem}.c1-services p{color:rgba(255,255,255,.65);line-height:1.5}
.c1-services button{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:.35em;cursor:pointer}

/* 02 — functional airy shop */
body.concept-2 .site-header{background:#fff;color:#20211e;border-bottom:1px solid #deded8}
.concept-2{background:#fff}.c2-intro{display:grid;place-items:center;min-height:20rem;padding:3rem 1.25rem;text-align:center;background:#eef0e8}
.c2-intro h1{margin:.35em 0 .25em;font-size:clamp(3.5rem,7vw,7.5rem);letter-spacing:-.04em}.c2-intro h1 em{font-style:italic;color:var(--olive)}
.c2-intro>p:not(.eyebrow){margin-bottom:1.8rem;color:var(--muted);font-size:1.08rem}
.c2-categories{padding:clamp(4rem,7vw,7rem) max(3vw,1.25rem)}
.c2-categories .section-heading h2{font-size:clamp(2.3rem,4vw,4rem)}.c2-categories .section-heading>span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.c2-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.c2-category-grid>a,.c2-category-grid>button{display:flex;flex-direction:column;align-items:flex-start;padding:0;border:0;background:none;color:inherit;text-align:left;text-decoration:none;cursor:pointer}
.c2-category-grid img{aspect-ratio:3/4;margin-bottom:1rem;transition:transform .4s ease}.c2-category-grid a:hover img,.c2-category-grid button:hover img{transform:scale(.985)}
.c2-category-grid span{font-family:serif;font-size:1.55rem}.c2-category-grid small{margin-top:.35rem;color:var(--muted);line-height:1.4}
.c2-showcase{padding-right:max(3vw,1.25rem);padding-left:max(3vw,1.25rem);background:#faf9f5}
.c2-showcase .section-heading>p{max-width:25rem;margin:0;color:var(--muted)}
.c2-showcase .product-grid{gap:1rem}.c2-showcase .product-card img{aspect-ratio:4/5}
.c2-note{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:clamp(4rem,8vw,8rem) max(6vw,1.25rem);background:var(--olive);color:#fff}
.c2-note p{max-width:24ch;margin:0;font-family:serif;font-size:clamp(2.5rem,5vw,5rem);line-height:1.05}.c2-note img{width:min(19rem,35vw);height:auto;filter:brightness(0) invert(1)}
.c2-service{display:grid;grid-template-columns:1.2fr .8fr auto;align-items:end;gap:4rem;padding:clamp(4rem,8vw,8rem) max(6vw,1.25rem)}
.c2-service h2{max-width:12ch;margin:0;font-size:clamp(2.5rem,5vw,5rem)}.c2-service>p{max-width:30rem;margin:0;color:var(--muted);line-height:1.6}

/* 03 — bold category gallery */
body.concept-3 .site-header{background:#f6f3ea;color:var(--ink)}
.c3-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;min-height:27rem;padding:clamp(4rem,8vw,8rem) max(3vw,1.25rem) 3rem;background:#f6f3ea}
.c3-head .eyebrow{grid-column:1/-1}.c3-head h1{margin:0;font-size:clamp(4rem,7.5vw,8rem);letter-spacing:-.045em}.c3-head>p:last-child{max-width:24rem;justify-self:end;margin:0;color:var(--muted);line-height:1.65}
.c3-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;padding:0 .65rem .65rem;background:#fff}
.c3-triptych a{position:relative;min-height:43rem;overflow:hidden;color:#fff}.c3-triptych a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 45%,rgba(0,0,0,.48))}
.c3-triptych img{transition:transform .6s ease}.c3-triptych a:hover img{transform:scale(1.025)}
.c3-triptych span,.c3-triptych strong,.c3-triptych small{position:absolute;z-index:1;right:2rem;left:2rem}.c3-triptych span{top:2rem}.c3-triptych strong{top:5rem;font-family:serif;font-size:clamp(2.3rem,3.6vw,4.4rem);font-weight:400;line-height:.95}.c3-triptych small{bottom:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.c3-catalog{background:#fff}.c3-catalog .section-heading{align-items:center}.c3-catalog .section-heading .filters{margin:0}
.c3-business{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;background:#eeeae0}
.c3-business__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,7rem);border:1px solid #c8c5bb;background:#f9f7f1}
.c3-business h2{margin:.4em 0;font-size:clamp(2.6rem,4.5vw,5.2rem)}.c3-business p,.c3-business li{line-height:1.6;color:var(--muted)}.c3-business ul{margin:0 0 2.5rem;padding:0;list-style:none}.c3-business li:before{content:"— ";color:var(--ink)}.c3-business .button-outline{align-self:flex-start}.c3-business>img{min-height:47rem}
.c3-manifesto{display:grid;grid-template-columns:.45fr 1.2fr .45fr;align-items:end;gap:3rem;padding:clamp(5rem,10vw,11rem) max(5vw,1.25rem);background:#1f241c;color:#fff}.c3-manifesto>span{text-transform:uppercase;letter-spacing:.08em}.c3-manifesto p{margin:0;font-family:serif;font-size:clamp(2.7rem,5.2vw,6rem);line-height:1.05}.c3-manifesto button{justify-self:end;padding:0;border:0;border-bottom:1px solid;background:none;cursor:pointer}

/* 04 — intimate olive atelier */
body.concept-4 .site-header,body.concept-4 .site-footer{background:#465339;color:#f8f4e9}
.concept-4{background:#465339;color:#f8f4e9}.c4-hero{position:relative;display:grid;grid-template-columns:.7fr 1.4fr .55fr;grid-template-rows:auto 1fr;gap:2rem;min-height:calc(100svh - 4rem);padding:clamp(2rem,4vw,4rem)}
.c4-hero__mark{grid-column:1;grid-row:1;align-self:start}.c4-hero__mark img{width:13rem;height:auto}.c4-hero__copy{grid-column:1;grid-row:2;align-self:center;z-index:2;width:clamp(25rem,34vw,38rem)}
.c4-hero h1{margin:.35em 0;font-size:clamp(4rem,7vw,8.5rem);letter-spacing:-.045em}.c4-hero h1 em{display:block;font-size:.55em;font-style:italic}.c4-hero__copy>p:not(.eyebrow){max-width:27rem;color:rgba(255,255,255,.68);line-height:1.6}
.c4-hero .button{border-color:#f2eee4;background:#f2eee4;color:#465339}
.c4-hero__image{grid-column:2;grid-row:1/3;min-height:calc(100svh - 8rem)}.c4-hero__aside{grid-column:3;grid-row:2;align-self:end;margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.c4-hero__aside span{opacity:.55;text-transform:none;letter-spacing:0}
.c4-editorial{display:grid;grid-template-columns:1fr 1.15fr .8fr;align-items:center;gap:clamp(2rem,6vw,7rem);margin:0 max(3vw,1rem);padding:clamp(4rem,9vw,10rem) clamp(2rem,6vw,7rem);background:#f2eee4;color:var(--ink)}
.c4-editorial h2{font-size:clamp(3rem,5vw,6rem)}.c4-editorial>img{aspect-ratio:4/5}.c4-editorial__text{align-self:end}.c4-editorial__text p{line-height:1.7;color:var(--muted)}
.c4-catalog{background:#465339;color:#fff}.c4-catalog .filters button{border-color:rgba(255,255,255,.4)}.c4-catalog .filters button[aria-pressed="true"]{background:#f3eee3;color:#465339}.c4-catalog .product-card{color:#fff}.c4-catalog .product-card:nth-child(odd){transform:translateY(2rem)}
.c4-rituals{padding:clamp(5rem,9vw,10rem) max(5vw,1.25rem);background:#e9e3d6;color:var(--ink)}.c4-rituals>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid #aaa99f}.c4-rituals article{padding:2rem;border-right:1px solid #aaa99f}.c4-rituals article:last-child{border-right:0}.c4-rituals article>span{font-size:.75rem}.c4-rituals h3{margin:5rem 0 1rem;font-size:clamp(2.2rem,3vw,3.5rem)}.c4-rituals p{max-width:24rem;color:var(--muted);line-height:1.5}.c4-rituals button{padding:0;border:0;border-bottom:1px solid;background:none;cursor:pointer}

@media (max-width:900px){
  .concept .section-heading{align-items:flex-start;flex-direction:column}.concept-section{padding-top:4.5rem;padding-bottom:4.5rem}
  .c1-hero{grid-template-columns:1fr;padding-top:3rem}.c1-hero__copy{padding:0 0 2.5rem}.c1-hero__visual{min-height:34rem}.c1-hero__number{display:none}.c1-story{grid-template-columns:1fr}.c1-story__copy{grid-row:1;padding:4rem max(6vw,1.5rem)}.c1-story__image{min-height:32rem}.c1-services{grid-template-columns:1fr}.c1-services article{border-right:0}.c1-services h3{margin-top:2rem}
  .c2-category-grid{grid-template-columns:repeat(2,1fr)}.c2-service{grid-template-columns:1fr;align-items:start;gap:2rem}
  .c3-head{grid-template-columns:1fr;gap:2rem}.c3-head>p:last-child{justify-self:start}.c3-triptych{grid-template-columns:1fr}.c3-triptych a{min-height:70svh}.c3-catalog .section-heading .filters{margin-top:1rem}.c3-business{grid-template-columns:1fr}.c3-business>img{min-height:35rem}.c3-manifesto{grid-template-columns:1fr}.c3-manifesto button{justify-self:start}
  .c4-hero{grid-template-columns:1fr 5rem;grid-template-rows:auto auto 1fr}.c4-hero__mark{grid-column:1;grid-row:1}.c4-hero__copy{grid-column:1/-1;grid-row:2;width:auto}.c4-hero__image{grid-column:1;grid-row:3;min-height:38rem}.c4-hero__aside{grid-column:2;grid-row:3;writing-mode:vertical-rl}.c4-editorial{grid-template-columns:1fr}.c4-editorial>img{max-height:40rem}.c4-rituals>div{grid-template-columns:1fr}.c4-rituals article{border-right:0;border-bottom:1px solid #aaa99f}.c4-rituals h3{margin-top:2.5rem}
}
@media (max-width:560px){
  .concept-actions{align-items:flex-start;flex-direction:column}.concept .filters{flex-wrap:nowrap;width:calc(100% + 1.25rem);padding-right:1.25rem;overflow-x:auto}.concept .filters button{flex:0 0 auto}.concept .section-heading h2{font-size:2.75rem}
  .c1-hero{min-height:auto;padding:2.5rem 1.25rem 1.25rem}.c1-hero h1{font-size:3.75rem}.c1-hero h1 em{margin-left:0}.c1-hero__visual{min-height:28rem}.c1-catalog .product-card:nth-child(even){margin-top:0}.c1-story__image{min-height:27rem}
  .c2-intro{min-height:24rem}.c2-intro h1{font-size:3.5rem}.c2-category-grid{gap:2rem .65rem}.c2-category-grid span{font-size:1.2rem}.c2-category-grid small{font-size:.72rem}.c2-note{align-items:flex-start;flex-direction:column}.c2-note img{width:12rem}
  .c3-head{min-height:24rem;padding-top:4rem}.c3-head h1{font-size:3.7rem}.c3-triptych a{min-height:32rem}.c3-triptych span,.c3-triptych strong,.c3-triptych small{right:1.25rem;left:1.25rem}.c3-business{padding:.65rem}.c3-business__copy{padding:3rem 1.25rem}.c3-business>img{min-height:28rem}
  .c4-hero{display:flex;flex-direction:column;min-height:auto;padding:2rem 1.25rem}.c4-hero__mark img{width:10rem}.c4-hero h1{font-size:3.65rem}.c4-hero__image{min-height:32rem}.c4-hero__aside{writing-mode:initial}.c4-editorial{margin:0 .6rem;padding:4rem 1.25rem}.c4-catalog .product-card:nth-child(odd){transform:none}
}
@media (prefers-reduced-motion:reduce){.concept *,.concept *:before,.concept *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
