/* Virtus — design tokens. Ningún widget escribe un color o una fuente a mano: todo sale de aquí. */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/montserrat-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: "Montserrat";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/montserrat-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: "Montserrat";
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url("../fonts/montserrat-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;
}

:root {
  /* Superficies (oscuro de marca) */
  --va-bg: #161616;
  --va-surface: #1c1c1e;
  --va-surface-2: #222326;
  --va-surface-3: #2a2b2f;
  --va-header: rgba(22, 22, 22, .82);
  --va-line: rgba(255, 255, 255, .09);
  --va-line-strong: rgba(255, 255, 255, .16);

  /* Texto */
  --va-text: #ffffff;
  --va-text-2: #d6d6da;
  --va-muted: #9a9aa3;

  /* Marca */
  --va-primary: #2f47d7;
  --va-primary-hover: #3b55ec;
  --va-accent: #5b3bff;
  --va-lilac: #e6c4ff;
  --va-success: #1f9d63;
  --va-warning: #e0951a;
  --va-gradient: linear-gradient(90deg, #ffa648 0%, #f17cc1 50%, #4da9fd 100%);
  --va-glow: radial-gradient(60% 60% at 30% 40%, rgba(91, 59, 255, .18), transparent 70%);

  /* Tipografía */
  --va-font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --va-fs-xs: .75rem;
  --va-fs-sm: .875rem;
  --va-fs-base: 1rem;
  --va-fs-lg: 1.125rem;
  --va-fs-xl: clamp(1.25rem, 1rem + 1vw, 1.5rem);
  --va-fs-2xl: clamp(1.6rem, 1.2rem + 1.6vw, 2.375rem);
  --va-fs-3xl: clamp(1.9rem, 1.3rem + 2.4vw, 2.75rem);

  /* Forma */
  --va-radius-sm: 8px;
  --va-radius: 14px;
  --va-radius-lg: 20px;
  --va-shadow: 0 10px 30px rgba(0, 0, 0, .35);
  --va-shadow-soft: 0 6px 18px rgba(0, 0, 0, .22);
  --va-ease: cubic-bezier(.2, .7, .2, 1);

  /* Layout */
  --va-container: 1320px;
  --va-gutter: clamp(16px, 4vw, 32px);
  --va-header-h: 76px;
}
