/* Base content remains visible and stationary without JS. */
[data-customer-motion] .btn { min-height: 44px; }
[data-customer-motion] .btn:hover { transform: none; }
[data-customer-motion] .btn:focus-visible { outline: 3px solid var(--olive-dark); outline-offset: 4px; }
.motion-cta, .motion-card { position: relative; }
.motion-cta::after, .motion-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; }
.motion-cta::after { background: radial-gradient(circle, rgba(198,155,87,.32), transparent 65%); }
@media (prefers-reduced-motion: no-preference) {
  .motion-ripple::after { animation: motion-ripple 420ms ease-out; }
}
@keyframes motion-ripple { from { opacity: .7; scale: .2; } to { opacity: 0; scale: 1; } }
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .motion-card.motion-active::after { opacity: 1; background: radial-gradient(circle at var(--glare-x, 50%) var(--glare-y, 50%), rgba(198,155,87,.12), transparent 65%); }
}
@media (prefers-reduced-motion: reduce) {
  [data-customer-motion] *, [data-customer-motion] *::before, [data-customer-motion] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  [data-customer-motion] .motion-active { transform: none !important; }
}
@media print {
  [data-customer-motion] * { transform: none !important; translate: none !important; opacity: 1 !important; animation: none !important; }
  .motion-cta::after, .motion-card::after { display: none; }
}
