/* Behaviour layer that replaces the React/framer-motion runtime of the original page */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #FFF9F5; }

/* Scroll reveal (fade-up), same as the original's motion variants */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .6s ease-out, transform .6s ease-out; }
[data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* Gold CTA hover / tap */
[data-cta] { transition: transform .2s ease, background-color .2s ease; cursor: pointer; }
[data-cta]:hover { transform: translateY(-2px); background: #D99A00 !important; }
[data-cta]:active { transform: scale(.98); }

/* Carousels: native horizontal scrolling with snap (touch-friendly on mobile) */
.sw-viewport { overflow-x: auto !important; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.sw-viewport::-webkit-scrollbar { display: none; }
.sw-viewport > .flex > * { scroll-snap-align: start; }
.sw-viewport.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.sw-viewport.is-dragging img { pointer-events: none; }

/* FAQ: hide default disclosure marker */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
