/* Enhancement only: content remains visible when JavaScript is unavailable. */
@media(prefers-reduced-motion:no-preference){
 .reveal-pending{opacity:0;transform:translateY(12px)}
 .reveal-ready{transition:opacity 420ms ease-out,transform 420ms ease-out}
 .reveal-ready.is-visible{opacity:1;transform:none}
 .primary,.nav-cta{transition:background-color 180ms ease,border-color 180ms ease}
 .portrait img,.shipping-photo img,.delivery-grid img{transition:transform 450ms ease-out}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .portrait:hover img,.shipping-photo:hover img,.delivery-grid figure:hover img{transform:scale(1.03)}
}
.shipping-photo{overflow:hidden}
.delivery-grid figcaption{position:relative;background:#fff}
/* One shared sweep keeps a constant speed across logo, gap and lettering. */
.brand{position:relative;isolation:isolate}
.brand .brand-name{color:#171a19;background:none;animation:none;opacity:1}
@media(prefers-reduced-motion:no-preference){
 .brand::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.12) 55%,transparent 60%) 100% 0 / 250% 100% no-repeat;animation:brand-sheen 9s linear infinite}
 @keyframes brand-sheen{0%{background-position:100% 0}25%,100%{background-position:0% 0}}
}

/* One short full turn, followed by a long pause. */
@media(prefers-reduced-motion:no-preference){
 .brand-logo{transform-origin:center;animation:brand-logo-turn 12s cubic-bezier(.45,0,.25,1) infinite}
 @keyframes brand-logo-turn{0%,75%{transform:rotate(0deg)}87.5%,100%{transform:rotate(360deg)}}
}
