/* ============================================================
   RESET + VARIABLES GLOBALES DE MARCA
   ============================================================ */

*, *::before, *::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root{
  /* Paleta — eje negro-cálido / crema / oro */
  --bg-deep: #0a0805;
  --bg-surface: rgba(20, 15, 10, 0.72);
  --bg-surface-soft: rgba(20, 15, 10, 0.45);
  --cream: #f4ead5;
  --cream-dim: rgba(244, 234, 213, 0.62);
  --cream-faint: rgba(244, 234, 213, 0.32);
  --gold: #c9a961;
  --gold-light: #e8d098;
  --gold-line: rgba(201, 169, 97, 0.28);
  --gold-line-strong: rgba(201, 169, 97, 0.5);

  /* Tipografía */
  --font-display: 'Playfair Display', serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', Consolas, monospace;

  /* Espaciado / geometría */
  --radius: 3px;
  --radius-lg: 4px;
  --ease: cubic-bezier(0.2, 0.9, 0.3, 1);
  --container: 1120px;

  /* Sombras */
  --shadow-soft: 0 10px 40px -12px rgba(0, 0, 0, 0.6);
  --shadow-gold: 0 0 0 1px var(--gold-line), 0 12px 30px -10px rgba(201, 169, 97, 0.25);
}

html{
  scroll-behavior: smooth;
}

body{
  background: var(--bg-deep);
  color: var(--cream);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, svg{ display: block; max-width: 100%; }

a{
  color: inherit;
  text-decoration: none;
}

button, input{
  font-family: inherit;
  color: inherit;
}

ul, ol{ list-style: none; }

h1, h2, h3, h4{
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.15;
  color: var(--cream);
}

em{
  font-style: italic;
  color: var(--gold);
}

::selection{
  background: var(--gold);
  color: var(--bg-deep);
}

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

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