/* Additive effects only: no changes to grid, spacing, type, colours or content. */
html.lenis{scroll-behavior:auto!important}
.motion-ready .hero-bg{translate:0 var(--hero-bg-y,0px);will-change:translate}
.motion-ready .hero h1{translate:0 var(--hero-type-y,0px)}
.motion-ready .hero-anno .w{isolation:isolate;transform:perspective(1000px) translateY(calc(var(--float-y,0px) + var(--hero-object-y,0px))) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--hero-scale,1));will-change:transform}
.motion-ready .hero-anno .w img{animation:watch-arrive 1.35s var(--ease) both .15s}
.motion-ready .hero-anno .w::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,245,221,.24) 48%,transparent 60%) 180% 0/350% 100%;mask-image:var(--watch-mask);mask-size:100% 100%;mask-repeat:no-repeat;animation:watch-sheen 10s ease-in-out 1.2s infinite;animation-play-state:paused}
.motion-ready .hero.motion-active .w::after{animation-play-state:running}
@keyframes watch-arrive{from{opacity:0;transform:translateY(25px) rotate(-6deg) scale(.96)}to{opacity:1;transform:none}}
@keyframes watch-sheen{0%{background-position:180% 0;opacity:0}6%{opacity:1}18%,100%{background-position:-80% 0;opacity:0}}
.dlg.product-transition[open]{animation:detail-reveal .35s ease-out}.dlg.product-transition .w img{animation:none;transform-origin:top left}
@keyframes detail-reveal{from{opacity:0}to{opacity:1}}
.image-swap{position:relative}.image-swap .variant-ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2;animation:none!important}
.selection-preview img{transition:opacity .2s ease-out,transform .35s ease-out}.selection-preview.selection-updated img{animation:selection-arrive .4s var(--ease)}
@keyframes selection-arrive{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-anno .w::after{display:none}}
.motion-ready .hero-anno .w::before{transform:translate(var(--light-x,0px),var(--light-y,0px)) scale(1.12);background:radial-gradient(closest-side,rgba(231,201,181,.2),rgba(231,201,181,.07) 48%,transparent 100%);filter:blur(10px)}
.motion-ready .hero-grid>div:first-child>.lbl,.motion-ready .hero h1,.motion-ready .hero .lead,.motion-ready .hero-cta{animation:hero-fade-up .95s var(--ease) both}
.motion-ready .hero h1{animation-delay:.1s}.motion-ready .hero .lead{animation-delay:.2s}.motion-ready .hero-cta{animation-delay:.3s}
@keyframes hero-fade-up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.btn{transition:background .3s ease-out,color .3s ease-out,border-color .3s ease-out,translate .3s ease-out,box-shadow .3s ease-out}
.nav a,.foot a{transition:color .3s ease-out,opacity .3s ease-out}
.chip,.sw button,.open-d{transition:background .3s ease-out,color .3s ease-out,border-color .3s ease-out,transform .3s ease-out}
@media(hover:hover) and (pointer:fine){
  .btn:hover{translate:0 -2px;box-shadow:0 7px 18px -12px rgba(236,228,214,.35)}
  .btn:active{translate:0 0;box-shadow:none}
  .card,.js .card.rv{transition:opacity .85s var(--ease),transform .3s ease-out,border-color .3s ease-out,box-shadow .3s ease-out}
  .card-v img{transition:transform .65s var(--ease),opacity .3s ease-out}
}
@media(hover:none),(pointer:coarse){.motion-ready .hero-bg,.motion-ready .hero h1{translate:none}.motion-ready .hero-anno .w{will-change:auto}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .hero-bg,.hero h1,.hero-anno .w,.btn{transform:none!important;translate:none!important;will-change:auto!important}
  .js .rv{opacity:1!important;transform:none!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
.mobile-order{display:none}
@media(max-width:760px){.mobile-order:not([hidden]){position:fixed;z-index:45;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:rgba(26,23,20,.96);border-top:1px solid var(--line-2);box-shadow:0 -10px 35px #0003;backdrop-filter:blur(12px)}.mobile-order>div{display:grid;gap:4px;min-width:0}.mobile-order b{font:500 16px/1.3 var(--f-body);color:var(--ivory);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-order span{font:400 13px/1.3 var(--f-body);color:var(--ivory-2)}.mobile-order .btn{padding:13px 16px;font-size:10px;min-height:44px;white-space:nowrap}.mobile-order .cs{font-size:12px}.dlg-price{position:sticky;bottom:-25px;background:var(--ink-2);padding-bottom:12px;z-index:5}.dlg-b{padding-bottom:30px}}
.card-f>button:only-child{margin-left:auto}.dlg-price>button:only-child{margin-left:auto}
.variant-ghost{pointer-events:none!important}.dlg .w img{animation:none}
