/* Sticky header (site/sticky-header.js): slides down on scroll-up, tucks away on scroll-down. */
.is-floating{position:fixed!important;top:0;left:0;right:0;z-index:100;margin:0!important;max-width:none!important;
  background:#f3eadfe6;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid #b5967840;box-shadow:0 14px 40px -24px #51321e66;
  transform:translateY(-105%);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}
.is-floating.is-shown{transform:translateY(0)}
.is-floating.no-anim{transition:none}
/* The header's contents settle in just after the bar: a short downward drift and fade. */
.is-floating>*{transition:opacity .45s ease .08s,transform .55s cubic-bezier(.22,1,.36,1) .08s;opacity:0;transform:translateY(-8px)}
.is-floating.is-shown>*{opacity:1;transform:none}
.is-floating.no-anim>*{transition:none}
/* A thin copper line draws across the bar's bottom edge as it arrives. */
.is-floating::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,transparent,#c97b4a,transparent);transform:scaleX(0);transition:transform .9s cubic-bezier(.22,1,.36,1) .15s;pointer-events:none}
.is-floating.is-shown::after{transform:scaleX(1)}
/* Tighter padding while floating. */
.product-nav.is-floating{padding-top:14px;padding-bottom:14px}
.hero-navigation.is-floating{padding:12px 5%}
@media(prefers-reduced-motion:reduce){.is-floating,.is-floating>*,.is-floating::after{transition:none}}
/* An open mobile menu inside the floating bar scrolls rather than running off the screen. */
.product-nav.is-floating .product-links.open{max-height:calc(100svh - 80px);overflow:auto}
