/* Motion stays secondary to the product. No continuous loops or scroll interception. */
html.ao-motion { scroll-behavior: smooth; scroll-padding-top: 24px; }
.ao { --motion-ease: cubic-bezier(.22,1,.36,1); }
.ao .arrow { display: inline-block; transition: transform 350ms var(--motion-ease); }
.ao .btn { position: relative; isolation: isolate; overflow: hidden; transition: background 250ms ease, box-shadow 350ms ease, transform 350ms var(--motion-ease); }
.ao .btn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg,transparent 20%,#ffffff18 48%,transparent 75%); transform: translateX(-130%); pointer-events: none; transition: transform 650ms var(--motion-ease); }
.ao .text-link { transition: color 250ms ease, border-color 250ms ease; }
.ao .desktop-nav a { position: relative; border-bottom-color: transparent!important; }
.ao .desktop-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: right; transition: transform 350ms var(--motion-ease); }
.ao .desktop-nav a.active::after { transform: scaleX(1); }
.ao .product-visual { transition: box-shadow 450ms ease; }
.ao .product-visual img { transition: transform 850ms var(--motion-ease); }
.ao .product-visual .view-product { transition: background 250ms ease, color 250ms ease, transform 350ms var(--motion-ease); }
.ao .journal-card img { transition: filter 400ms ease; }
.ao .variant-options button { transition: background 220ms ease, border-color 220ms ease, color 220ms ease; }
.ao .editorial-image { overflow: hidden; }
.ao .ao-depth-image { transform: translate3d(0,var(--ao-depth-y,0px),0) scale(1.065); }
.ao .mobile-nav:not([hidden]),.ao .search-panel:not([hidden]) { animation: ao-panel-in 250ms var(--motion-ease) both; }
.ao .lightbox[open] { animation: ao-dialog-in 280ms var(--motion-ease) both; }
.ao .lightbox[open]::backdrop { animation: ao-backdrop-in 240ms ease both; }
.ao .btn:active { transform: translateY(0) scale(.985); }
.ao a:focus-visible .arrow,.ao button:focus-visible .arrow { transform: translate(2px,-2px); }
@media (hover:hover) and (pointer:fine) {
  .ao .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px -12px #10243b60; }
  .ao .btn:hover::before { transform: translateX(130%); }
  .ao a:hover > .arrow,.ao .btn:hover .arrow { transform: translate(3px,-3px); }
  .ao .desktop-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
  .ao .product-card:hover .product-visual { box-shadow: 0 15px 24px -22px #0b1b2d90; }
  .ao .product-card:hover .product-visual img { transform: scale(1.045); }
  .ao .product-card:hover .view-product { background: var(--red); color: white; transform: translate(-2px,-2px); }
  .ao .product-card:hover .view-product .arrow { transform: translate(1px,-1px); }
  .ao .journal-card:hover img { filter: brightness(1.08); }
  .ao .journal-card:hover .arrow { transform: translate(3px,-3px); }
}
@keyframes ao-panel-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ao-dialog-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ao-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@media (hover:none) {
  .ao .product-card:hover .product-visual img,.ao .btn:hover { transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  html.ao-motion { scroll-behavior: auto!important; }
  .ao *, .ao *::before, .ao *::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
  .ao .arrow { transform: none!important; }
  .ao .ao-depth-image,.ao .btn:hover,.ao .btn:active,.ao .product-card:hover .product-visual img,
  .ao .product-card:hover .view-product,.ao a:hover .arrow,.ao a:focus-visible .arrow,.ao button:focus-visible .arrow { transform: none!important; }
}
@media print {
  .ao [data-ao-reveal] { opacity: 1!important; transform: none!important; }
  .ao .ao-depth-image { transform: none!important; }
}
