/* ==========================================================
   Servilinares — Design tokens compartidos
   Todas las variantes importan este archivo. No redefinir
   colores de marca dentro de una variante: extender aquí.
   ========================================================== */

/* Fuentes estáticas (ttf originales de /Tipografías convertidos a woff2). */
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Oswald"; src: url("../fonts/Oswald-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("../fonts/OpenSans-ExtraBold.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }

:root {
  /* Marca */
  --c-primary: #0956F5;   /* Azul Servilinares */
  --c-log:     #7BD0FF;   /* Logística Integral e Ingeniería */
  --c-om:      #FF8932;   /* Operación Minera */
  --c-ec:      #58CA7B;   /* Economía Circular */
  --c-rental:  #FFC629;   /* Rental — PROVISIONAL, cambiar solo aquí */

  /* Complementarios (paleta del diseñador, 16-10-2026). Los PRINCIPALES (arriba) deben imperar; estos dan
     ritmo y se usan donde el principal no tiene contraste. Nombres por tono: claro / medio / oscuro. */
  --c-primary-claro: #ABCDFF; --c-primary-medio: #4893FF; --c-primary-oscuro: #0848BA;   /* también #1A6DFF, #488AFF */
  --c-ec-claro: #83DD96;  --c-ec-medio: #49B759;  --c-ec-oscuro: #268C40;    /* también #379B4C, #BCEDCA */
  --c-log-claro: #C0ECFF; --c-log-medio: #66B9FF; --c-log-oscuro: #227CFF;   /* también #DEF3FF, #3C7DEE */
  --c-om-claro: #FFAF78;  --c-om-medio: #FF6F0D;  --c-om-oscuro: #D65528;    /* Operación Minera / Rental; también #FFDE9E, #FDB407 */

  /* Neutros */
  --c-ink:     #0B1220;
  --c-ink-2:   #1C2536;
  --c-muted:   #5B6577;
  --c-line:    #E3E7EE;
  --c-bg:      #FFFFFF;
  --c-bg-alt:  #F4F6FA;
  --c-white:   #FFFFFF;

  /* Acento dinámico: las variantes lo sobreescriben por sección/unidad */
  --c-accent: var(--c-primary);

  /* Tipografía */
  --ff-title: "Oswald", "Arial Narrow", Arial, sans-serif;
  --ff-text:  "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --fs-xs:  clamp(.75rem, .72rem + .1vw, .8rem);
  --fs-sm:  clamp(.875rem, .85rem + .1vw, .95rem);
  --fs-md:  clamp(1rem, .96rem + .2vw, 1.125rem);
  --fs-lg:  clamp(1.25rem, 1.1rem + .6vw, 1.6rem);
  --fs-xl:  clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
  --fs-2xl: clamp(2.5rem, 1.8rem + 3vw, 4.5rem);
  --fs-3xl: clamp(3rem, 2rem + 5vw, 7rem);

  /* Espaciado */
  --sp-1: .25rem; --sp-2: .5rem; --sp-3: .75rem; --sp-4: 1rem;
  --sp-6: 1.5rem; --sp-8: 2rem; --sp-12: 3rem; --sp-16: 4rem; --sp-24: 6rem;

  /* Forma */
  --radius-sm: 6px; --radius: 12px; --radius-lg: 24px; --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(11,18,32,.06), 0 1px 3px rgba(11,18,32,.08);
  --shadow:    0 8px 24px rgba(11,18,32,.10);

  --container: 1240px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

/* Títulos: Oswald. Textos: Open Sans. */
h1, h2, h3, h4, .t-title { font-family: var(--ff-title); letter-spacing: .01em; }
body { font-family: var(--ff-text); color: var(--c-ink); }

/* Clases utilitarias por unidad */
.u-ec     { --c-accent: var(--c-ec); }
.u-log    { --c-accent: var(--c-log); }
.u-om     { --c-accent: var(--c-om); }
.u-rental { --c-accent: var(--c-rental); }

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