/* Fluid layout refinement: full page width with consistent responsive gutters. */
/* THE page shell — the only rule in the site that sets a horizontal page edge.
   Header, primary nav, hero, every main section and the footer are one full-bleed box
   with one gutter, so they all line up on the same left/right grid at every width.
   Anything that has to align with the header joins this selector list; it must never be
   given its own max-width or margin:auto, which is exactly how the hero drifted into a
   narrow centred column under a full-width header. */
.site-header__inner,.concept-wrap,.hero,.home-section,.products,.product-detail,.magazine,.trust-strip__inner,.physical-page-options,.site-footer__inner{width:100%;max-width:none;margin-inline:0;padding-inline:var(--page-gutter)}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero__visual{width:100%}.families,.products__grid{width:100%}.family-card{min-height:min(62vw,680px)}
.products__grid--single{grid-template-columns:minmax(0,1fr)!important}.products__grid--all{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-card__media{aspect-ratio:4/3}.product-card__media img{object-position:center 46%}
@media(max-width:900px){.products__grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}.family-card{min-height:520px}}
@media(max-width:640px){.products__grid--all{grid-template-columns:1fr}.family-card{min-height:430px}.product-card__media{aspect-ratio:4/3}}


/* Compact, editorial products index. Mobile remains the base experience. */
.products{padding-block:clamp(2.5rem,4.5vw,4.75rem)}
.products__head{align-items:end;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.products__title{font-size:clamp(2.75rem,4.2vw,4.5rem);letter-spacing:-.045em}
.products__intro{max-width:34ch;margin-bottom:.35rem;font-size:.9rem;line-height:1.55}
.products__grid--all{gap:clamp(1rem,1.7vw,1.75rem)}
.products__grid--all .product-card{min-width:0}
.products__grid--all .product-card__media{aspect-ratio:3/2;border-radius:18px;background:#e9e1d5}
.products__grid--all .product-card__info{padding:.85rem .15rem 0}
.products__grid--all .product-card__title{font-size:clamp(1.15rem,1.45vw,1.45rem);line-height:1.15}
.products__grid--all .product-card__price{font-size:.82rem}
.products__grid--all .product-card__summary{max-width:42ch;margin:.55rem 0 0;font-size:.78rem;line-height:1.5}
.products__grid--all .product-card__actions{margin-top:.7rem;gap:1rem}
.products__grid--all .product-card__action,.products__grid--all .product-card__example{font-size:.72rem}
@media(min-width:901px){
 .products__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,30%);gap:3rem}
}
@media(max-width:900px){
 .products{padding-top:2.5rem}
 .products__title{font-size:clamp(2.6rem,8vw,4rem)}
 .products__head{align-items:start}
}
@media(max-width:640px){
 .products{padding-block:2rem 3.5rem}
 .products__head{margin-bottom:1.25rem}
 .products__title{font-size:2.7rem}
 .products__intro{margin-top:.75rem;font-size:.84rem}
 .products__grid--all{gap:1.75rem}
 .products__grid--all .product-card__media{aspect-ratio:4/3;border-radius:16px}
 .products__grid--all .product-card__title{font-size:1.25rem}
}
.products__grid--all{grid-template-columns:repeat(3,minmax(0,280px));justify-content:center}
.products__grid--all .product-card__media{aspect-ratio:1}
@media(max-width:900px){.products__grid--all{grid-template-columns:repeat(2,minmax(0,280px))}}
@media(max-width:640px){.products__grid--all{grid-template-columns:minmax(0,min(100%,320px))}}
