/* ADCM — Design tokens
 * Verde y teal medidos con precisión de píxel del master del logo
 * (adcm-wordmark.png 1601×360). Contrastes verificados — ver la tabla al final.
 *
 * El fondo es NEUTRO, no azul. El navy #001D38 venía del CSS del sitio de 2023 y
 * competía con los acentos del logo: azul contra verde-teal enturbia a los dos. Sobre
 * negro, el verde y el teal son los únicos colores de la página. Además #0A0A0B es lo
 * más cercano al #1A1A1A sobre el que ya vive el isotipo.
 */

/* ---------- Fuentes self-hosted (cero peticiones externas) ---------- */

/* Display = Montserrat ExtraBold REGULAR, no Alt1.
 * Alt1 es un corte de alternates estilísticos: la E sale como tres barras sueltas y la A
 * como chevron sin travesaño ("Ξngineering", "ΛI"). Perfecto para el logotipo de 4 letras
 * — de ahí viene la A del logo — e inservible para titulares. El .woff2 de Alt1 se movió
 * a img/brand/ como fuente de referencia del logo, no como webfont del sitio. */
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-latin.woff2') format('woff2');
  font-weight: 700 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                 U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-latin-ext.woff2') format('woff2');
  font-weight: 700 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-latin.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                 U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext: acentos y ñ — necesario para el /es/ de la v1.1 */
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-latin-ext.woff2') format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* ---------- Color ---------- */
  --bg:          #0A0A0B;  /* fondo principal */
  --surface:     #141416;  /* tarjetas y superficies elevadas */
  --surface-2:   #1A1A1D;  /* hover / superficie sobre superficie */
  --border:      #26262A;  /* solo decorativo — no alcanza AA para texto */

  --green:       #13F017;  /* acento primario — SOLO áreas pequeñas */
  --teal:        #7ED8CF;  /* acento secundario — bloques y decoración */

  --text:        #EDEFF2;  /* 17.2x sobre --bg */
  --text-muted:  #A0A6AE;  /*  8.1x sobre --bg */
  --text-on-accent: #0A0A0B; /* texto oscuro sobre botón verde — 12.7x */

  /* ---------- Tipografía ---------- */
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --step--1: clamp(0.83rem, 0.80rem + 0.15vw, 0.91rem);
  --step-0:  clamp(1.00rem, 0.96rem + 0.20vw, 1.13rem);
  --step-1:  clamp(1.25rem, 1.18rem + 0.36vw, 1.50rem);
  --step-2:  clamp(1.56rem, 1.43rem + 0.66vw, 2.00rem);
  --step-3:  clamp(1.95rem, 1.73rem + 1.11vw, 2.66rem);
  --step-4:  clamp(2.44rem, 2.07rem + 1.83vw, 3.55rem);
  --step-5:  clamp(3.05rem, 2.46rem + 2.94vw, 4.73rem);

  --leading-tight: 1.1;
  --leading-snug:  1.35;
  --leading-body:  1.65;

  /* ---------- Espaciado ---------- */
  --space-2xs: 0.25rem;  --space-xs: 0.5rem;   --space-s: 0.75rem;
  --space-m:   1rem;     --space-l:  1.5rem;   --space-xl: 2.5rem;
  --space-2xl: 4rem;     --space-3xl: 6rem;    --space-4xl: 8rem;

  /* ---------- Layout ---------- */
  --measure: 68ch;          /* ancho máximo de texto corrido */
  --container: 1200px;
  --container-narrow: 780px;
  --radius: 10px;
  --radius-lg: 16px;
  /* Altura natural del header (fijo, transparente sobre el hero), MEDIDA en
     navegador real: la dicta el boton Menu (~42px + padding). Igual en desktop
     y movil. El body la usa como padding-top; el hero se mete debajo. */
  --header-h: 69px;

  /* ---------- Movimiento ---------- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* Ease del nav kinetic (Sterling Gate): pesado y fluido. */
  --ease-nav: cubic-bezier(0.65, 0.01, 0.05, 0.99);
  --dur: 220ms;
}

/* El sitio es dark por diseño. No hay modo claro en v1 — pero se declara el
   color-scheme para que los controles nativos del navegador combinen. */
:root { color-scheme: dark; }


@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;
  }
}

/* ---------- Contrastes verificados (WCAG AA: 4.5 texto · 3.0 UI) ----------
 *  color            vs --bg     vs --surface
 *  --text           17.2x        15.5x       ✅ texto
 *  --text-muted      8.1x         7.3x       ✅ texto
 *  --green          12.7x        11.4x       ✅ texto
 *  --teal           11.9x        10.7x       ✅ texto
 *  --border          1.6x         1.4x       ❌ solo decorativo
 *
 *  ⚠ DISCIPLINA DEL VERDE: #13F017 es casi neón. Va SOLO en áreas pequeñas de alta
 *  intención — botones, subrayados, iconos, números clave. En superficies amplias el
 *  sitio deriva a estética crypto/gaming, que es lo contrario de la credibilidad que
 *  ADCM necesita ante un cliente enterprise o un revisor bancario. Para bloques
 *  decorativos grandes se usa --teal.
 */
