/* Cumbre · sistema de diseño de STAION (staion.com.co y /systems).
   Fuente: landings v3 aprobadas por Emmanuel el 2026-11-06 (artifact 7QMPPqFuGZpFtiGGw2KTFr).
   Los tokens salen de los PNG del UI kit; falta verificarlos contra Figma v3.
   Retícula: contenedor 1280, 12/8/4 columnas, margen 80/40/20, ritmo 160/96/64.
   Un solo tema a propósito: Cumbre vive sobre la noche. */
:root {
  /* Azul */
  --azul-200: #B9C6FF; --azul-300: #8EA2FF; --azul-400: #5F7BFF; --azul-500: #3354FF;
  --azul-600: #111BD9; --azul-700: #0D14AE; --azul-950: #040733;
  /* Noche */
  --noche-0: #FFFFFF; --noche-50: #F4F6FF; --noche-300: #9AA1BC; --noche-400: #838AA6;
  --noche-600: #3A405A; --noche-850: #0E1120; --noche-900: #090B16; --noche-950: #04050B;
  --violeta-500: #6B4DFF; --exito-400: #3DDC97; --alerta-400: #F5B544; --error-400: #FF5C6C;
  /* Semánticos */
  --fondo-base: var(--noche-950); --fondo-elevado: var(--noche-900); --fondo-panel: var(--noche-850);
  --vidrio-sutil: rgba(255,255,255,.03); --vidrio-base: rgba(255,255,255,.06); --vidrio-fuerte: rgba(255,255,255,.10);
  --borde-sutil: rgba(255,255,255,.06); --borde-base: rgba(255,255,255,.10); --borde-fuerte: rgba(255,255,255,.24); --borde-luz: rgba(255,255,255,.40);
  --borde-marca: var(--azul-400);
  --texto-principal: var(--noche-50); --texto-secundario: var(--noche-300); --texto-terciario: var(--noche-400);
  --texto-dato: #959CB8; /* etiquetas mono: AA sobre vidrio y sobre el fondo */
  --texto-marca: var(--azul-300); --texto-sobre-marca: var(--noche-0);
  --marca-base: var(--azul-600); --marca-hover: var(--azul-500); --marca-presionado: var(--azul-700); --marca-suave: rgba(17,27,217,.12);
  /* Forma */
  --r-xs: 2px; --r-sm: 6px; --r-md: 10px; --r-lg: 14px; --r-xl: 24px; --r-total: 999px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --f-display: 'Unbounded', 'Arial Black', system-ui, sans-serif;
  --f-text: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono: 'Geist Mono', ui-monospace, 'SF Mono', Consolas, monospace;
  --margen: 80px; --ritmo: 160px;
  color-scheme: dark;
}
@media (max-width: 1100px) { :root { --margen: 40px; --ritmo: 96px; } }
@media (max-width: 640px) { :root { --margen: 20px; --ritmo: 64px; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { background: var(--fondo-base); color: var(--texto-principal); font-family: var(--f-text); font-size: 16px; line-height: 26px; letter-spacing: -.003em; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
h1, h2 { font-family: var(--f-display); font-weight: 400; text-wrap: balance; }
:focus-visible { outline: 2px solid var(--azul-300); outline-offset: 3px; border-radius: var(--r-sm); }
.lit { color: var(--texto-marca); }
.wrap { max-width: calc(1280px + 2 * var(--margen)); margin: 0 auto; padding-left: max(var(--margen), env(safe-area-inset-left, 0px)); padding-right: max(var(--margen), env(safe-area-inset-right, 0px)); }
section.sec { padding-block: calc(var(--ritmo) / 2); position: relative; }
section.sec:first-of-type { padding-top: 0; }
.dato { font-family: var(--f-mono); font-size: 13px; line-height: 18px; color: var(--texto-dato); }
.dato-s { font-family: var(--f-mono); font-size: 11px; line-height: 16px; letter-spacing: .02em; color: var(--texto-dato); }
/* Minúscula forzada solo en etiquetas de dato muy pequeñas (fase, sector, estado, semanas). */
.lc { text-transform: lowercase; }

/* Tipografía */
.d-l { font-size: clamp(38px, 6.2vw, 72px); line-height: 1.08; letter-spacing: -.045em; }
.d-m { font-size: clamp(32px, 4.6vw, 52px); line-height: 1.12; letter-spacing: -.04em; }
.t-h1 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; letter-spacing: -.035em; }
.t-h2 { font-family: var(--f-display); font-weight: 400; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.22; letter-spacing: -.03em; }
.t-h3 { font-family: var(--f-text); font-weight: 600; font-size: 22px; line-height: 28px; letter-spacing: -.015em; }
.c-xl { font-size: clamp(18px, 1.8vw, 22px); line-height: 1.55; letter-spacing: -.01em; color: var(--texto-secundario); }
.c-l { font-size: 18px; line-height: 28px; letter-spacing: -.005em; color: var(--texto-secundario); }
.c-s { font-size: 14px; line-height: 22px; color: var(--texto-secundario); }
.cifra-l { font-family: var(--f-display); font-weight: 300; font-size: clamp(56px, 6vw, 88px); line-height: 1; letter-spacing: -.05em; }
.cifra-m { font-family: var(--f-display); font-weight: 300; font-size: clamp(36px, 3.6vw, 48px); line-height: 1.08; letter-spacing: -.04em; }
.sec-head { display: grid; gap: 20px; max-width: 840px; margin-bottom: 56px; }
.sec-head.center { margin-inline: auto; text-align: center; justify-items: center; }

/* Vidrio */
.glass { background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)); border: 1px solid var(--borde-base); border-radius: var(--r-xl); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); position: relative; }
.glass.hov { transition: border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease); }
.glass.hov:hover { border-color: var(--borde-fuerte); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)); box-shadow: 0 0 40px -12px rgba(51,84,255,.45); }

