/* ==========================================================================
   ANDREU GARCÍA — TOKENS
   Unica fuente de color, tipografia, ritmo y forma. Ningun valor de marca
   se escribe a pelo en un componente ni en una vista: si no esta aqui, no
   existe. Ver app/Views/_DESIGN-SYSTEM.md para el "que NO hacer" de cada uno.
   ========================================================================== */

:root {
  /* ── Paleta (brand.md §1). Los 9 valores. Ni uno mas. ─────────────────── */
  --ag-sand: #E1D2C3;
  --ag-cream: #EBD9C7;
  --ag-bronze: #765431;
  --ag-coffee: #472F16;
  --ag-espresso: #392C1F;
  --ag-bone: #F7F1EA;
  --ag-white: #FFFFFF;
  --ag-ink: #1A1512;
  --ag-bronze-light: #C39A6F;

  /* ── Roles semanticos sobre fondo CLARO (el default del sitio) ────────── */
  --ag-bg: var(--ag-bone);
  --ag-text: var(--ag-espresso);        /* 12,05:1 sobre bone */
  --ag-heading: var(--ag-coffee);       /*  9,06:1 sobre cream */
  --ag-accent: var(--ag-bronze);        /*  6,07:1 sobre bone */
  --ag-surface: var(--ag-white);
  --ag-border: var(--ag-sand);
  --ag-muted: var(--ag-coffee);

  /* Los roles sobre fondo OSCURO se reasignan en .ag-section--dark / --ink.
     El acento pasa de bronze a bronze-light: bronze sobre espresso es 1,98:1
     y es la trampa medida de esta paleta. */

  /* ── Tipografia ───────────────────────────────────────────────────────── */
  --ag-font-sans: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --ag-font-display: 'Oswald', 'Archivo Narrow', system-ui, Impact, sans-serif;
  /* La tercera voz: serif cursiva, SOLO para la palabra de acento de un titular.
     Es el contraste "limpio + organico" que pide el brief; usada de mas, deja
     de ser un acento y se convierte en ruido. */
  --ag-font-serif: 'Playfair Display', 'Iowan Old Style', Georgia, serif;

  --ag-fs-body: clamp(1.0625rem, 0.98rem + 0.35vw, 1.125rem);   /* 17 -> 18 px */
  --ag-fs-lead: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  --ag-fs-small: 0.9375rem;
  --ag-fs-eyebrow: 0.8125rem;
  --ag-fs-h1: clamp(2.75rem, 1.6rem + 5.6vw, 6rem);
  --ag-fs-h2: clamp(2.125rem, 1.4rem + 3.2vw, 3.75rem);
  --ag-fs-h3: clamp(1.25rem, 1.1rem + 0.8vw, 1.625rem);
  --ag-fs-stat: clamp(3rem, 1.9rem + 5.2vw, 5.5rem);

  --ag-lh-body: 1.6;
  --ag-lh-display: 0.95;
  --ag-tracking-display: -0.02em;
  --ag-tracking-eyebrow: 0.16em;

  /* ── Ritmo ────────────────────────────────────────────────────────────── */
  --ag-section-y: clamp(4rem, 10vw, 8rem);
  --ag-gutter: clamp(1.25rem, 5vw, 2.5rem);
  --ag-max: 1200px;
  --ag-max-narrow: 720px;

  --ag-space-1: 0.5rem;
  --ag-space-2: 1rem;
  --ag-space-3: 1.5rem;
  --ag-space-4: 2rem;
  --ag-space-5: 3rem;
  --ag-space-6: 4rem;

  /* ── Forma ────────────────────────────────────────────────────────────── */
  --ag-radius-card: 20px;
  --ag-radius-media: 28px;
  --ag-radius-pill: 999px;
  --ag-radius-input: 14px;

  /* Sombra unica, muy baja. Nada de sombras duras (brand.md §5). */
  --ag-shadow: 0 1px 2px rgba(57, 44, 31, 0.05), 0 10px 30px rgba(57, 44, 31, 0.07);
  --ag-shadow-lift: 0 2px 4px rgba(57, 44, 31, 0.06), 0 18px 44px rgba(57, 44, 31, 0.12);

  /* ── Movimiento (brand.md §6). Se anula entero bajo reduced-motion. ───── */
  --ag-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ag-dur-fast: 140ms;
  --ag-dur: 240ms;
  --ag-dur-slow: 620ms;
  --ag-reveal-shift: 16px;

  /* ── Capas ────────────────────────────────────────────────────────────── */
  --ag-z-header: 100;
  --ag-z-ctabar: 110;
  --ag-z-wa: 120;
  --ag-z-menu: 200;
  --ag-z-cookies: 300;
}

/* ── Fuentes autoalojadas. Nada de CDN: penaliza LCP en movil y mete un
   tercero en el circuito RGPD (brand.md §4).
   Archivo y Oswald se distribuyen bajo SIL Open Font License 1.1
   (ver public/fonts/OFL.txt). ─────────────────────────────────────────── */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/archivo-latin.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: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/archivo-latin-ext.woff2') format('woff2');
  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: 'Archivo';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/archivo-italic-latin.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/playfair-italic-latin.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/playfair-italic-latin-ext.woff2') format('woff2');
  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: 'Oswald';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('/fonts/oswald-latin.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: 'Oswald';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('/fonts/oswald-latin-ext.woff2') format('woff2');
  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;
}
