/* Vorena 1.2.5 — viewport containment and true-size media. */
/* Without this, an offscreen horizontal carousel can move the *entire* mobile
   viewport, leaving header, offer, and product section partially offscreen. */
html:has(body.home),body.home{
  max-width:100%!important;width:100%!important;overflow-x:clip!important;
  overscroll-behavior-x:none;
}
body.home{position:relative!important;}
body.home :where(main,.home-editorial,.editorial-split,.editorial-flow,.flow-selection,.flow-heading,.product-carousel,.category-mosaic,.photo-banner,.style-journal,.journal-heading,.journal-navigation,.site-header,.navigation-island){
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
body.home main.home-editorial,body.home .editorial-flow,body.home .style-journal{
  width:100%!important;max-width:100%!important;overflow-x:clip!important;
}
body.home .editorial-split{width:100%!important;max-width:1450px!important;margin-inline:auto!important;overflow:hidden!important;}
body.home .flow-selection{max-width:1450px!important;overflow:hidden!important;}
body.home .flow-selection .product-carousel,
body.home .flow-selection .carousel-track{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;}
body.home .flow-selection .carousel-track>.product-grid{max-width:100%!important;min-width:0!important;}
body.home .style-journal .journal-track{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;scrollbar-width:none;}
body.home .journal-frame{scroll-snap-align:start;}
/* The opening image is a complete designed advert, including a red CTA.
   Render its actual aspect ratio (never letterbox inside an imposed height).
   The entire art, including the baked-in red CTA, is one accessible link. */
body.home .editorial-split>.campaign-feature--opening-offer{
  position:relative!important;display:block!important;width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  padding:0!important;margin:0!important;aspect-ratio:auto!important;
  overflow:hidden!important;border:0!important;border-radius:10px!important;
  background:transparent!important;box-shadow:none!important;
}
body.home .campaign-feature--opening-offer .campaign-offer-visual{
  position:relative!important;inset:auto!important;display:block!important;
  width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  line-height:0!important;border-radius:10px!important;
}
body.home .campaign-feature--opening-offer .campaign-offer-visual img{
  position:relative!important;inset:auto!important;display:block!important;
  width:100%!important;height:auto!important;min-height:0!important;max-width:100%!important;max-height:none!important;
  aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;
  padding:0!important;margin:0!important;transform:none!important;filter:none!important;
  border:0!important;mix-blend-mode:normal!important;
}
body.home .campaign-feature--opening-offer::before,body.home .campaign-feature--opening-offer::after{display:none!important;content:none!important;}
body.home .campaign-offer-floating{display:none!important;}
body.home .campaign-offer-visual:focus-visible{outline:3px solid #925a3c;outline-offset:-3px;}
/* Four exact user-provided compositions in an editorial card, not dynamically
   substituted by individual product photos. */
body.home .category-mosaic{
  width:100%!important;max-width:1450px!important;margin-inline:auto!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(9px,1.4vw,18px)!important;padding:0 clamp(18px,3.2vw,46px)!important;
  background:transparent!important;
}
body.home .category-mosaic .category-tile--editorial{
  display:flex!important;flex-direction:column!important;position:relative!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;max-height:none!important;aspect-ratio:auto!important;
  padding:0!important;margin:0!important;overflow:hidden!important;
  background:#f1ebe4!important;border:1px solid #e6dbd0!important;
  border-radius:12px!important;box-shadow:0 6px 22px rgba(48,31,23,.045);
}
body.home .category-mosaic .category-tile--editorial>img{
  position:relative!important;inset:auto!important;display:block!important;
  flex:0 0 auto;width:100%!important;max-width:100%!important;height:auto!important;
  aspect-ratio:1/1!important;object-fit:contain!important;object-position:center!important;
  margin:0!important;padding:0!important;transform:none!important;filter:none!important;opacity:1!important;
  border-radius:0!important;mix-blend-mode:normal!important;
}
body.home .category-mosaic .category-tile--editorial .category-tile__caption{
  position:relative!important;inset:auto!important;flex:1 0 auto;
  width:100%!important;min-height:72px!important;height:auto!important;
  padding:12px 8px 15px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  flex-direction:column!important;gap:5px!important;background:#efe8df!important;
}
body.home .category-mosaic .category-tile--editorial .category-tile__caption strong{
  font-size:clamp(12px,1.15vw,17px)!important;line-height:1.2!important;text-align:center!important;
}
body.home .category-mosaic .category-tile--editorial .category-number{top:10px!important;left:10px!important;}
/* Portrait video stays proportional, unclipped, and free of native-player UI.
   The user can play/pause and mute/unmute with two accessible small buttons. */
body.home .photo-banner{
  display:grid!important;grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;
  gap:clamp(18px,4vw,65px)!important;align-items:center!important;
  width:100%!important;height:clamp(345px,37vw,480px)!important;
  min-height:0!important;max-height:480px!important;
  padding:clamp(18px,2.8vw,34px)!important;
  overflow:hidden!important;border-radius:12px!important;background:#eee7df!important;
}
body.home .photo-banner .vr-banner-media{
  position:relative!important;inset:auto!important;align-self:stretch!important;justify-self:center!important;
  width:auto!important;max-width:min(100%,320px)!important;height:100%!important;min-height:0!important;
  aspect-ratio:9/16!important;flex:0 0 auto!important;
  border-radius:10px!important;overflow:hidden!important;background:#ded5cc!important;
}
body.home .photo-banner .vr-banner-media>.vr-banner-video,
body.home .photo-banner .vr-banner-media--photo>img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;object-fit:cover!important;
  object-position:center center!important;transform:none!important;filter:none!important;
  border:0!important;padding:0!important;margin:0!important;
}
body.home .photo-banner .vr-banner-media>.vr-banner-video{pointer-events:none!important;cursor:default!important;}
body.home .photo-banner .vr-banner-media video::-webkit-media-controls,
body.home .photo-banner .vr-banner-media video::-webkit-media-controls-panel,
body.home .photo-banner .vr-banner-media video::-webkit-media-controls-start-playback-button{
  display:none!important;opacity:0!important;pointer-events:none!important;
}
body.home .photo-banner .photo-banner-copy{
  position:relative!important;inset:auto!important;width:100%!important;max-width:600px!important;min-width:0!important;
  align-self:center!important;justify-self:center!important;
  padding:0!important;margin:0!important;display:flex!important;
  flex-direction:column!important;align-items:center!important;text-align:center!important;
}
body.home .photo-banner .photo-banner-copy h2{font-size:clamp(28px,3vw,46px)!important;line-height:1.13!important;}
body.home .vr-video-controls{
  position:absolute!important;left:auto!important;right:10px!important;bottom:10px!important;top:auto!important;
  width:auto!important;display:flex!important;gap:8px!important;z-index:5!important;
  pointer-events:none!important;opacity:.92!important;
}
body.home .vr-video-controls .vr-video-control{
  pointer-events:auto!important;display:grid!important;place-items:center!important;
  flex:0 0 37px!important;width:37px!important;height:37px!important;
  padding:0!important;border:1px solid #e4d9ce!important;border-radius:50%!important;
  font-size:17px!important;background:rgba(255,251,246,.93)!important;color:#342821!important;
  cursor:pointer!important;box-shadow:0 3px 12px #20160d2a!important;
}
body.home .vr-video-control:focus-visible{outline:3px solid #985f43!important;outline-offset:2px!important;}
/* Ticker must be clipped inside its own viewport, not widen the document. */
body.home .announcement.announcement-benefits.vr-announcement-ticker,
.announcement.announcement-benefits.vr-announcement-ticker{
  position:relative!important;display:block!important;left:0!important;right:0!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  overflow:hidden!important;contain:layout paint!important;white-space:nowrap!important;
}
.vr-announcement-ticker .vr-benefit-marquee{max-width:none!important;}
@media(max-width:760px){
  body.home .editorial-split{
    display:flex!important;flex-direction:column!important;gap:10px!important;
    padding:0 14px!important;width:100%!important;max-width:100%!important;
  }
  body.home .editorial-split>.campaign-anchor{
    width:100%!important;max-width:100%!important;height:clamp(415px,113vw,520px)!important;
    max-height:520px!important;min-height:0!important;
  }
  body.home .editorial-split>.campaign-feature--opening-offer{width:100%!important;height:auto!important;max-height:none!important;}
  body.home .flow-selection{padding-inline:14px!important;}
  body.home .product-carousel .carousel-track>.product-grid{--vr-columns:1.48!important;--vr-gap:10px!important;}
  body.home .category-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;padding:0 14px!important;}
  body.home .category-mosaic .category-tile--editorial .category-tile__caption{min-height:67px!important;padding:10px 5px 13px!important;}
  body.home .category-mosaic .category-tile--editorial .category-tile__caption strong{font-size:clamp(12px,3.2vw,15px)!important;}
  body.home .photo-banner{
    display:flex!important;flex-direction:column!important;align-items:center!important;
    width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;
    margin:16px auto 26px!important;gap:16px!important;
    height:auto!important;max-height:none!important;min-height:0!important;
    padding:17px 15px 25px!important;
  }
  body.home .photo-banner .vr-banner-media{
    align-self:center!important;flex:0 0 auto!important;width:min(100%,268px)!important;
    max-width:268px!important;height:auto!important;aspect-ratio:9/16!important;
    margin:0!important;padding:0!important;
  }
  body.home .photo-banner .photo-banner-copy{min-height:0!important;max-width:100%!important;margin:0!important;padding:0!important;}
  body.home .photo-banner .photo-banner-copy h2{font-size:clamp(26px,8vw,38px)!important;margin:8px 0 10px!important;}
  body.home .photo-banner .photo-banner-copy p:not(.eyebrow){font-size:12px!important;line-height:1.45!important;}
  body.home .style-journal{width:100%!important;max-width:100%!important;overflow:clip!important;}
  body.home .style-journal .journal-track{padding:0 14px!important;}
  body.home .style-journal .journal-frame{flex:0 0 min(75vw,330px)!important;width:min(75vw,330px)!important;}
  body.home .site-header{width:100%!important;max-width:100%!important;min-width:0!important;}
}
@media(prefers-reduced-motion:reduce){
  .vr-announcement-ticker .vr-benefit-marquee{animation:none!important;transform:none!important;}
  body.home .vr-video-controls .vr-video-control{transition:none!important;}
}

/* Keep the desktop opening campaign editorial rather than billboard-sized. */
@media(min-width:761px){
 body.home .editorial-split>.campaign-feature--opening-offer{max-width:1050px!important;margin-left:auto!important;margin-right:auto!important;}
}
