/* ===== Orbitaz · tokens.css (brief 2.1) · lo cargan las cuatro páginas antes de styles.css ===== */
:root{
  /* ===== Marca ===== */
  --brand:#4055FF;      /* azul primario medido en el icono de app: isotipo monocromo, favicon, foco sobre claro, bullets */
  --ink:#131313;        /* wordmark; solo logo y UI de 12 px */

  /* ===== Las 8 aspas del isotipo (colores medidos en assets/isotipo-color.png) ===== */
  /* mismos nombres que los ids de assets/isotipo-8.svg y que la tabla hex de scene.js */
  --aspa-derecha:#C9E8F9; --aspa-abajo-der:#A6D9F5; --aspa-abajo:#4FB0EE; --aspa-abajo-izq:#2F7FE6;
  --aspa-izquierda:#4048DE; --aspa-arriba-izq:#3B5FE0; --aspa-arriba:#3FA1EC; --aspa-arriba-der:#7CC6F2;

  /* ===== Escala de azules (de la más clara a la más oscura); no hay 700: sobre claro los enlaces usan --brand ===== */
  --blue-100:#C9E8F9; --blue-200:#A6D9F5; --blue-300:#7CC6F2; --blue-400:#3FA1EC;
  --blue-500:#2F7FE6; --blue-600:#4048DE;

  /* ===== Noche ===== */
  --night-950:#070A1F; --night-900:#0B1033; --night-800:#151B4A; --night-700:#1B1650; --violet-900:#3B1E7A;

  /* ===== Texto sobre noche ===== */
  --text-on-dark:#F4F7FF; --text-on-dark-2:#B6C2E2; --text-on-dark-3:#8390B5;
  --accent-sky:#7DD3FC;  /* palabra clave del titular, cifras */
  --link-on-dark:#8FA3FF;

  /* ===== Glass (solo sobre noche) ===== */
  --glass-bg:rgba(255,255,255,.06); --glass-bg-hover:rgba(255,255,255,.10);
  --glass-border:rgba(255,255,255,.12); --glass-border-strong:rgba(255,255,255,.22);
  --glass-blur:16px; --line-dark:rgba(255,255,255,.10); --line-dark-strong:rgba(255,255,255,.18);

  /* ===== Claro ===== */
  --paper:#FFFFFF; --paper-2:#EAF4FD; --paper-3:#F5F9FF; --navy:#0F1B3D;
  --text-on-light:#0F1B3D; --text-on-light-2:#46527A; --text-on-light-3:#5E6A88;
  --link-on-light:var(--brand); /* #4055FF sobre blanco: 5.30, AA; siempre con subrayado de 1 px */
  --line-light:#DCE6F5; --line-light-strong:#B9CBE8;

  /* ===== CTA degradado: SOLO .btn-cta (botón principal que no sea WhatsApp). En index no se usa ===== */
  --grad-cta:linear-gradient(100deg,#F97316 0%,#EC4899 52%,#9466F5 100%);
  --cta-text:#0B1033;
  --grad-cta-deep:linear-gradient(100deg,#C9440C 0%,#CF2069 52%,#7A3BEA 100%);
  --cta-deep-text:#FFFFFF;
  --cta-ring:0 0 0 1px rgba(255,255,255,.18) inset;

  /* ===== WhatsApp (solo enlaces que abren wa.me) ===== */
  --wa:#25D366; --wa-hover:#1FBE5B; --wa-text:#0B1033;

  /* ===== Fondos degradados ===== */
  --grad-night:linear-gradient(180deg,#0B1033 0%,#1B1650 55%,#3B1E7A 100%);
  --grad-night-inv:linear-gradient(180deg,#3B1E7A 0%,#1B1650 45%,#0B1033 100%);
  --grad-light:linear-gradient(180deg,#FFFFFF 0%,#EAF4FD 100%);
  /* no existe --grad-iso: nunca texto con degradado */

  /* ===== Estados ===== */
  --focus:#7DD3FC; --focus-ring:0 0 0 3px rgba(125,211,252,.45); --success:#25D366; --danger:#F87171;

  /* ===== Forma, sombra, capas ===== */
  --r-sm:12px; --r-md:20px; --r-lg:28px; --r-pill:999px;
  --shadow-dark:0 24px 60px rgba(3,6,30,.55); --shadow-light:0 20px 50px rgba(15,27,61,.12); --shadow-cta:0 12px 32px rgba(236,72,153,.28);
  --z-nav:50; --z-float:60; --z-follow:70; --z-overlay:90; --z-preloader:100;

  /* ===== Espaciado ===== */
  --max:1200px; --pad-x:clamp(20px,4vw,48px);
  --sec-y:clamp(88px,12vw,160px); --sec-y-tight:clamp(64px,8vw,112px);
  --gap-1:8px; --gap-2:16px; --gap-3:24px; --gap-4:40px; --gap-5:64px;
  --nav-h:72px; --nav-h-m:60px; --wa-bar-h:56px;

  /* ===== Tipografía ===== */
  --font-display:'Urbanist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Urbanist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  /* dos familias, no hay --font-accent */
  interpolate-size:allow-keywords; /* animación de <details> (5.11) */

  /* ===== Capa semántica: tema noche por defecto ===== */
  --bg:var(--night-900); --bg-2:var(--night-700); --surface:var(--glass-bg); --surface-border:var(--glass-border);
  --text:var(--text-on-dark); --text-2:var(--text-on-dark-2); --text-3:var(--text-on-dark-3);
  --link:var(--link-on-dark); --line:var(--line-dark); --shadow:var(--shadow-dark);
  color-scheme:dark;
}
.theme-light{
  --bg:var(--paper); --bg-2:var(--paper-2); --surface:var(--paper-3); --surface-border:var(--line-light);
  --text:var(--text-on-light); --text-2:var(--text-on-light-2); --text-3:var(--text-on-light-3);
  --link:var(--link-on-light); --line:var(--line-light); --shadow:var(--shadow-light);
  color-scheme:light;
}

/* Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-x)}
.sec{padding:var(--sec-y) 0}.sec--tight{padding:var(--sec-y-tight) 0}

/* Escala tipográfica */
h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance}
h1,.h1{font-size:clamp(44px,6.6vw,96px);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase}
h2,.h2{font-size:clamp(34px,4.4vw,60px);font-weight:700;letter-spacing:-.015em;line-height:1;text-transform:uppercase}
h3,.h3{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
h4,.h4{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:var(--text-2);max-width:56ch}
p{max-width:64ch}
.eyebrow{font:600 12px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);display:inline-flex;align-items:center;gap:10px}
.accent{font-style:normal;color:var(--accent-sky)} /* 1 palabra por titular, solo por color */
.theme-light .accent{color:var(--brand)}
.num{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.caption,small{font-size:13px;line-height:1.45;color:var(--text-3)}
.tnum{font-variant-numeric:tabular-nums}
@media (max-width:767px){h1,.h1{font-size:clamp(36px,10.5vw,52px)}}