/* Botones */
.btn { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px; border-radius: var(--r-md); font-family: var(--f-text); font-weight: 500; font-size: 15px; line-height: 20px; letter-spacing: -.003em; border: 1px solid transparent; cursor: pointer; white-space: nowrap; transition: background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.btn.l { height: 52px; padding: 0 22px; font-size: 17px; line-height: 24px; }
.btn .ar { width: 16px; height: 16px; transition: transform .2s var(--ease); }
.btn:hover .ar { transform: rotate(-45deg); }
.btn.pri { background: var(--marca-base); color: var(--texto-sobre-marca); box-shadow: 0 0 0 1px rgba(95,123,255,.35) inset, 0 8px 32px -6px rgba(17,27,217,.75); }
.btn.pri:hover { background: var(--marca-hover); box-shadow: 0 0 0 1px rgba(142,162,255,.5) inset, 0 10px 44px -4px rgba(51,84,255,.9); }
.btn.pri:active { background: var(--marca-presionado); }
.btn.vid { background: var(--vidrio-base); border-color: var(--borde-base); color: var(--texto-principal); }
.btn.vid:hover { background: var(--vidrio-fuerte); border-color: var(--borde-fuerte); }
.btn.fan { background: transparent; color: var(--texto-principal); padding-inline: 4px; }
.btn.fan:hover { color: var(--azul-200); }
.enlace { display: inline-flex; align-items: center; gap: 8px; color: var(--texto-marca); font-weight: 500; font-size: 15px; }
.enlace .ar { width: 15px; height: 15px; transition: transform .2s var(--ease); }
.enlace:hover .ar { transform: translate(2px, -2px); }

/* Etiquetas de estado */
.pill { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: var(--r-total); font-size: 13px; line-height: 16px; font-weight: 500; border: 1px solid var(--borde-sutil); background: var(--vidrio-base); color: var(--texto-secundario); white-space: nowrap; }
.pill svg { width: 10px; height: 10px; }
.pill.foco { color: var(--azul-300); background: rgba(17,27,217,.18); border-color: rgba(95,123,255,.3); }
.pill.activo { color: var(--exito-400); background: rgba(61,220,151,.12); border-color: rgba(61,220,151,.22); }
.pill.cons { color: var(--alerta-400); background: rgba(245,181,68,.12); border-color: rgba(245,181,68,.22); }

@media (max-width: 640px) {
  .hero .pill { white-space: normal; height: auto; padding: 5px 12px; text-align: center; }
  .btn { white-space: normal; height: auto; min-height: 44px; padding-block: 8px; max-width: 100%; }
  .btn.l { min-height: 52px; }
}

/* Navegación flotante */
.nav { position: sticky; top: calc(16px + env(safe-area-inset-top, 0px)); z-index: 20; }
.nav-bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 64px; padding: 0 12px 0 20px; border-radius: var(--r-lg); background: rgba(9, 11, 22, .62); border: 1px solid var(--borde-base); backdrop-filter: blur(20px) saturate(1.2); -webkit-backdrop-filter: blur(20px) saturate(1.2); }
.nav-links { display: flex; gap: 4px; }
.nav-links a { position: relative; padding: 8px 12px; font-size: 15px; font-weight: 500; color: var(--texto-secundario); transition: color .2s var(--ease); }
.nav-links a:hover { color: var(--texto-principal); }
.nav-links a.on { color: var(--texto-principal); }
.nav-links a.on::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 16px; height: 2px; margin-left: -8px; border-radius: 2px; background: var(--azul-400); box-shadow: 0 0 10px var(--azul-500); }
.nav-right { display: flex; align-items: center; gap: 8px; }
.lang { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: var(--r-total); border: 1px solid var(--borde-base); background: var(--vidrio-sutil); font-size: 13px; font-weight: 500; color: var(--texto-secundario); }
.lang svg { width: 13px; height: 13px; }
.menu-btn { display: none; width: 44px; height: 44px; cursor: pointer; border-radius: var(--r-md); border: 1px solid var(--borde-base); background: var(--vidrio-base); color: var(--texto-principal); align-items: center; justify-content: center; }
@media (max-width: 960px) { .nav-links { display: none; } .menu-btn { display: inline-flex; } .nav .lang { display: none; } }
@media (max-width: 520px) { .nav .btn.pri { display: none; } }

/* Logo */
.logo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; color: var(--noche-0); }
.logo .mt { width: 46px; height: 12px; margin-left: 2px; }
.logo .wm { display: inline-flex; align-items: center; font-family: var(--f-display); font-weight: 500; font-size: 18px; letter-spacing: .06em; line-height: 1; }
.logo .wm svg { width: 14px; height: 15px; margin: 0 1px; }
.logo-row { display: inline-flex; align-items: flex-end; gap: 10px; }
.logo-row .unit { font-family: var(--f-mono); font-size: 12px; color: var(--texto-marca); padding-bottom: 1px; }

