/* =====================================================================
   Quezlar · Design System · tokens + tipografía  (v1.0)
   Un solo archivo para los 5 sitios (+ /en y legales). Se sirve en /ds/
   desde cada subdominio (mismo origen), así que no hay CORS ni duplicados.
   Display: Cormorant Garamond · Texto/UI: Plus Jakarta Sans (ambas OFL).
   ===================================================================== */

/* ---------- Fuentes autoalojadas (subconjunto latino: incluye á é í ó ú ñ ü ¿ ¡) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/ds/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');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:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/ds/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');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:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/ds/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');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:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/ds/fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2');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:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/ds/fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2');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:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/ds/fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2');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:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/ds/fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');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}

/* Respaldos con métricas ajustadas: mientras cargan las fuentes, el texto ocupa
   el mismo espacio y la página no "salta" (medido contra Arial y Georgia). */
@font-face{font-family:'Quezlar Text Fallback';src:local('Arial'),local('ArialMT'),local('Arimo'),local('Liberation Sans');size-adjust:105.4%;ascent-override:98.5%;descent-override:21.1%;line-gap-override:0%}
@font-face{font-family:'Quezlar Display Fallback';src:local('Georgia'),local('Gelasio');size-adjust:88.1%;ascent-override:104.8%;descent-override:32.6%;line-gap-override:0%}

:root{
  /* ---------- Color (tokens vigentes del sitio, sin cambios) ---------- */
  --green:#0E4F3C;
  --green-dark:#0A3B2C;
  --green-accent:#1C7A5B;
  --green-tint:#E9F2ED;
  --gold:#B8912B;
  --gold-light:#D8B24A;     /* oro sobre fondos oscuros y video */
  --gold-text:#8A6D1A;      /* oro para texto sobre fondos claros (contraste AA) */
  --gold-tint:#F8EFD6;
  --ink:#14181B;
  --subink:#5B636B;
  --on-green-sub:#D8E6E0;
  --ivory:#FAFAF8;          /* fondo de página */
  --overlay-rgb:4,18,13;    /* verde noche para velos sobre video: rgba(var(--overlay-rgb), .x) */

  /* ---------- Familias ---------- */
  --font-display:'Cormorant Garamond','Quezlar Display Fallback',Georgia,'Times New Roman',serif;
  --font-text:'Plus Jakarta Sans','Quezlar Text Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-icon:'Material Symbols Outlined';

  /* ---------- Escala (recalibrada: Jakarta mide ~10% más alto y ~13% más ancho que Source Sans 3) ---------- */
  --fs-hero:clamp(2.75rem, 1.9rem + 3.6vw, 4.5rem);      /* 44–72 px · H1 */
  --fs-h2:clamp(2.125rem, 1.6rem + 2.4vw, 3.5rem);       /* 34–56 px · títulos de sección */
  --fs-h3:clamp(1.5rem, 1.3rem + 0.9vw, 2.125rem);       /* 24–34 px · títulos de tarjeta (mínimo 24) */
  --fs-tagline:clamp(1.5rem, 1.25rem + 1vw, 2rem);       /* firma / frases en itálica */
  --fs-lede:1.0625rem;      /* 17 px · entradillas */
  --fs-body:1rem;           /* 16 px · texto corrido (antes 16 px en Source Sans) */
  --fs-small:.875rem;       /* 14 px */
  --fs-btn:.875rem;         /* 14 px (antes 15 px en Source Sans: misma presencia) */
  --fs-eyebrow:.6875rem;    /* 11 px (antes 12 px en Source Sans) */

  --lh-display:1.04;
  --lh-title:1.12;
  --lh-body:1.65;
  --fw-display:600;
  --fw-display-soft:500;    /* único peso con itálica cargada */
  --fw-text:400;
  --fw-ui:600;
  --fw-strong:700;
  --track-display:-.01em;
  --track-eyebrow:.18em;
}

/* ---------- Base ---------- */
html{font-synthesis:none}  /* nunca negritas/itálicas "falsas" del navegador */
body{font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-text);color:var(--ink);background:var(--ivory)}
button,input,select,textarea{font-family:inherit;font-size:inherit} /* los formularios no heredan la fuente por defecto */

h1,h2,h3,.q-display{font-family:var(--font-display);font-weight:var(--fw-display);letter-spacing:var(--track-display);font-variant-numeric:lining-nums;text-wrap:balance}
h1{font-size:var(--fs-hero);line-height:var(--lh-display)}
h2{font-size:var(--fs-h2);line-height:var(--lh-display)}
h3{font-size:var(--fs-h3);line-height:var(--lh-title)}
h4,h5,h6{font-family:var(--font-text);font-weight:var(--fw-strong);letter-spacing:0}

/* ---------- Roles ---------- */
.q-tagline{font-family:var(--font-display);font-style:italic;font-weight:var(--fw-display-soft);font-size:var(--fs-tagline);line-height:1.2;font-variant-numeric:lining-nums}
.q-quote{font-family:var(--font-display);font-style:italic;font-weight:var(--fw-display-soft);font-size:var(--fs-h3);line-height:1.2}
.q-eyebrow{font-family:var(--font-text);font-size:var(--fs-eyebrow);font-weight:var(--fw-strong);letter-spacing:var(--track-eyebrow);text-transform:uppercase}
.q-lede{font-size:var(--fs-lede);line-height:1.6;color:var(--subink)}
.q-ui-title{font-family:var(--font-text);font-weight:var(--fw-ui);font-size:1.0625rem;line-height:1.3;letter-spacing:0} /* títulos de tarjetas chicas (<24 px): nunca serif */
.btn,.q-btn{font-family:var(--font-text);font-size:var(--fs-btn);font-weight:var(--fw-ui);letter-spacing:.01em}
.q-num,table,output,.calc{font-variant-numeric:tabular-nums lining-nums} /* cifras alineadas en calculadora y tablas */
