/* IAvanza · web · los colores y la tipografía vienen de tokens.css (sistema v1.6.0) */
@import url('tokens.css');

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ia-superficie); color:var(--ia-texto);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.6; overflow-x:hidden;
}
img,svg{max-width:100%; height:auto; display:block}
a{color:var(--ia-primario); text-decoration:none}
a:hover{text-decoration:underline}
.env{width:100%; max-width:1120px; margin:0 auto; padding:0 clamp(18px,6.7vw,44px)}
.saltar{position:absolute;left:-9999px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar:focus{left:8px;top:8px;background:var(--ia-primario);color:#fff;padding:10px 14px;z-index:99;border-radius:6px}

/* ---------- cabecera ---------- */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--ia-borde)}
.cab .env{display:flex;align-items:center;gap:16px;min-height:68px}
.cab .logo img{height:30px;width:auto}
.nav{margin-left:auto;display:flex;gap:clamp(10px,2.2vw,26px);align-items:center;font-size:15px;font-weight:600}
.nav a{color:var(--ia-texto)}
.nav a[aria-current]{color:var(--ia-primario)}
.nav .btn{font-size:14px;padding:9px 15px}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:16px;
  padding:14px 24px;border-radius:999px;border:2px solid transparent;line-height:1.1;
  background:var(--ia-primario);color:var(--ia-sobre-primario);transition:filter .15s}
.btn:hover{filter:brightness(1.1);text-decoration:none}
.btn img{height:19px;width:19px;filter:brightness(0) invert(1)}
.btn.fantasma{background:transparent;color:var(--ia-primario);border-color:var(--ia-primario)}
.btn.fantasma img{filter:none}

/* ---------- portada ---------- */
.heroe{padding:clamp(44px,9vw,86px) 0 clamp(34px,6vw,58px)}
h1{font-size:clamp(33px,7.4vw,61px);line-height:1.06;margin:0 0 22px;
  font-weight:800;font-stretch:100%;letter-spacing:-.015em;text-transform:uppercase}
h1 .az{color:var(--ia-primario)}
.bajada{font-size:clamp(18px,2.4vw,22px);max-width:44ch;color:var(--ia-texto);margin:0 0 30px}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
.hechos{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:15px;font-weight:600;color:var(--ia-texto-suave);
  border-top:1px solid var(--ia-borde);padding-top:20px}

/* ---------- secciones ---------- */
section{padding:clamp(40px,7vw,72px) 0}
section.velo{background:var(--ia-velo)}
section.azul{background:var(--ia-primario);color:var(--ia-sobre-primario)}
section.azul h2,section.azul h3{color:var(--ia-sobre-primario)}
section.azul .kicker{color:var(--ia-acento)}
section.azul a{color:var(--ia-sobre-primario);text-decoration:underline}
.kicker{font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ia-primario);margin:0 0 10px}
h2{font-size:clamp(26px,4.2vw,39px);line-height:1.14;margin:0 0 16px;font-weight:800;letter-spacing:-.01em}
h3{font-size:clamp(19px,2.4vw,25px);line-height:1.2;margin:0 0 8px;font-weight:700}
.intro{max-width:62ch;font-size:clamp(17px,2vw,20px);color:var(--ia-texto);margin:0 0 30px}
.regla{height:4px;width:60px;background:var(--ia-primario);border:0;margin:0 0 20px;border-radius:2px}

/* ---------- los 4 niveles ---------- */
.niveles{display:grid;gap:14px;grid-template-columns:1fr;counter-reset:n}
@media(min-width:760px){.niveles{grid-template-columns:repeat(2,1fr)}}
.nivel{background:var(--ia-superficie);border:1px solid var(--ia-borde);border-radius:14px;
  padding:22px;display:flex;gap:16px;align-items:flex-start}
