/* Stage 12 — restrained motion: progressive enhancement only, no content hidden by default. */
:root { --motion-pointer-x: 0px; --motion-pointer-y: 0px; --motion-duration: 620ms; }
.hero-stage__image { transform: scale(1.025) translate3d(var(--motion-pointer-x), var(--motion-pointer-y), 0); transform-origin: center; will-change: transform; }
.hero-copy__eyebrow, .hero-copy__title, .hero-copy__countries, .hero-copy__description, .hero-cta { animation: kb-intro-rise 700ms cubic-bezier(.2,.7,.2,1) both; }
.hero-copy__title { animation-delay: 90ms; }
.hero-copy__countries { animation-delay: 150ms; }
.hero-copy__description { animation-delay: 210ms; }
.hero-cta { animation-delay: 270ms; }
.feature-card, .city-card, .quote-card, .culture-card, .food-card { transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease; }
@media (hover: hover) and (pointer: fine) {
  .feature-card:hover { transform: translateY(-4px); }
  .city-card:hover, .quote-card:hover { transform: translateY(-2px); }
}
@keyframes kb-intro-rise { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
/* Runtime reveals are opt-in: content stays visible if JS/IntersectionObserver is unavailable. */
.motion-ready [data-motion-reveal] { opacity: 0; transform: translateY(14px); transition: opacity 520ms ease, transform 520ms cubic-bezier(.2,.7,.2,1); }
.motion-ready [data-motion-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  :root { --motion-pointer-x: 0px; --motion-pointer-y: 0px; }
  .hero-stage__image { transform: none !important; will-change: auto; }
  .hero-copy__eyebrow, .hero-copy__title, .hero-copy__countries, .hero-copy__description, .hero-cta { animation: none !important; }
  .feature-card, .city-card, .quote-card, .culture-card, .food-card,
  .motion-ready [data-motion-reveal], .motion-ready [data-motion-reveal].is-visible { transition: none !important; transform: none !important; opacity: 1 !important; }
}
@media (max-width: 760px), (pointer: coarse) {
  .hero-stage__image { transform: none; will-change: auto; }
  .feature-card, .city-card, .quote-card, .culture-card, .food-card { transition-duration: 160ms; }
}
