/* Boca Grande — tokens de marca compartidos por el menú y el panel */
:root {
  --navy-950: #070F1F;
  --navy-900: #0B1730;
  --navy-800: #102241;
  --navy-700: #1A3360;
  --navy-500: #3C5A8C;
  --ivory: #F6F1E7;
  --sand: #E8DCC5;
  --white: #FFFFFF;
  --gold: #C9A55C;      /* latón / azafrán */
  --gold-soft: #E3CC97;
  --terracotta: #C0583A;
  --sea: #6E9BB3;
  --olive: #7F8C5A;

  --serif: 'Cormorant Garamond', 'Amiri', Georgia, serif;
  --sans: 'Jost', 'IBM Plex Sans Arabic', system-ui, sans-serif;

  --radius: 14px;
  --radius-lg: 22px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

:lang(ar) {
  --serif: 'Amiri', 'Cormorant Garamond', serif;
  --sans: 'IBM Plex Sans Arabic', 'Jost', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--sans); line-height: 1.5; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

.anchor-mark { color: inherit; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
