/* PHP fallback: the approved Contour composition, with fewer data sections. */
.sam-hero { position: relative; isolation: isolate; min-height: 678px; overflow: hidden; background: var(--sam-taupe); padding: 175px 0 70px; }
.sam-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; }
/* Fixed scrims keep both owner-replaced and cleared images readable. */
.sam-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(#ffffffd9, transparent 28%); pointer-events: none; }
.sam-hero--light::before { background: linear-gradient(#202326db, transparent 28%); }
.sam-hero-word { position: relative; z-index: -1; margin: 0; padding-inline: 2%; text-align: center; font-size: clamp(5rem, 15.8vw, 16.25rem); letter-spacing: -.045em; line-height: 1; color: #fff; text-transform: uppercase; overflow-wrap: anywhere; text-shadow: 0 2px 20px #20232638; }
.sam-hero-foreground { position: absolute; z-index: 0; top: 45px; left: 50%; transform: translateX(-50%) rotate(8deg); width: 570px; height: 610px; object-fit: contain; pointer-events: none; }
.sam-hero-copy { position: relative; z-index: 1; margin: 23px 0 0 11%; width: min(340px, 80%); padding: 0; color: var(--sam-ink); }
.sam-hero-copy::before { content: ""; position: absolute; inset: -26px; z-index: -1; background: #d4d0cb; filter: blur(30px); pointer-events: none; }
.sam-hero-copy .sam-eyebrow { margin: 0 0 12px; font-size: .5625rem; }
.sam-hero-text { font-size: .9375rem; line-height: 1.6; margin-bottom: 8px; }
.sam-hero-copy .sam-text-link { color: var(--sam-ink); font-size: .6875rem; text-transform: uppercase; letter-spacing: .13em; }
.sam-benefits { padding-block: 25px; }
.sam-benefits ul { display: flex; justify-content: center; align-items: center; gap: 1.5rem 3.5rem; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; }
.sam-benefits li { display: flex; align-items: center; gap: .7rem; font-size: .6875rem; }
.sam-benefits .sam-icon { width: 27px; height: 27px; }
.sam-section { padding-block: 70px; }
.sam-section-top { text-align: center; margin-bottom: 38px; }
.sam-section-top .sam-eyebrow { margin-bottom: 12px; color: var(--sam-muted); }
.sam-section-heading { font-size: clamp(1.9375rem, 3vw, 2.375rem); margin: 0; text-align: center; }
.sam-category-section { padding-block: 0 60px; }
.sam-category-section > .sam-section-heading { margin: 20px 0 30px; }
.sam-category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 18px; }
.sam-category-tile { display: block; position: relative; min-width: 0; min-height: 380px; color: #fff; background: #938d86; overflow: hidden; text-decoration: none; }
.sam-category-image { position: absolute; inset: 0; }
.sam-category-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sam-category-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 20%, #202326cc); pointer-events: none; }
.sam-category-initial { display: grid; place-items: center; height: 100%; font: 400 10rem/1 var(--sam-display); opacity: .25; }
.sam-category-ghost { position: absolute; z-index: 1; top: 35px; left: -8px; font: 400 6rem/1 var(--sam-display); white-space: nowrap; text-transform: uppercase; opacity: .2; pointer-events: none; }
.sam-category-name { display: block; position: relative; z-index: 2; padding: 270px 30px 30px; font: 400 2.25rem/1.15 var(--sam-display); overflow-wrap: anywhere; }
.sam-category-shop { display: block; font: 700 .6875rem/2 var(--sam-body); letter-spacing: .13em; text-transform: uppercase; text-decoration: underline; text-underline-offset: .3em; margin-top: 8px; }
.sam-category-tile:hover .sam-category-shop { text-decoration-thickness: 2px; }
.sam-products-section--featured { background: var(--sam-stone); }
.sam-product-slider { position: relative; }
.sam-product-grid { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 66px) / 4); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; padding-block: 5px 12px; scrollbar-width: none; }
.sam-product-grid > * { scroll-snap-align: start; min-width: 0; }
.sam-slider-controls { position: absolute; inset: 0 -20px auto; top: 38%; z-index: 3; pointer-events: none; display: flex; justify-content: space-between; }
.sam-slider-controls button { pointer-events: auto; width: 44px; height: 44px; border: 1px solid var(--sam-line); background: #fff; color: var(--sam-ink); border-radius: 50%; font-size: 1.25rem; }
.sam-slider-controls button:disabled { opacity: .4; cursor: default; }
.sam-center-action { text-align: center; margin-top: 35px; }
.sam-center-action .sam-button { min-width: 165px; }
@media (max-width: 1024px) { .sam-product-grid { grid-auto-columns: calc((100% - 44px) / 3); } }
@media (max-width: 767px) {
    .sam-hero { min-height: 660px; padding: 145px 0 180px; }
    .sam-hero-word { width: 290px; padding: 0 20px; text-align: start; font-size: 82px; line-height: .96; letter-spacing: -3px; }
    .sam-hero-foreground { top: 235px; left: 70%; width: 330px; height: 475px; transform: translateX(-50%) rotate(14deg); }
    .sam-hero-copy { margin: 28px 0 0 20px; width: 225px; padding: 0; }
    .sam-hero-copy .sam-eyebrow { font-size: .5rem; }
    .sam-hero-text { font-size: .875rem; }
    .sam-benefits { padding-block: 25px; }
    .sam-benefits ul { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; justify-content: normal; gap: 0; scrollbar-width: none; }
    .sam-benefits li { justify-content: center; scroll-snap-align: start; font: 400 1.1rem/1.4 var(--sam-display); min-height: 42px; }
    .sam-section { padding-block: 48px; }
    .sam-section-top { margin-bottom: 30px; }
    .sam-category-section { padding-block: 0 45px; }
    .sam-category-grid { grid-template-columns: 1fr; gap: 20px; }
    .sam-category-tile { min-height: 325px; }
    .sam-category-name { padding: 220px 25px 28px; font-size: 2rem; }
    .sam-product-grid { grid-auto-columns: calc((100% - 20px) / 2); gap: 20px; }
    .sam-slider-controls { inset-inline: -18px; }
}
