/* Decorative products remain within the desktop gutters, away from reading and ordering. */
.ambient-badges { pointer-events:none; }
.ambient-rail { position:fixed; top:155px; bottom:115px; width:140px; z-index:0; overflow:hidden; pointer-events:none; mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent); opacity:.72; }
.ambient-rail--left { left:max(18px,calc((100vw - 1440px)/4 - 70px)); }
.ambient-rail--right { right:max(18px,calc((100vw - 1440px)/4 - 70px)); }
.ambient-track { animation:ambient-travel 48s linear infinite; will-change:transform; }
.ambient-rail--right .ambient-track { animation-direction:reverse; animation-duration:54s; }
.ambient-group { display:flex; flex-direction:column; align-items:center; gap:90px; padding:45px 0; }
.ambient-group img { display:block; width:128px; height:145px; object-fit:contain; filter:drop-shadow(0 7px 9px #58452c14); }
.ambient-group img:nth-child(2) { width:85px; transform:rotate(-9deg); }
.ambient-group img:nth-child(3) { transform:rotate(7deg); }
@keyframes ambient-travel { to { transform:translateY(-50%); } }
.hero-badge-stage { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:250px 22px 132px; width:100%; gap:0 18px; align-items:center; margin:0 0 12px; }
.hero-badge-stage>.collection-cutout { grid-column:1/-1; width:100%; height:265px; object-fit:contain; margin:0; }
.hero-new-label { grid-column:1/-1; font-size:8px; font-weight:600; letter-spacing:.18em; text-align:center; color:#846c4e; }
.hero-new-badge { display:block; width:100%; height:130px; object-fit:contain; animation:hero-float 7s ease-in-out infinite; }
.hero-new-badge.silver-black { animation-delay:-3.5s; }
@keyframes hero-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media(max-width:1799px) { .ambient-rail { display:none; } }
@media(max-width:1100px) { .hero-badge-stage { grid-template-rows:220px 22px 110px; gap:0 8px; } .hero-badge-stage>.collection-cutout { height:230px; } .hero-new-badge { height:105px; } }
@media(max-width:760px) { .hero-badge-stage { grid-template-rows:230px 25px 112px; } .hero-badge-stage>.collection-cutout { height:250px; } .hero-new-badge { height:110px; } }
@media(prefers-reduced-motion:reduce) { .ambient-track,.hero-new-badge { animation:none; will-change:auto; } }
@media print { .ambient-badges { display:none; } }