/* Hero */
.hero { position: relative; overflow: hidden; isolation: isolate; }
.hero-inner { position: relative; z-index: 2; display: grid; justify-items: center; text-align: center; gap: 28px; padding-top: 112px; padding-bottom: 380px; }
.hero-inner .c-xl { max-width: 720px; }
.hero h1 { max-width: 1100px; }
.ctas { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; }
.terrain { position: absolute; inset: auto 0 0 0; height: 560px; z-index: 1; pointer-events: none; }
.terrain canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.halo { position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; }
.halo.h1 { left: 50%; bottom: 150px; width: 70%; height: 140px; margin-left: -35%; background: radial-gradient(closest-side, rgba(51,84,255,.85), rgba(17,27,217,.35) 60%, transparent); }
.halo.h2 { left: 6%; bottom: 170px; width: 32%; height: 160px; background: radial-gradient(closest-side, rgba(107,77,255,.6), transparent); }
.halo.h3 { left: 50%; bottom: 250px; width: 28%; height: 180px; margin-left: -14%; background: radial-gradient(closest-side, rgba(185,198,255,.35), transparent); }
.terrain::after { content: ""; position: absolute; inset: auto 0 0 0; height: 120px; background: linear-gradient(transparent, var(--fondo-base)); }
@media (prefers-reduced-motion: no-preference) { .halo.h1, .halo.h3 { animation: breathe 6s ease-in-out infinite; } }
@keyframes breathe { 0%, 100% { opacity: 1; } 50% { opacity: .8; } }
@media (max-width: 640px) { .hero-inner { padding-top: 64px; padding-bottom: 240px; } .terrain { height: 340px; } .halo.h1 { bottom: 90px; } .halo.h3 { bottom: 140px; } }
.geo { display: inline-flex; align-items: center; gap: 8px; }
.geo i { width: 6px; height: 6px; border-radius: 50%; background: var(--azul-400); box-shadow: 0 0 8px var(--azul-500); }

/* Cifras */
.cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: -200px; position: relative; z-index: 3; }
.cifra { padding: 28px 28px 24px; display: grid; gap: 14px; align-content: start; min-width: 0; }
.cifra .n { color: var(--texto-principal); }
.cifras-nota { margin-top: 12px; }
@media (max-width: 960px) { .cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -120px; } }
@media (max-width: 640px) { .cifras { margin-top: -80px; gap: 10px; } .cifra { padding: 20px; } }

/* Tarjetas de venture */
.ventures { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 16px; }
.venture { padding: 28px; display: grid; gap: 18px; align-content: start; min-width: 0; overflow: hidden; }
.venture .top { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 30px; }
.venture .vlogo { height: 28px; width: auto; }
.venture .name { font-family: var(--f-display); font-size: 26px; letter-spacing: -.03em; }
.venture .meta { border-top: 1px solid var(--borde-sutil); padding-top: 16px; display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.venture.main { border-color: rgba(95,123,255,.45); background: linear-gradient(180deg, rgba(17,27,217,.22), rgba(17,27,217,.05)); box-shadow: 0 0 60px -20px rgba(51,84,255,.7); }
.venture.main .big { font-family: var(--f-display); font-weight: 300; font-size: 44px; letter-spacing: -.04em; color: var(--texto-marca); line-height: 1; }
@media (max-width: 960px) { .ventures { grid-template-columns: 1fr; } }

/* Logos */
.logos { display: flex; flex-wrap: wrap; align-items: center; gap: 28px 48px; }
.logos img { height: 30px; width: auto; opacity: .62; transition: opacity .2s var(--ease); }
.logos img:hover { opacity: 1; }
.logos .wordlogo { font-family: var(--f-display); font-weight: 500; font-size: 19px; letter-spacing: -.02em; opacity: .62; }
.legacy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.legacy .logos { padding: 32px; }
@media (max-width: 960px) { .legacy { grid-template-columns: 1fr; gap: 28px; } .logos { gap: 22px 32px; } .logos img { height: 24px; } }

/* Caminos */
.caminos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.camino { padding: 36px; display: grid; gap: 20px; align-content: start; min-width: 0; }
.camino .t-h1 { font-family: var(--f-display); }
@media (max-width: 860px) { .caminos { grid-template-columns: 1fr; } .camino { padding: 28px; } }

/* Proceso */
.proceso { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; position: relative; }
.paso { padding: 24px; display: grid; gap: 14px; min-width: 0; }

.paso .node { display: flex; align-items: center; gap: 10px; }
.paso .node i { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--azul-400); background: var(--fondo-base); box-shadow: 0 0 10px var(--azul-500); flex: none; }
.paso .node b { flex: 1; height: 1px; background: linear-gradient(90deg, var(--azul-400), transparent); }
.paso h3 { font-family: var(--f-display); font-weight: 400; font-size: 26px; letter-spacing: -.03em; }
@media (max-width: 960px) { .proceso { grid-template-columns: repeat(2, minmax(0, 1fr)); } .paso:nth-child(n) { margin-top: 0; } }
@media (max-width: 560px) { .proceso { grid-template-columns: 1fr; } }
.equipo-inc { margin-top: 48px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--borde-sutil); }
.equipo-inc > div { padding: 22px 20px 0 0; display: grid; gap: 6px; min-width: 0; }
.equipo-inc > div + div { padding-left: 20px; border-left: 1px solid var(--borde-sutil); }
.equipo-inc b { font-weight: 600; font-size: 16px; }
@media (max-width: 960px) { .equipo-inc { grid-template-columns: 1fr 1fr; } .equipo-inc > div:nth-child(3) { padding-left: 0; border-left: 0; } .equipo-inc > div:nth-child(n+3) { padding-top: 22px; } }

