/* ═══════════════════════════════════════════════════════════════════════════
   BASE — Root Variables, Reset & Global Styles
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --slide-duration: 8s;
  --transition-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --navbar-height: 72px;
  --gold: #D4AF37;
  --saffron: #E65100;
  --saffron-light: #FF9933;
  --charcoal: #212121;
  --sandalwood: #FCF9F2;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--charcoal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body p,
body li {
  color: rgba(33, 33, 33, 0.86);
  line-height: 1.8;
}

body .text-charcoal\/40 {
  color: rgba(33, 33, 33, 0.72) !important;
}

body .text-charcoal\/45 {
  color: rgba(33, 33, 33, 0.74) !important;
}

body .text-charcoal\/50 {
  color: rgba(33, 33, 33, 0.78) !important;
}

body .text-charcoal\/55 {
  color: rgba(33, 33, 33, 0.8) !important;
}

body .text-charcoal\/60 {
  color: rgba(33, 33, 33, 0.84) !important;
}

body .text-white\/30 {
  color: rgba(255, 255, 255, 0.72) !important;
}

body .text-white\/40 {
  color: rgba(255, 255, 255, 0.78) !important;
}

body .text-white\/50 {
  color: rgba(255, 255, 255, 0.82) !important;
}

body .text-white\/60 {
  color: rgba(255, 255, 255, 0.86) !important;
}

/* ─── Focus States ────────────────────────────────────────────────────────── */

*:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ─── Selection ───────────────────────────────────────────────────────────── */

::selection {
  background-color: rgba(212, 175, 55, 0.2);
  color: var(--charcoal);
}

/* ─── Reduced Motion ────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .hero-slide .slide-bg {
    animation: none !important;
  }

  .hero-slide {
    transition: opacity 0.3s ease !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
