/* ── RESET & BASE ── */
img, svg, video, canvas {
  max-width: 100%;
  height: auto;
  display: block;
}

button, input, textarea, select {
  font: inherit;
  color: inherit;
}

a:focus-visible, button:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fade-up {
    opacity: 1;
    transform: none;
  }
}

/* Font fallback if Google Fonts fail */
@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  font-weight: 300 900;
  font-display: swap;
}
@font-face {
  font-family: 'Syne Fallback';
  src: local('Georgia');
  font-weight: 700 800;
  font-display: swap;
}