.home-content,.footer-inner{width:min(83%,1560px);margin-inline:auto;color:#252525}
.home-section{margin-block:clamp(68px,7vw,130px);scroll-margin-top:30px}
.section-title{font-size:clamp(32px,3.15vw,58px);font-weight:850;line-height:1.08;letter-spacing:-.04em;margin:0 0 26px;max-width:18ch}
.section-lead{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:clamp(28px,3.2vw,60px)}
.home-content p,.site-footer p{max-width:68ch;color:#252525;margin:0;line-height:1.65}
.section-link{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:clamp(14px,1.3vw,23px)}
.section-link span,.faq-list summary::after{display:grid;place-items:center;background:#e5e5e5;border-radius:50%;width:29px;height:29px;font-size:17px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,30px)}
.tiles--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile-media{position:relative;display:grid;place-items:center;aspect-ratio:1;background:#fafafa;overflow:hidden}
.tile-media img{display:block;width:83%;height:83%;object-fit:contain;mix-blend-mode:multiply}
.tile h3{font-size:clamp(15px,1.15vw,20px);margin:24px 0 5px;font-weight:800}
.tile p{color:#626262}
.tile--pack .tile-media{background:radial-gradient(at 72% 24%,#f5efe7,#ded6c9)}
.tile--pack .tile-media img{width:51%;height:73%;grid-area:1/1;justify-self:start;margin-left:4%}
.tile--pack .tile-media img+img{width:47%;height:65%;justify-self:end;margin:12% 3% 0 0}
.pack-label{position:absolute;left:16px;top:16px;background:#b93934;color:white;font-weight:800;font-size:12px;padding:6px 9px}
.feature{display:grid;grid-template-columns:65% 35%;background:#f2f2f2}
.feature-media{display:grid;place-items:center;min-height:clamp(260px,33vw,570px);background:radial-gradient(at 65% 30%,#f7faf6,#c1cfc7)}
.feature-media img{width:65%;height:82%;object-fit:contain;mix-blend-mode:multiply}
.feature-copy{padding:clamp(24px,4vw,72px);align-self:center}
.feature-copy h3{font-size:clamp(25px,3vw,54px);line-height:1.08;letter-spacing:-.045em;margin:14px 0 25px}
.feature-copy small{color:#555}
.category{aspect-ratio: .87;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;text-align:center;background:#bac9c1;color:white}
.category img,.category::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.category img{object-fit:contain;padding:9%;mix-blend-mode:multiply}
.category::after{content:'';background:#14272188}
.category span{font-weight:850;font-size:clamp(19px,2.4vw,43px);line-height:1.05;padding:14px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.faq-list{background:#f2f2f2;padding:clamp(15px,3vw,60px)}
.faq-list details+details{border-top:1px solid #d7d7d7}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;font-weight:800;list-style:none;padding:clamp(14px,1.4vw,24px) 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'⌄';flex:none}
.faq-list details[open] summary::after{content:'⌃'}
.faq-list p{padding-bottom:18px}
.site-footer{background:#f0f0f0;padding:clamp(45px,5vw,90px) 0}
.footer-inner{display:grid;grid-template-columns:minmax(140px,190px) minmax(200px,400px);gap:30px}
.site-footer h2{font-size:18px;margin:0 0 24px;font-weight:800}
.site-footer p{color:#555}.site-footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.home-content,.footer-inner{width:90%}.tiles,.tiles--three{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}.tile h3{margin-top:12px}.feature,.faq{grid-template-columns:1fr}.faq{gap:24px}.footer-inner{grid-template-columns:1fr}.category span{font-size:24px}}

.home-content #boutique{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:stretch;width:100%;margin:clamp(36px,4vw,85px) 0 0;background:#f3f0ea}
.boutique figure{margin:0;position:relative;display:grid;place-items:center;background:#d7cdb6}
.boutique img{display:block;width:100%;height:auto}
.boutique figcaption{position:absolute;bottom:12px;left:12px;padding:5px 9px;background:#fffef5;color:#414b43;font-size:12px}
.boutique-copy{align-self:center;min-width:0;padding:clamp(24px,3vw,70px)}
.boutique dl{margin:22px 0}.boutique dl div{display:grid;gap:3px;border-top:1px solid #deded9;padding:10px 0}.boutique dt{font-weight:700}.boutique dd{margin:0;color:#626262}
.boutique-actions{display:flex;gap:9px;flex-wrap:wrap}.boutique-actions button{padding:11px 14px;border:1px solid #d9ded9;background:#f4f6f4;color:#53625a;font:inherit}
.boutique-actions button:first-child{background:#253d32;color:#fff;border-color:#253d32}
.boutique-actions button:disabled{opacity:.75}
.boutique-copy a{display:inline-block;margin-top:12px;text-underline-offset:4px}
.boutique-copy a:hover{text-decoration:underline}
@media(max-width:900px){.home-content #boutique{grid-template-columns:1fr}.boutique-copy{padding:25px}}

/* Shared homepage gutters, including wide desktop layouts. */
body:has(.home-content){--home-gutter:clamp(24px,5vw,120px)}
.home-content,.footer-inner{width:calc(100% - 2 * var(--home-gutter, 5vw));max-width:none}
.cover header{padding-inline:var(--home-gutter)}
.cover-copy{left:var(--home-gutter)}
@media(max-width:760px){body:has(.home-content){--home-gutter:5vw}}

.feature-link{color:inherit;text-decoration:none}
.feature-link .feature-media{overflow:hidden}
.feature-cta{display:inline-flex;align-items:center;gap:12px;font-weight:750;color:#284c3d}
.feature-cta i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e0ebe3;font-style:normal}
.feature-link:focus-visible{outline:2px solid #345e4c;outline-offset:5px}
.feature-link:is(:hover,:focus-visible) .feature-cta i{background:#254638;color:white}
@media(prefers-reduced-motion:no-preference){.feature-link .feature-media img,.feature-cta i{transition:transform .3s ease,background .25s ease}.feature-link:is(:hover,:focus-visible) .feature-media img{transform:scale(1.06)}.feature-link:is(:hover,:focus-visible) .feature-cta i{transform:translateX(5px)}}
.feature-link .feature-copy{transition:background-color .24s,color .24s}
.feature-link:is(:hover,:focus-visible) .feature-copy{background:#e2eee5;color:#183c2d}
.feature-link .feature-copy h3{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.16em;text-decoration-thickness:.06em}
.feature-link:is(:hover,:focus-visible) .feature-copy h3{text-decoration-color:#4e7b66}
@media(prefers-reduced-motion:reduce){.feature-link .feature-copy{transition:none}}

/* Keep the full-width home header readable at desktop sizes. */
.promo{font-size:clamp(14px,.78vw,19px)}
.cover header nav{font-size:clamp(16px,.88vw,21px)}
.cover header .locale-switch button{font-size:clamp(12px,.68vw,16px)}
.home-content .section-lead p,.home-content .tile p{font-size:clamp(15px,.78vw,20px)}
@media(max-width:760px){.promo{font-size:13px}.cover header nav{font-size:14px}.cover header .locale-switch button{font-size:11px}}

.bestseller-side{display:none}
.bestseller-guide-compact{margin:-12px 0 24px}
.bestseller-guide-link{display:inline-flex;align-items:center;gap:9px;color:#254638;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.bestseller-guide-link:hover{color:#3f715d}
@media(min-width:1500px){
  #product{--bestseller-side:clamp(200px,14vw,330px);--bestseller-gap:clamp(24px,2vw,60px);--bestseller-inset:calc(var(--bestseller-side) + var(--bestseller-gap))}
  #product>.section-title,#product>.section-lead{margin-inline:var(--bestseller-inset)}
  .bestseller-layout{display:grid;grid-template-columns:var(--bestseller-side) minmax(0,1fr) var(--bestseller-side);gap:var(--bestseller-gap);align-items:stretch}
  .bestseller-guide-compact{display:none}
  .bestseller-side{display:flex;flex-direction:column;justify-content:center;min-height:0;margin-block:clamp(16px,1.3vw,40px);box-sizing:border-box;background:#eef3ef;border-radius:14px;padding:clamp(22px,1.65vw,42px);color:#243c31}
  .bestseller-side h3{font-size:clamp(19px,1.1vw,26px);line-height:1.2;margin:0 0 clamp(18px,1.5vw,42px)}
  .bestseller-side ul{list-style:none;margin:0;padding:0}
  .bestseller-side li{border-top:1px solid #d4e0d6}
  .bestseller-side li a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:clamp(14px,1vw,29px) 0}
  .bestseller-side li a:hover{text-decoration:underline;text-underline-offset:4px}
  .bestseller-guide p{margin:0 0 20px}
  .bestseller-guide .bestseller-guide-link{margin-top:clamp(8px,1vw,28px);align-self:flex-start}
}

@media(min-width:1500px){
  .bestseller-side.bestseller-needs{background:linear-gradient(155deg,#254c3e,#18372e);color:#f6fbf8}
  .bestseller-needs h3{font-size:clamp(23px,1.25vw,32px);letter-spacing:-.025em}
  .bestseller-needs li+li{margin-top:10px}
  .bestseller-needs li{border-top:0}
  .bestseller-needs li a{align-items:center;padding:12px 13px;border-radius:8px;background:#ffffff14;border:1px solid #ffffff29;font-weight:650;line-height:1.35}
  .bestseller-needs li a span{color:#c9ead5;flex:none;font-size:1.15em}
  .bestseller-needs li a:is(:hover,:focus-visible){background:#e0efe5;color:#18372e;text-decoration:none}
  .bestseller-needs li a:is(:hover,:focus-visible) span{color:inherit}
  .bestseller-needs li a:focus-visible{outline:2px solid #e0efe5;outline-offset:3px}
}