/* Principios */
.principios { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.principio { padding: 32px; display: grid; gap: 16px; align-content: start; min-width: 0; }
.principio .lam { width: 18px; height: 18px; color: var(--azul-400); filter: drop-shadow(0 0 6px rgba(51,84,255,.8)); }
.principio h3 { font-family: var(--f-display); font-weight: 400; font-size: clamp(22px, 2.3vw, 28px); line-height: 1.2; letter-spacing: -.03em; }
@media (max-width: 760px) { .principios { grid-template-columns: 1fr; } .principio { padding: 26px; } }

/* Equipo */
.miembros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.miembro { display: block; position: relative; aspect-ratio: 4 / 5; max-width: 100%; border-radius: var(--r-xl); overflow: hidden; border: 1px solid var(--borde-base); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.miembro img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .4s var(--ease); }
.miembro::before { content: ""; position: absolute; inset: 0; background: #3354FF; mix-blend-mode: color; opacity: .9; transition: opacity .4s var(--ease); z-index: 1; }
.miembro::after { content: ""; position: absolute; inset: 40% 0 0 0; background: linear-gradient(transparent, rgba(4,5,11,.85)); z-index: 1; }
.miembro .cap { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
.miembro .cap b { display: block; font-weight: 500; font-size: 20px; letter-spacing: -.01em; }
.miembro .cap .li { width: 26px; height: 26px; border-radius: var(--r-sm); border: 1px solid var(--borde-fuerte); display: inline-flex; align-items: center; justify-content: center; color: var(--azul-300); flex: none; }
.miembro .cap .li svg { width: 13px; height: 13px; }
.miembro:hover, .miembro:focus-within { border-color: var(--borde-marca); box-shadow: 0 0 40px -8px rgba(51,84,255,.8); }
.miembro:hover img, .miembro:focus-within img { filter: none; }
.miembro:hover::before, .miembro:focus-within::before { opacity: 0; }
.miembro-desc { margin-top: 12px; }
@media (max-width: 860px) { .miembros { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .miembros { grid-template-columns: 1fr; } }

/* Cierre + canales */
.cierre { text-align: center; display: grid; justify-items: center; gap: 24px; padding-block: calc(var(--ritmo) * .75) calc(var(--ritmo) / 2); position: relative; }
.cierre::before { content: ""; position: absolute; left: 50%; top: 10%; width: 60%; height: 260px; margin-left: -30%; background: radial-gradient(closest-side, rgba(17,27,217,.45), transparent); filter: blur(40px); z-index: -1; }
.canales { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 920px; margin-top: 16px; text-align: left; }
.canal { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--r-lg); min-width: 0; }
.canal .ic { width: 18px; height: 18px; color: var(--azul-300); flex: none; }
.canal .v { flex: 1; min-width: 0; display: grid; }
.canal .v span:last-child { font-size: 15px; font-weight: 500; color: var(--texto-principal); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canal .go { width: 15px; height: 15px; color: var(--texto-terciario); flex: none; }
@media (max-width: 760px) { .canales { grid-template-columns: 1fr; } }

/* FAQ */
.faq { display: grid; gap: 10px; max-width: 960px; }
.faq details { border-radius: var(--r-lg); padding: 0 22px; }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-weight: 500; font-size: 17px; line-height: 24px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .pl { width: 16px; height: 16px; color: var(--azul-300); flex: none; transition: transform .2s var(--ease); }
.faq details[open] summary .pl { transform: rotate(45deg); }
.faq details p { padding: 0 0 22px; max-width: 72ch; }

/* Pie */
.pie { border-top: 1px solid var(--borde-sutil); padding-block: 64px 120px; margin-top: 64px; }
.pie-grid { display: grid; grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); gap: 40px; }
.pie-grid .col { display: grid; gap: 10px; align-content: start; }
.pie-grid .col a { font-size: 15px; color: var(--texto-secundario); }
.pie-grid .col a:hover { color: var(--texto-principal); }
.pie-bottom { margin-top: 56px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
@media (max-width: 860px) { .pie-grid { grid-template-columns: 1fr 1fr; } .pie-grid .first { grid-column: 1 / -1; } }

/* ---------- Systems ---------- */
.trust { display: grid; gap: 26px; justify-items: center; text-align: center; margin-top: -170px; position: relative; z-index: 3; }
.trust .logos { justify-content: center; }
@media (max-width: 640px) { .trust { margin-top: -90px; } }
.enemigo { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.enemigo .glass { padding: 32px; display: grid; gap: 18px; }
.vs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vs > div { border-radius: var(--r-lg); padding: 18px; display: grid; gap: 8px; border: 1px solid var(--borde-sutil); background: var(--vidrio-sutil); }
.vs > div.ok { border-color: rgba(95,123,255,.45); background: rgba(17,27,217,.14); }
.vs .bar { height: 6px; border-radius: 6px; background: var(--noche-600); }
.vs .ok .bar { background: linear-gradient(90deg, var(--azul-600), var(--azul-400)); box-shadow: 0 0 12px rgba(51,84,255,.7); }
@media (max-width: 900px) { .enemigo { grid-template-columns: 1fr; gap: 32px; } }
.dolores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.dolor { padding: 22px 22px 24px; border-radius: var(--r-lg); display: grid; gap: 10px; align-content: start; min-width: 0; }
.dolor svg { width: 20px; height: 20px; color: var(--azul-300); }
.dolor b { font-weight: 600; font-size: 17px; line-height: 24px; letter-spacing: -.01em; }
@media (max-width: 960px) { .dolores { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .dolores { grid-template-columns: 1fr; } }
.remate { margin-top: 40px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.casos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.caso { padding: 26px; display: grid; gap: 14px; grid-template-rows: auto auto 1fr auto; min-width: 0; }
.caso .top { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; }
.caso .name { font-family: var(--f-display); font-size: 24px; letter-spacing: -.03em; line-height: 1.2; }
.caso .m { border-top: 1px solid var(--borde-sutil); padding-top: 16px; display: grid; gap: 6px; }
.caso .m .cifra-m { color: var(--texto-principal); }
.caso .m .pend { font-family: var(--f-mono); font-size: 13px; color: var(--texto-terciario); }
.casos-mas { margin-top: 28px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: center; }
@media (max-width: 1000px) { .casos { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .casos { grid-template-columns: 1fr; } }
.cmp { border-radius: var(--r-xl); overflow-x: auto; }
.cmp table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 15px; line-height: 22px; }
.cmp th, .cmp td { text-align: left; padding: 18px 20px; border-bottom: 1px solid var(--borde-sutil); vertical-align: top; }
.cmp tr:last-child td { border-bottom: 0; }
.cmp th { font-family: var(--f-mono); font-weight: 400; font-size: 13px; color: var(--texto-dato); }
.cmp td:first-child { color: var(--texto-dato); font-family: var(--f-mono); font-size: 13px; white-space: nowrap; }
.cmp td { color: var(--texto-secundario); }
.cmp th:last-child, .cmp td:last-child { background: rgba(17,27,217,.16); color: var(--texto-principal); font-weight: 500; }
.cmp th:last-child { color: var(--azul-300); }
.ofertas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.oferta { padding: 28px; display: grid; gap: 14px; align-content: start; min-width: 0; }
.oferta h3 { font-family: var(--f-display); font-weight: 400; font-size: 24px; letter-spacing: -.03em; line-height: 1.2; }
.garantia { margin-top: 16px; padding: 40px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; border-color: rgba(95,123,255,.5); background: linear-gradient(120deg, rgba(17,27,217,.3), rgba(107,77,255,.1) 60%, rgba(255,255,255,.02)); box-shadow: 0 0 80px -24px rgba(51,84,255,.8); }
.garantia .precio { display: grid; gap: 6px; justify-items: start; }
@media (max-width: 960px) { .ofertas { grid-template-columns: 1fr; } .garantia { grid-template-columns: 1fr; padding: 28px; gap: 24px; } }
.metodo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.metodo .pasos { display: grid; gap: 10px; }
.metodo .p { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 18px 20px; border-radius: var(--r-lg); }
.metodo .p b { font-weight: 600; font-size: 17px; display: block; margin-bottom: 2px; }
.mini-equipo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
.mini-equipo .miembro { aspect-ratio: 1 / 1.15; }
.mini-equipo .miembro .cap b { font-size: 15px; }
@media (max-width: 960px) { .metodo { grid-template-columns: 1fr; gap: 40px; } }
.diag { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.form { padding: 32px; display: grid; gap: 22px; background: linear-gradient(180deg, rgba(14,17,32,.92), rgba(9,11,22,.92)); box-shadow: 0 30px 80px -30px rgba(0,0,0,.8), 0 0 60px -30px rgba(51,84,255,.6); }
.form .prog { display: grid; gap: 10px; }
.form .prog .track { height: 2px; background: var(--borde-base); border-radius: 2px; overflow: hidden; }
.form .prog .track i { display: block; width: 33%; height: 100%; background: var(--azul-400); box-shadow: 0 0 10px var(--azul-500); }
.field { display: grid; gap: 8px; }
.field label { font-weight: 500; font-size: 15px; line-height: 20px; }
.field textarea, .field input { width: 100%; font: inherit; font-size: 16px; color: var(--texto-principal); background: var(--vidrio-base); border: 1px solid var(--borde-base); border-radius: var(--r-md); padding: 14px 16px; resize: vertical; transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease); }
.field textarea { min-height: 140px; }
.field textarea::placeholder, .field input::placeholder { color: var(--texto-terciario); }
.field textarea:focus, .field input:focus { outline: none; border-color: var(--azul-400); background: rgba(17,27,217,.12); box-shadow: 0 0 0 1px var(--azul-400), 0 0 24px -4px rgba(51,84,255,.7); }
.field .help { display: flex; justify-content: space-between; gap: 12px; }
.form-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
@media (max-width: 960px) { .diag { grid-template-columns: 1fr; gap: 32px; } .form { padding: 24px; } }

/* v2: DIAN, IA, precios, calificador */
.dian { padding: 36px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.dian-l, .dian-r { display: grid; gap: 16px; align-content: start; }
@media (max-width: 900px) { .dian { grid-template-columns: 1fr; padding: 26px; gap: 20px; } }
.ia-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; align-items: start; }

@media (max-width: 860px) { .ia-steps { grid-template-columns: 1fr; } .ia-steps .paso:nth-child(n) { margin-top: 0; } }
.tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.tier { padding: 28px; display: grid; gap: 14px; align-content: start; min-width: 0; }
.tier h3 { font-family: var(--f-display); font-weight: 400; font-size: 24px; letter-spacing: -.03em; }
.tier .price { font-family: var(--f-display); font-weight: 300; font-size: clamp(40px, 4vw, 56px); letter-spacing: -.05em; line-height: 1; display: flex; align-items: baseline; gap: 10px; }
.tier.mid { border-color: rgba(95,123,255,.5); background: linear-gradient(180deg, rgba(17,27,217,.24), rgba(17,27,217,.05)); box-shadow: 0 0 70px -22px rgba(51,84,255,.8); }
.chk { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; color: var(--texto-secundario); font-size: 15px; line-height: 22px; }
.chk li { display: grid; grid-template-columns: 16px 1fr; gap: 8px; }
.chk li::before { content: ""; width: 10px; height: 6px; margin-top: 7px; border-left: 1.5px solid var(--azul-400); border-bottom: 1.5px solid var(--azul-400); transform: rotate(-45deg); }
@media (max-width: 960px) { .tiers { grid-template-columns: 1fr; } }
/* ---------- v3: auditoría UX ---------- */
.dian .t-h1 .warn { display: inline-block; width: 22px; height: 22px; margin-right: 10px; vertical-align: -2px; color: var(--alerta-400); }
.ia-steps .paso { padding: 0; background: none; border: 0; border-radius: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.ofertas.plano { gap: 32px; border-top: 1px solid var(--borde-sutil); padding-top: 28px; margin-bottom: 40px; }
.ofertas.plano .oferta { padding: 0; background: none; border: 0; border-radius: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.ofertas.plano .oferta h3 { font-size: 22px; }
.tier > :first-child { min-height: 26px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.caso .top { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; }
.caso .top .dato-s { color: var(--texto-secundario); }
.nav-links .solo-movil { display: none; }
@media (max-width: 960px) {
  .nav.open .nav-links { display: grid; position: absolute; top: calc(100% + 8px); left: 0; right: 0; gap: 2px; padding: 8px; border-radius: var(--r-lg); background: rgba(9, 11, 22, .96); border: 1px solid var(--borde-base); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
  .nav.open .nav-links a { padding: 12px 14px; min-height: 44px; display: flex; align-items: center; }
  .nav.open .nav-links a.on::after { display: none; }
  .dolores { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) { .nav.open .nav-links .solo-movil { display: flex; color: var(--texto-marca); } }
@media (max-width: 640px) {
  .cifra-l { font-size: 40px; }
  .dolores { grid-template-columns: 1fr; }
  .ia-steps { gap: 24px; }
  .metodo .p { grid-template-columns: 1fr; gap: 4px; }
}

/* Revelado */
.rv { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  html.js .rv { opacity: 0; transform: translateY(12px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
  html.js .rv.in { opacity: 1; transform: none; }
}

/* ---------- Producción: piezas que el artifact no tenía ---------- */
body.cumbre { margin: 0; }
html { scroll-padding-top: 24px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--marca-base); color: #fff; padding: 10px 16px; border-radius: var(--r-md); }
.skip:focus { top: 16px; }

/* Selector de idioma (los genera tools/build-i18n.py; no cambiar ids ni clases lm-item) */
.lang-wrap { position: relative; }
#lang-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: var(--r-total); border: 1px solid var(--borde-base); background: var(--vidrio-sutil); font: inherit; font-size: 13px; font-weight: 500; color: var(--texto-secundario); cursor: pointer; }
#lang-btn:hover { color: var(--texto-principal); border-color: var(--borde-fuerte); }
#lang-btn .lbflag img { width: 16px; height: 12px; border-radius: 2px; display: block; }
#lang-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 40; min-width: 168px; padding: 6px; border-radius: var(--r-lg); background: rgba(9, 11, 22, .96); border: 1px solid var(--borde-base); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); display: none; }
#lang-menu.open { display: grid; gap: 2px; }
#lang-menu .lm-item { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 12px; border-radius: var(--r-sm); font-size: 14px; color: var(--texto-secundario); }
#lang-menu .lm-item:hover, #lang-menu .lm-item.active { color: var(--texto-principal); background: var(--vidrio-base); }
#lang-menu .lm-flag img { width: 18px; height: 13px; border-radius: 2px; display: block; }
@media (max-width: 960px) { .nav .lang-wrap { display: block; } }

/* Logos reales de clientes */
.logos img { height: 30px; width: auto; }
.logos a { display: inline-flex; }
@media (max-width: 960px) { .logos img { height: 24px; } }

/* Casos: enlace a la página de cada uno */
.caso .ir { margin-top: 2px; }
.casos-mas .dato a { color: var(--texto-secundario); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--borde-fuerte); }
.casos-mas .dato a:hover { color: var(--texto-principal); }

/* Formulario de diagnóstico (#kaiform): mismo flujo y mismos ids, piel Cumbre */
.fstep { display: none; }
.fstep.active { display: grid; gap: 18px; }
.fq { font-weight: 500; font-size: 18px; line-height: 26px; color: var(--texto-principal); }
.flbl { font-weight: 500; font-size: 14px; line-height: 20px; color: var(--texto-secundario); }
.fg { display: grid; gap: 8px; min-width: 0; }
.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .fgrid { grid-template-columns: 1fr; } }
.ftarea, .finput { width: 100%; font: inherit; font-size: 16px; color: var(--texto-principal); background: var(--vidrio-base); border: 1px solid var(--borde-base); border-radius: var(--r-md); padding: 13px 16px; transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease); }
.ftarea { min-height: 140px; resize: vertical; }
.ftarea::placeholder, .finput::placeholder { color: var(--texto-terciario); }
.ftarea:focus, .finput:focus { outline: none; border-color: var(--azul-400); background: rgba(17,27,217,.12); box-shadow: 0 0 0 1px var(--azul-400), 0 0 24px -4px rgba(51,84,255,.7); }
.ogrid { display: flex; flex-wrap: wrap; gap: 8px; }
.obtn { min-height: 44px; text-align: left; font: inherit; font-size: 15px; line-height: 20px; color: var(--texto-principal); background: var(--vidrio-base); border: 1px solid var(--borde-base); border-radius: var(--r-md); padding: 10px 14px; cursor: pointer; transition: border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease); }
.obtn:hover { border-color: var(--borde-fuerte); background: var(--vidrio-fuerte); }
.obtn.sel { border-color: var(--azul-400); background: rgba(17,27,217,.2); box-shadow: 0 0 22px -6px rgba(51,84,255,.8); }
.fhdr { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.fprog { height: 2px; background: var(--borde-base); border-radius: 2px; overflow: hidden; }
.fpfil { height: 100%; background: var(--azul-400); box-shadow: 0 0 10px var(--azul-500); transition: width .4s var(--ease); }
.ffoot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ffoot .fnote { order: 3; flex-basis: 100%; }
.fsuccess { display: none; text-align: center; justify-items: center; gap: 12px; padding: 24px 0; }
.fsuccess.active { display: grid; }
.fsuccess .sico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; color: var(--azul-300); border: 1px solid var(--borde-marca); box-shadow: 0 0 24px -6px rgba(51,84,255,.8); }
.fsuccess .sico svg { width: 22px; height: 22px; }
.shake { animation: shake .4s; }
@keyframes shake { 0%, 100% { transform: none; } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
@keyframes spin { to { transform: rotate(360deg); } }
.btn:disabled { opacity: .7; cursor: progress; }
.legal-nota { color: var(--texto-terciario); }
.legal-nota button { font: inherit; color: var(--texto-secundario); background: none; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Pie: enlaces legales como botones */
.pie-grid .col button { font: inherit; font-size: 15px; color: var(--texto-secundario); background: none; border: 0; padding: 0; text-align: left; cursor: pointer; }
.pie-grid .col button:hover { color: var(--texto-principal); }
.pie-legal { margin-top: 40px; display: grid; gap: 8px; max-width: 760px; }

/* Modales legales */
.modal-overlay { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(4,5,11,.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.modal-overlay.open { display: flex; }
.modal-box { width: 100%; max-width: 680px; max-height: calc(100vh - 40px); overflow: auto; border-radius: var(--r-xl); background: var(--fondo-panel); border: 1px solid var(--borde-base); box-shadow: 0 30px 80px -30px rgba(0,0,0,.9); }
.modal-head { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; background: var(--fondo-panel); border-bottom: 1px solid var(--borde-sutil); }
.modal-head h3 { font-family: var(--f-display); font-weight: 400; font-size: 20px; letter-spacing: -.02em; }
.modal-close { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: var(--r-md); border: 1px solid var(--borde-base); background: var(--vidrio-base); color: var(--texto-principal); cursor: pointer; }
.modal-close svg { width: 18px; height: 18px; }
.modal-body { padding: 20px 24px 28px; color: var(--texto-secundario); font-size: 15px; line-height: 24px; display: grid; gap: 10px; }
.modal-body h4 { margin: 10px 0 0; color: var(--texto-principal); font-weight: 600; font-size: 16px; }
.modal-body ul { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.modal-body p { margin: 0; }
.modal-body a { color: var(--texto-marca); }

/* Banner de cookies (lo inyecta /src/js/consent.js) */
.consent { position: fixed; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 80; margin: 0 auto; max-width: 720px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 18px; border-radius: var(--r-lg); background: rgba(9, 11, 22, .94); border: 1px solid var(--borde-fuerte); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 16px 40px -12px rgba(0,0,0,.8); font-family: var(--f-text); color: var(--texto-secundario); }
.consent p { flex: 1 1 320px; margin: 0; font-size: 14px; line-height: 21px; }
.consent .acts { display: flex; gap: 8px; }
.consent .btn { height: 44px; }
.tier .price .dato { letter-spacing: .01em; }
.ffoot #bnext { margin-left: auto; }

/* ---------- Ronda 2 (2026-11-06): legibilidad, marcas, carrusel, movimiento ---------- */
/* Línea mono del hero: se lee sobre el terreno de puntos */
.hero .geo { padding: 7px 14px; border-radius: var(--r-total); background: rgba(4,5,11,.78); border: 1px solid var(--borde-sutil); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--texto-secundario); position: relative; z-index: 2; }

/* Tarjetas de cada compañía con su propia marca */
.venture.vire { border-color: rgba(193,255,114,.32); background: linear-gradient(180deg, rgba(193,255,114,.10), rgba(13,13,15,.55)); box-shadow: 0 0 60px -28px rgba(193,255,114,.55); }
.venture.vire .name { font-family: 'League Spartan', var(--f-text); font-weight: 700; font-size: 30px; letter-spacing: -.02em; color: #C1FF72; }
.venture.vire .pill { color: #C1FF72; background: rgba(193,255,114,.08); border-color: rgba(193,255,114,.3); }
.venture.vire .enlace { color: #C1FF72; }
.venture.vire .meta { border-top-color: rgba(193,255,114,.16); }
.venture.reclaim { border-color: rgba(123,120,232,.4); background: linear-gradient(160deg, rgba(34,31,115,.6), rgba(21,20,64,.35) 55%, rgba(9,8,13,.6)); box-shadow: 0 0 60px -28px rgba(74,69,200,.8); }
.venture.reclaim .name { font-family: 'Syne', var(--f-display); font-weight: 700; font-size: 28px; letter-spacing: -.01em; color: #F2F2F2; }
.venture.reclaim .pill { color: #B9B6F5; background: rgba(74,69,200,.18); border-color: rgba(123,120,232,.4); }
.venture.reclaim .enlace { color: #B9B6F5; }
.venture.reclaim .dato { font-family: 'DM Mono', var(--f-mono); color: #B9B6F5; }
.venture.reclaim .meta { border-top-color: rgba(123,120,232,.25); }

/* Carrusel infinito de logos de clientes */
.marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.marquee .track { display: flex; width: max-content; animation: mq 42s linear infinite; }
.marquee .set { display: flex; align-items: center; gap: 56px; padding-right: 56px; }
.marquee a { display: inline-flex; flex: none; }
.marquee img { height: 30px; width: auto; filter: grayscale(1) brightness(1.15); opacity: .7; transition: opacity .2s var(--ease), filter .2s var(--ease); }
.marquee a:hover img, .marquee a:focus-visible img { opacity: 1; filter: none; }
.marquee:hover .track, .marquee:focus-within .track { animation-play-state: paused; }
@keyframes mq { to { transform: translateX(-50%); } }
@media (max-width: 640px) { .marquee img { height: 24px; } .marquee .set { gap: 40px; padding-right: 40px; } .marquee .track { animation-duration: 30s; } }
@media (prefers-reduced-motion: reduce) {
  .marquee { -webkit-mask-image: none; mask-image: none; }
  .marquee .track { animation: none; width: auto; }
  .marquee .set { flex-wrap: wrap; justify-content: center; gap: 24px 40px; padding-right: 0; }
  .marquee .set[aria-hidden="true"] { display: none; }
}
.legacy .mq-box { padding: 32px 0; display: flex; align-items: center; min-width: 0; }
.trust .marquee { width: 100%; }

/* Fundadores: enlace a LinkedIn sobre la foto */
.miembro .cap .li:hover, .miembro .cap .li:focus-visible { color: var(--texto-principal); border-color: var(--azul-300); }
.mini-equipo .miembro .cap .li { width: 24px; height: 24px; }

/* Fases: entran en orden y la línea entre fases se dibuja */
@media (prefers-reduced-motion: no-preference) {
  html.js .paso .node i { transform: scale(.3); opacity: .2; transition: transform .5s var(--ease), opacity .5s var(--ease); transition-delay: calc(var(--d, 0ms) + 120ms); }
  html.js .paso .node b { transform: scaleX(0); transform-origin: left center; transition: transform .8s var(--ease); transition-delay: calc(var(--d, 0ms) + 260ms); }
  html.js .paso.in .node i { transform: none; opacity: 1; }
  html.js .paso.in .node b { transform: scaleX(1); }
}

/* Página de términos */
.legal-page { max-width: 820px; padding-block: 64px 40px; }
.legal-page h1 { font-size: clamp(32px, 4.6vw, 48px); line-height: 1.12; letter-spacing: -.04em; margin-bottom: 12px; }
.legal-page h2 { font-family: var(--f-text); font-weight: 600; font-size: 19px; line-height: 26px; letter-spacing: -.01em; margin: 32px 0 8px; color: var(--texto-principal); }
.legal-page p, .legal-page li { color: var(--texto-secundario); font-size: 16px; line-height: 26px; }
.legal-page p + p { margin-top: 10px; }
.legal-page ul { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.legal-page a { color: var(--texto-marca); }
.legal-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 24px; }
.legal-langs { display: flex; gap: 6px; }
.legal-langs a { font-size: 14px; padding: 6px 12px; border-radius: var(--r-total); border: 1px solid var(--borde-base); color: var(--texto-secundario); min-height: 36px; display: inline-flex; align-items: center; }
.legal-langs a[aria-current="page"] { color: var(--texto-principal); border-color: var(--azul-400); }
.pie-grid .col a.terms-link { font-size: 15px; }

/* ---------- Páginas de caso (/systems/<caso>/, las genera systems/tools/clients.py) ---------- */
.hero-caso .terrain { height: 420px; opacity: .75; }
.caso-hero { position: relative; z-index: 2; display: grid; gap: 24px; justify-items: start; padding-top: 88px; padding-bottom: 260px; max-width: 880px; }
.caso-hero h1 { max-width: 18ch; }
.caso-hero h1 b { font-weight: inherit; color: var(--texto-marca); }
.caso-hero .c-xl { max-width: 680px; }
.caso-hero .ctas { justify-content: flex-start; }
.crumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.crumb a { color: var(--texto-secundario); }
.crumb a:hover { color: var(--texto-principal); }
.crumb [aria-current] { color: var(--texto-principal); }
.caso-logo { height: 30px; width: auto; opacity: .92; }
.caso-wordmark { font-family: var(--f-display); font-weight: 500; font-size: 22px; letter-spacing: -.02em; color: var(--texto-principal); }
section.sec.caso-ficha-sec { margin-top: -180px; z-index: 3; }
.caso-ficha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; overflow: hidden; }
.caso-ficha > div { padding: 24px 26px; display: grid; gap: 8px; align-content: start; min-width: 0; }
.caso-ficha > div + div { border-left: 1px solid var(--borde-sutil); }
.caso-ficha dd { margin: 0; font-size: 17px; line-height: 24px; font-weight: 500; color: var(--texto-principal); }
.caso-who { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.caso-text { display: grid; gap: 14px; max-width: 68ch; }
.caso-facts { padding: 28px; display: grid; gap: 16px; }
.caso-built { padding: 40px; display: grid; gap: 18px; border-color: rgba(95,123,255,.45); background: linear-gradient(120deg, rgba(17,27,217,.22), rgba(107,77,255,.08) 60%, rgba(255,255,255,.02)); box-shadow: 0 0 70px -26px rgba(51,84,255,.75); }
.caso-how { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.caso-step { padding: 24px; display: grid; gap: 10px; align-content: start; border-radius: var(--r-lg); min-width: 0; }
.caso-step b { font-weight: 600; font-size: 17px; line-height: 24px; letter-spacing: -.01em; }
.caso-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.caso-cifras .cifra-l { font-size: clamp(40px, 4.2vw, 60px); overflow-wrap: anywhere; }
.caso-quote { margin: 24px 0 0; padding: 32px; display: grid; gap: 16px; max-width: 840px; }
.caso-quote blockquote { margin: 0; }
.caso-quote figcaption b { font-weight: 600; }
.caso-page .pie { margin-top: 0; }
@media (max-width: 960px) {
  .caso-ficha { grid-template-columns: 1fr 1fr; }
  .caso-ficha > div:nth-child(3) { border-left: 0; }
  .caso-ficha > div:nth-child(n+3) { border-top: 1px solid var(--borde-sutil); }
  .caso-who { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px) {
  .caso-hero { padding-top: 48px; padding-bottom: 180px; }
  .hero-caso .terrain { height: 280px; }
  section.sec.caso-ficha-sec { margin-top: -110px; }
  .caso-ficha { grid-template-columns: 1fr; }
  .caso-ficha > div + div { border-left: 0; border-top: 1px solid var(--borde-sutil); }
  .caso-built, .caso-quote { padding: 26px; }
}