.nivel .num{flex:0 0 38px;height:38px;border-radius:10px;background:var(--ia-primario);
  color:#fff;font-weight:800;display:grid;place-items:center;font-size:18px}
.nivel p{margin:0;font-size:16px;color:var(--ia-texto-suave)}
.nivel strong{color:var(--ia-texto);display:block;font-size:17px;margin-bottom:3px}

/* ---------- rejilla de comunidades ---------- */
.rejilla{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:560px){.rejilla{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.rejilla{grid-template-columns:repeat(3,1fr)}}
.tarjeta{background:var(--ia-superficie);border:1px solid var(--ia-borde);border-radius:16px;
  padding:22px;display:flex;flex-direction:column;gap:12px;border-top:5px solid var(--ia-c)}
.tarjeta .marca img{height:40px;width:auto}          /* isotipo: ratio 1.712 en los 13 */
.tarjeta h3{font-size:19px;margin:0}
.tarjeta p{margin:0;font-size:15.5px;color:var(--ia-texto-suave);flex:1}
.tarjeta .champ{font-size:13.5px;color:var(--ia-texto-suave);margin:0}
.tarjeta .champ b{color:var(--ia-texto)}
.tarjeta .entrar{font-weight:700;font-size:15px;color:var(--ia-primario);display:inline-flex;gap:7px;align-items:center}
/* ⚠️ MEDIDO: 9 de los 13 colores de comunidad no llegan a 4.5:1 sobre blanco
   (automate 1.59 · maker 2.19 · safety 2.30 · datos 2.65 son ilegibles).
   El color de la comunidad se queda donde es GRÁFICO —el borde de la tarjeta,
   la barra de la ficha y su propio lockup— y el texto va en azul de marca (5.41:1). */
.tarjeta .pendiente{font-size:13.5px;font-weight:700;color:var(--ia-texto-suave);
  background:var(--ia-velo);border-radius:8px;padding:8px 11px;margin:0}

/* ---------- fichas grandes (comunidades.html) ---------- */
.fichas{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:820px){.fichas{grid-template-columns:repeat(2,1fr)}}
.ficha{background:var(--ia-superficie);border:1px solid var(--ia-borde);border-left:6px solid var(--ia-c);
  border-radius:16px;padding:26px}
/* El lockup completo NO se escala por el ancho (los 13 anchos van de 346 a 943 unidades
   sobre el mismo alto de 101.29). Con max-height + max-width y sin alto fijo, el navegador
   respeta la proporción: nunca se deforma ni se recorta. Los topes por escalón salen de
   medir el ancho útil de la ficha contra el ratio máximo (9.31). */
.ficha .marca img{max-height:23px;height:auto;width:auto;max-width:100%;margin-bottom:14px}
@media(min-width:560px){.ficha .marca img{max-height:32px}}
@media(min-width:1000px){.ficha .marca img{max-height:44px}}
.ficha p{margin:0 0 14px;font-size:16px}
.ficha .meta{font-size:14px;color:var(--ia-texto-suave);margin:0 0 16px}
.ficha .meta b{color:var(--ia-texto)}

/* ---------- listas de contenido ---------- */
.contenido{max-width:74ch}
.contenido h2{margin-top:38px}
.contenido h3{margin-top:26px}
.contenido p,.contenido li{font-size:17px}
.contenido ol,.contenido ul{padding-left:22px}
.contenido li{margin-bottom:11px}
.contenido li strong{color:var(--ia-texto)}
.aviso{background:var(--ia-velo);border-left:5px solid var(--ia-primario);border-radius:0 12px 12px 0;
  padding:18px 22px;margin:26px 0}
.aviso p{margin:0}
.pasos{list-style:none;padding:0;counter-reset:p}
.pasos li{counter-increment:p;padding-left:52px;position:relative;margin-bottom:18px}
.pasos li::before{content:counter(p);position:absolute;left:0;top:0;width:34px;height:34px;
  border-radius:9px;background:var(--ia-primario);color:#fff;font-weight:800;display:grid;place-items:center}

/* ---------- agenda ---------- */
.agenda{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:760px){.agenda{grid-template-columns:repeat(2,1fr)}}
.cita{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:24px}
.cita .dia{font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ia-acento);margin:0 0 8px}
.cita p{margin:0;font-size:16px;color:rgba(255,255,255,.92)}

/* ---------- cierre ---------- */
.cierre{text-align:center}
.cierre h2{max-width:26ch;margin:0 auto 16px}
.cierre .bajada{margin:0 auto 26px}

/* ---------- pie ---------- */
.pie{background:var(--ia-texto);color:#fff;padding:44px 0 30px;font-size:15px}
.pie a{color:rgba(255,255,255,.86)}
.pie .fila{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}
.pie .marcas{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.pie .marcas img{height:26px;width:auto;filter:brightness(0) invert(1)}
.pie ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.pie .legal{border-top:1px solid rgba(255,255,255,.2);margin-top:26px;padding-top:18px;
  color:rgba(255,255,255,.66);font-size:13.5px}
.pie .legal p{margin:0 0 6px}

/* ---------- teléfonos estrechos: la barra no cabe con los 3 enlaces + el botón ----------
   Medido a 320 px: nav 37→327 sobre un clientWidth de 320 (6 px fuera).
   Se esconden los enlaces de texto y se deja el botón; la navegación vive en el pie
   y en el propio contenido. */
@media (max-width:600px){
  .nav a:not(.btn){display:none}
  .cab .logo img{height:26px}
  .nav .btn{padding:9px 16px}
}

/* ---------- ficha individual de comunidad ---------- */
.ficha-cab{border-top:6px solid var(--ia-c);padding-top:clamp(30px,5vw,52px)}
.ficha-cab .kicker a{color:var(--ia-primario)}
/* El lockup grande: mismo criterio que en las fichas del directorio — max-height + max-width
   y NINGÚN alto fijo, para que el navegador respete la proporción. Topes calculados con el
   ratio máximo de los 13 (9.31 = DESARROLLA) contra el ancho útil de cada escalón. */
.lockup-grande{margin:0 0 22px}
.lockup-grande img{max-height:28px;height:auto;width:auto;max-width:100%}
@media(min-width:560px){.lockup-grande img{max-height:48px}}
@media(min-width:1000px){.lockup-grande img{max-height:72px}}
.ficha-cab .meta{font-size:15px;color:var(--ia-texto-suave);margin:20px 0 0}
.ficha-cab .meta b{color:var(--ia-texto)}
.ficha-cab .pendiente{font-size:15px;font-weight:600;color:var(--ia-texto-suave);
  background:var(--ia-velo);border-radius:12px;padding:16px 20px;margin:0;max-width:58ch}

.chips{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:9px}
.chips li{background:var(--ia-superficie);border:1px solid var(--ia-borde);border-radius:999px;
  padding:8px 15px;font-size:15px;font-weight:600;color:var(--ia-texto)}

.otras{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.otras a{background:var(--ia-superficie);border:1px solid var(--ia-borde);border-radius:12px;
  padding:12px;display:grid;place-items:center;transition:border-color .15s}
.otras a:hover{border-color:var(--ia-primario)}
.otras img{height:26px;width:auto}

.masinfo{margin:12px 0 0;font-size:15px;font-weight:600}
.ficha .marca{display:block}
