:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}


/* =====================================================================
   ENDOLATAM · Sitio oficial (one-page) · Identidad de marca
   Layout: lienzo blanco luminoso, contenedor 1180px, secciones alternas
   blanco / gris-suave separadas por ribbons amarillos; azul = autoridad,
   amarillo = energía (solo gráfico), tarjetas 24px+ con sombra suave.
   Tema: único (claro) por decisión de marca ("nunca fondos oscuros").
   ===================================================================== */
:root{
  color-scheme: light;
  /* Paleta oficial EndoLATAM */
  --azul:#1E7BE8;            /* titulares clave, gráficos, pills grandes */
  --azul-oscuro:#0F4FA8;     /* hover, degradados, enlaces */
  --amarillo:#FFC20E;        /* ribbon, subrayados, iconos (nunca texto pequeño) */
  --amarillo-claro:#FFE38A;  /* fondos suaves, glows */
  --blanco:#FFFFFF;
  --gris-texto:#1A1A1A;
  --gris-suave:#F4F6F9;
  /* Derivados de la paleta (accesibilidad AA) */
  --azul-ui:#1A6FD6;         /* variante AA para texto blanco pequeño sobre azul */
  --azul-texto:#1565C9;      /* palabras clave en bold dentro de párrafos (≥5:1) */
  --azul-tinte:#E8F1FD;      /* fondos suaves azules */
  --azul-tinte-2:#D6E6FB;
  --gris-medio:#55607A;      /* texto secundario con sesgo azul */
  --gris-borde:#E1E7F0;
  --sombra:0 10px 30px rgba(15,79,168,.08), 0 2px 6px rgba(15,79,168,.05);
  --sombra-hover:0 22px 48px rgba(15,79,168,.14), 0 4px 10px rgba(15,79,168,.06);
  /* Semáforo legal (semántico, independiente del acento) */
  --sem-ley:#1E9E6A; --sem-parcial:#FFC20E; --sem-tramite:#F28C28; --sem-sin:#C9D1DC; --sem-nv:#E6EAF0;
  /* Tipografía */
  --f-display:'Montserrat',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --f-body:'Inter','Montserrat',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --radio:24px; --radio-lg:32px;
  --ancho:1440px;
  --gutter:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--blanco);color:var(--gris-texto);font-family:var(--f-body);font-size:17px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--azul-oscuro);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--azul)}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:700}
h3{font-size:clamp(1.15rem,2vw,1.4rem);font-weight:700}
h4{font-size:1.05rem;font-weight:700}
p{margin:0}
ul,ol{margin:0;padding-left:1.2em}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--amarillo);outline-offset:3px;border-radius:6px}
.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-link{position:fixed;z-index:2000;top:12px;left:12px;padding:.7em 1em;border-radius:10px;background:var(--azul-oscuro);color:#fff;font-family:var(--f-display);font-weight:700;text-decoration:none;transform:translateY(calc(-100% - 24px));transition:transform .2s ease}
.skip-link:focus{color:#fff;transform:translateY(0)}
.contenedor{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:var(--gutter)}
.seccion{padding-block:clamp(64px,9vw,112px)}
.seccion.suave{background:var(--gris-suave)}
.seccion.tinte{background:linear-gradient(180deg,var(--azul-tinte) 0%,var(--blanco) 100%)}

/* Palabras clave: azul bold, estilo piezas de redes */
b.k,strong.k,.k{color:var(--azul-texto);font-weight:700}
/* Subrayado amarillo bajo palabras clave */
.sub{background:linear-gradient(transparent 62%,var(--amarillo) 62%,var(--amarillo) 92%,transparent 92%);padding-inline:.06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.dato{display:inline-block;font-family:var(--f-display);font-weight:700;font-size:.78em;letter-spacing:.02em;color:var(--azul-oscuro);background:var(--amarillo-claro);border:1.5px dashed var(--amarillo);border-radius:8px;padding:0 .45em;vertical-align:baseline}

/* Pills */
.pill{display:inline-flex;align-items:center;gap:.45em;border-radius:999px;padding:.42em 1em;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.01em;line-height:1.2;white-space:nowrap}
.pill.azul{background:var(--azul-ui);color:#fff}
.pill.claro{background:var(--azul-tinte);color:var(--azul-oscuro)}
.pill.borde{border:2px solid var(--azul-tinte-2);color:var(--azul-oscuro);background:#fff}
.pill.amarillo{background:var(--amarillo);color:var(--gris-texto)}
.pill .dot{width:.55em;height:.55em;border-radius:50%;background:var(--amarillo);display:inline-block;flex:none}
@media (max-width:480px){.pill{white-space:normal;text-align:left}}
.pill.azul .dot{background:var(--amarillo)}

/* Encabezados de sección */
.cabecera{display:grid;gap:18px;max-width:820px;margin-bottom:clamp(36px,5vw,56px)}
.cabecera .ojo{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cabecera p.lead{font-size:1.12rem;color:var(--gris-medio);max-width:68ch}
.cabecera h2 .sub{white-space:nowrap}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;border-radius:999px;padding:.95em 1.6em;font-family:var(--f-display);font-weight:700;font-size:.98rem;text-decoration:none;border:2px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;line-height:1.1}
.btn.primario{border:0;padding:calc(.95em + 2px) calc(1.6em + 2px);background:linear-gradient(135deg,var(--azul) 0%,var(--azul-oscuro) 100%);color:#fff;box-shadow:0 10px 24px rgba(30,123,232,.28)}
.btn.primario:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(30,123,232,.34);color:#fff}
.btn.secundario{background:#fff;color:var(--azul-oscuro);border-color:var(--azul-tinte-2)}
.btn.secundario:hover{border-color:var(--azul);transform:translateY(-2px);color:var(--azul-oscuro)}
.btn.chico{padding:.7em 1.2em;font-size:.88rem}
.btn.primario.chico{padding:calc(.7em + 2px) calc(1.2em + 2px)}
.btn svg{width:1.05em;height:1.05em;flex:none}

/* Tarjetas */
.card{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:clamp(22px,3vw,32px);border:1px solid rgba(225,231,240,.7);transition:transform .25s ease,box-shadow .25s ease;min-width:0}
.card.hover:hover{transform:translateY(-4px);box-shadow:var(--sombra-hover)}
.card.plana{box-shadow:none;background:var(--gris-suave);border-color:transparent}
.grid{display:grid;gap:clamp(16px,2.4vw,28px)}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}

/* Ribbon amarillo (separador de secciones) */
.ribbon{display:block;width:100%;height:auto;line-height:0;overflow:hidden;background:transparent}
.ribbon svg{display:block;width:100%;height:auto}
.ribbon path{fill:none;stroke:var(--amarillo);stroke-width:16;stroke-linecap:round;stroke-dasharray:1900;stroke-dashoffset:1900;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1)}
.ribbon.in path{stroke-dashoffset:0}
.ribbon path.som{stroke:var(--amarillo-claro);stroke-width:34;opacity:.55;transition-delay:.15s}
@media (prefers-reduced-motion:reduce){.ribbon path{stroke-dashoffset:0;transition:none}}

/* Scroll reveal: estado de reposo visible */
.reveal{opacity:.35;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Bloque de métricas + CTA (cierre de cada sección) */
.cierre{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:1fr;gap:20px;background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);padding:clamp(22px,3vw,34px);border:1px solid rgba(225,231,240,.7);position:relative;overflow:hidden}
.cierre::before{content:"";position:absolute;inset:auto -10% -60% auto;width:52%;height:120%;background:radial-gradient(closest-side,var(--amarillo-claro),transparent 70%);opacity:.6;pointer-events:none}
.cierre>*{position:relative}
.cierre .titulo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cierre .titulo h3{font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro)}
.metricas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.met{background:var(--gris-suave);border-radius:18px;padding:16px 18px;min-width:0}
.met .num{font-family:var(--f-display);font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--azul);line-height:1;font-variant-numeric:tabular-nums}
.met .num .dato{font-size:.6em;vertical-align:middle}
.met .lab{font-size:.85rem;color:var(--gris-medio);margin-top:6px;line-height:1.35}
.cierre .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.cierre .cta p{color:var(--gris-medio);max-width:60ch}
.cierre .cta .btns{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Loader de entrada ---------- */
#loader{position:fixed;inset:0;background:#fff;display:grid;place-items:center;z-index:1000;transition:opacity .5s ease,visibility .5s ease}
#loader.off{opacity:0;visibility:hidden}
#loader img{width:64px;animation:pulso 1.4s ease-in-out infinite}
@keyframes pulso{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}
@media (prefers-reduced-motion:reduce){#loader img{animation:none}}

/* ---------- Navegación ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);border-bottom:1px solid rgba(225,231,240,.8)}
.nav .barra{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.nav .logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav .logo img{height:44px;width:auto}
.nav nav{width:100%;border-top:1px solid rgba(225,231,240,.8)}
.nav ul{list-style:none;margin:0;padding:6px 0 8px;display:flex;gap:4px;flex-wrap:nowrap;align-items:center;justify-content:center}
.nav ul a{display:inline-block;padding:.55em .95em;border-radius:999px;font-family:var(--f-display);font-weight:600;font-size:.84rem;color:var(--gris-texto);text-decoration:none;transition:background .2s,color .2s}
.nav ul a:hover,.nav ul a.activo{background:var(--azul-tinte);color:var(--azul-oscuro)}
.nav .acciones{display:flex;align-items:center;gap:16px}
.nav .menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:2px solid var(--azul-tinte-2);background:#fff;align-items:center;justify-content:center}
.nav .menu-btn span{display:block;width:20px;height:2px;background:var(--azul-oscuro);position:relative}
.nav .menu-btn span::before,.nav .menu-btn span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--azul-oscuro)}
.nav .menu-btn span::before{top:-6px}.nav .menu-btn span::after{top:6px}
@media (max-width:1060px){
  .nav .barra{display:flex;gap:0;min-height:74px;padding-block:0}
  .nav .acciones{margin-left:auto}
  .nav nav{width:0;border:0}
  .nav .menu-btn{display:inline-flex}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:12px var(--gutter) 18px;border-bottom:1px solid var(--gris-borde);box-shadow:0 20px 40px rgba(15,79,168,.12)}
  .nav ul.abierto{display:flex}
  .nav ul a{display:block;font-size:1rem;padding:.8em 1em}
  .nav .acciones .btn{display:none}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,96px) clamp(40px,6vw,72px);background:
  radial-gradient(1200px 500px at 85% -10%,var(--azul-tinte) 0%,transparent 60%),
  radial-gradient(700px 400px at -10% 110%,var(--amarillo-claro) 0%,transparent 60%),#fff}
.hero .grid-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){.hero .grid-hero{grid-template-columns:1fr}}
.hero .texto{display:grid;gap:22px}
.hero h1 .sub{white-space:nowrap}
.hero .manifiesto{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--gris-medio);max-width:60ch}
.hero .manifiesto .k{color:var(--azul-texto)}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
@media (max-width:560px){.hero .stats{grid-template-columns:1fr 1fr}}
.hero .stat{background:rgba(255,255,255,.75);border:1px solid var(--gris-borde);border-radius:20px;padding:14px 16px;min-width:0}
.hero .stat .num{font-family:var(--f-display);font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--azul);line-height:1;font-variant-numeric:tabular-nums}
.hero .stat .lab{font-size:.8rem;color:var(--gris-medio);margin-top:6px;line-height:1.3}
.hero .stat .fuente{font-size:.7rem;color:var(--gris-medio);opacity:.8;margin-top:4px}
.hero .visual{position:relative;display:grid;place-items:center;min-height:340px}
.hero .visual .glow{position:absolute;width:min(78%,420px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--amarillo-claro),transparent 72%);opacity:.9;animation:respira 6s ease-in-out infinite}
@keyframes respira{0%,100%{transform:scale(.96)}50%{transform:scale(1.06)}}
.hero .visual img.mark{position:relative;width:min(58%,300px);filter:drop-shadow(0 30px 40px rgba(15,79,168,.18))}
.hero .flot{position:absolute;box-shadow:var(--sombra);animation:flota 7s ease-in-out infinite}
.hero .flot.f1{top:6%;left:0;animation-delay:0s}
.hero .flot.f2{top:18%;right:0;animation-delay:-2s}
.hero .flot.f3{bottom:16%;left:4%;animation-delay:-4s}
.hero .flot.f4{bottom:4%;right:6%;animation-delay:-1s}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){.hero .flot,.hero .visual .glow{animation:none}}
@media (max-width:900px){.hero .visual{min-height:300px}.hero .flot{font-size:.74rem}}

/* ---------- El problema ---------- */
.problema-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,48px);align-items:start}
.problema-grid>*{min-width:0}
@media (max-width:960px){.problema-grid{grid-template-columns:1fr}}
.viz{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);padding:clamp(18px,2.5vw,28px);border:1px solid rgba(225,231,240,.7);min-width:0;max-width:100%}
.viz .toggle{display:inline-flex;flex-wrap:wrap;max-width:100%;background:var(--gris-suave);border-radius:24px;padding:4px;gap:4px;margin-bottom:14px}
@media (max-width:520px){.viz .toggle{display:grid;grid-template-columns:1fr;width:100%}}
.viz .toggle button{border:0;background:transparent;border-radius:999px;padding:.6em 1.1em;font-family:var(--f-display);font-weight:700;font-size:.85rem;color:var(--gris-medio);transition:background .2s,color .2s}
.viz .toggle button[aria-pressed="true"]{background:#fff;color:var(--azul-oscuro);box-shadow:0 4px 12px rgba(15,79,168,.12)}
.viz .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%}
.viz svg{width:100%;height:auto;display:block;min-width:520px}
.viz .leyenda{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem;color:var(--gris-medio);margin-top:10px}
.viz .leyenda span{display:inline-flex;align-items:center;gap:6px}
.viz .leyenda i{width:12px;height:12px;border-radius:50%;display:inline-block}
.ruta-txt{min-height:3.2em;font-size:.95rem;color:var(--gris-medio);margin-top:10px}
.ruta-txt b{color:var(--azul-texto)}
.ruta-nodo{transition:opacity .5s ease,transform .6s cubic-bezier(.65,0,.35,1)}
.ruta-linea{transition:opacity .5s ease,stroke-dashoffset 1.2s ease}
.brechas{display:grid;gap:14px}
.brecha{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:end;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7)}
.brecha .lab{font-size:.9rem;color:var(--gris-medio);grid-column:1/-1}
.brecha .barra{grid-column:1/-1;height:10px;border-radius:999px;background:var(--gris-suave);overflow:hidden}
.brecha .barra i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--azul),var(--azul-oscuro));transition:width 1.3s cubic-bezier(.65,0,.35,1)}
.brecha.in .barra i{width:var(--w)}
.brecha .val{font-family:var(--f-display);font-weight:800;color:var(--azul);font-size:1.3rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.brecha .src{font-size:.72rem;color:var(--gris-medio);opacity:.85;text-align:right}
.brecha.amar .barra i{background:linear-gradient(90deg,var(--amarillo),#f0a800)}

/* ---------- El modelo ---------- */
.modelo-top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
@media (max-width:960px){.modelo-top{grid-template-columns:1fr}}
.anillo{position:relative;width:min(100%,520px);aspect-ratio:1;margin-inline:auto}
.anillo svg{width:100%;height:100%;display:block;overflow:visible}
.anillo .disc{cursor:pointer}
.anillo .disc circle{fill:#fff;stroke:var(--azul-tinte-2);stroke-width:2;transition:all .25s ease}
.anillo .disc text{font-family:var(--f-display);font-weight:700;font-size:11px;fill:var(--azul-oscuro);text-anchor:middle;pointer-events:none}
.anillo .disc:hover circle,.anillo .disc.activo circle{fill:var(--azul-ui);stroke:var(--azul-ui)}
.anillo .disc:hover text,.anillo .disc.activo text{fill:#fff}
.anillo .centro circle{fill:url(#gradAzul)}
.anillo .centro text{fill:#fff;font-family:var(--f-display);font-weight:800;text-anchor:middle}
.anillo .radio{stroke:var(--azul-tinte-2);stroke-width:2;stroke-dasharray:4 6}
.anillo-info{min-height:9em}
.anillo-info h3{display:flex;align-items:center;gap:10px}
.anillo-info .pill{margin-bottom:10px}
.anillo-info p{color:var(--gris-medio)}
.anillo-info ul{margin-top:10px;color:var(--gris-medio);font-size:.95rem;display:grid;gap:4px}
.ruta7{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(7,1fr);gap:10px;position:relative}
.ruta7::before{content:"";position:absolute;left:4%;right:4%;top:28px;height:3px;background:linear-gradient(90deg,var(--azul-tinte-2),var(--azul),var(--azul-tinte-2));border-radius:3px;z-index:0}
@media (max-width:1100px){.ruta7{grid-template-columns:repeat(4,1fr)}.ruta7::before{display:none}}
@media (max-width:620px){.ruta7{grid-template-columns:repeat(2,1fr)}}
.paso{position:relative;z-index:1;background:#fff;border-radius:20px;padding:16px 14px 18px;box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);display:grid;gap:8px;min-width:0}
.paso .n{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));color:#fff;font-family:var(--f-display);font-weight:800;font-size:1.2rem;margin:-44px auto 0;border:4px solid #fff;box-shadow:0 8px 20px rgba(30,123,232,.25)}
@media (max-width:1100px){.paso .n{margin-top:-4px}}
.paso h4{font-size:.95rem;text-align:center;line-height:1.25}
.paso p{font-size:.82rem;color:var(--gris-medio);text-align:center;line-height:1.4}
.paso .tag{display:block;text-align:center;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro);font-weight:700;font-family:var(--f-display)}

/* Postura: excisión, nunca ablación */
.postura{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,40px);align-items:start;background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:clamp(22px,3vw,36px);position:relative;overflow:hidden}
.postura::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--amarillo)}
@media (max-width:960px){.postura{grid-template-columns:1fr}}
.postura>*{min-width:0}
.postura-txt{display:grid;gap:14px;align-content:start}
.postura-txt .pill{justify-self:start}
.postura-txt h3{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1}
.postura-txt p{color:var(--gris-medio);font-size:1rem}
.evidencia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.ev{background:var(--gris-suave);border-radius:18px;padding:16px;display:grid;gap:8px;align-content:start;min-width:0}
.ev .num{font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--azul);line-height:1;font-variant-numeric:tabular-nums}
.ev p{font-size:.84rem;color:var(--gris-medio);line-height:1.5}
.ev p b{color:var(--gris-texto)}
.ev a{font-size:.76rem;color:var(--azul-oscuro);line-height:1.4}
.aviso-contacto{font-size:.82rem;color:var(--gris-medio);border-left:3px solid var(--amarillo);padding-left:10px}
/* ---------- Endomapping ---------- */
.endo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:960px){.endo-grid{grid-template-columns:1fr}}
/* Póster #Enzian (imagen fija) */
.enzian-fig{margin:0;display:grid;gap:14px}
.enzian-fig .marco{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:clamp(12px,2vw,22px);display:grid;place-items:center}
.enzian-fig img{width:100%;max-width:980px;height:auto;border-radius:16px}
.enzian-fig figcaption{font-size:.92rem;color:var(--gris-medio);max-width:80ch;line-height:1.55}
.enzian-fig figcaption b{color:var(--azul-texto)}
.enzian-fig .credito{display:block;margin-top:6px;font-size:.76rem;opacity:.85}
.simulador{margin-top:clamp(28px,4vw,44px)}
.simulador .filas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.sim-item{background:var(--gris-suave);border-radius:18px;padding:12px 14px;display:grid;gap:8px;min-width:0;align-content:start}
.sim-item.f{grid-column:1/-1}
.sim-item .fila-f{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.sim-item .fila-f input[type=text]{flex:1 1 220px}
.sim-item label{font-family:var(--f-display);font-weight:700;font-size:.82rem;color:var(--azul-oscuro);display:flex;justify-content:space-between;gap:8px}
.sim-item label small{font-weight:600;color:var(--gris-medio);font-family:var(--f-body)}
.sim-item select{width:100%;border:2px solid var(--azul-tinte-2);background:#fff;border-radius:12px;padding:.5em .7em;font-size:.9rem}
.sim-item .par{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sim-item .par select{min-width:0}
.sim-item .chk{display:flex;gap:8px;align-items:center;justify-content:flex-start;font-size:.9rem;color:var(--gris-texto);font-family:var(--f-body);font-weight:500}
.sim-item .chk input{width:18px;height:18px;accent-color:var(--azul)}
.sim-out{margin-top:16px;background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));color:#fff;border-radius:var(--radio);padding:20px 24px;display:grid;gap:10px}
.sim-out .code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:700;letter-spacing:.02em;word-break:break-word}
.sim-out .nota{font-size:.85rem;opacity:.9}
.sim-out .acciones{display:flex;gap:10px;flex-wrap:wrap}
.sim-out .btn{background:#fff;color:var(--azul-oscuro)}
.sim-out .btn:hover{color:var(--azul-oscuro)}
.sim-out .implic{font-size:.9rem;display:grid;gap:4px;padding-left:1.1em}

/* ---------- Fenotipos ---------- */
.feno-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin-bottom:22px}
.feno-tab{border:2px solid var(--azul-tinte-2);background:#fff;border-radius:22px;padding:16px 18px;text-align:left;display:grid;gap:6px;transition:all .25s;min-width:0}
.feno-tab:hover{border-color:var(--azul);transform:translateY(-3px);box-shadow:var(--sombra)}
.feno-tab[aria-selected="true"]{border-color:var(--azul-ui);background:var(--azul-ui);color:#fff;box-shadow:0 14px 30px rgba(30,123,232,.28)}
.feno-tab .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--amarillo);color:var(--gris-texto)}
.feno-tab[aria-selected="true"] .ico{background:var(--amarillo)}
.feno-tab h3{font-size:1.02rem}
.feno-tab p{font-size:.82rem;color:var(--gris-medio);line-height:1.4}
.feno-tab[aria-selected="true"] p{color:rgba(255,255,255,.88)}
.feno-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(20px,3vw,36px);align-items:start}
@media (max-width:960px){.feno-panel{grid-template-columns:1fr}}
.feno-panel .desc h3{margin-bottom:8px}
.feno-panel .desc p{color:var(--gris-medio)}
.feno-panel .claves{display:grid;gap:8px;margin-top:14px}
.feno-panel .claves li{list-style:none;display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.feno-panel .claves li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--amarillo);margin-top:.5em}
.plan{display:grid;gap:10px}
.plan .item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);transition:all .4s ease;min-width:0}
.plan .item .ord{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--azul-tinte);color:var(--azul-oscuro);font-family:var(--f-display);font-weight:800;font-size:.9rem}
.plan .item .txt{font-size:.92rem;min-width:0}
.plan .item .txt small{display:block;color:var(--gris-medio);font-size:.8rem}
.plan .item .nivel{font-family:var(--f-display);font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.35em .8em;white-space:nowrap}
.plan .item.prio{border-color:var(--azul);background:linear-gradient(135deg,#fff,var(--azul-tinte))}
.plan .item.prio .ord{background:var(--azul-ui);color:#fff}
.plan .item.prio .nivel{background:var(--azul-ui);color:#fff}
.plan .item.anad .nivel{background:var(--amarillo);color:var(--gris-texto)}
.plan .item.cond .nivel{background:var(--gris-suave);color:var(--gris-medio)}
.plan .item.no{opacity:.75}
.plan .item.no .nivel{background:#FDE7E7;color:#9B2C2C}
.perfil{margin-top:clamp(28px,4vw,44px)}
.perfil .sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px}
.sl{background:var(--gris-suave);border-radius:18px;padding:14px 16px;display:grid;gap:6px;min-width:0}
.sl label{font-family:var(--f-display);font-weight:700;font-size:.85rem;color:var(--azul-oscuro);display:flex;justify-content:space-between}
.sl label output{font-variant-numeric:tabular-nums;color:var(--gris-texto)}
.sl small{color:var(--gris-medio);font-size:.78rem}
.sl input[type=range]{width:100%;accent-color:var(--azul)}
.perfil-out{margin-top:14px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:18px 22px;border:1px solid rgba(225,231,240,.7)}
@media (max-width:600px){.perfil-out{grid-template-columns:1fr}}
.perfil-out .gauge{width:120px;height:120px}
.perfil-out .gauge circle{fill:none;stroke-width:12}
.perfil-out .gauge .bg{stroke:var(--gris-suave)}
.perfil-out .gauge .fg{stroke:var(--azul);stroke-linecap:round;transition:stroke-dasharray .6s ease}
.perfil-out .gauge text{font-family:var(--f-display);font-weight:800;font-size:22px;fill:var(--azul-oscuro);text-anchor:middle}
.perfil-out h4{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.perfil-out p{color:var(--gris-medio);font-size:.95rem;margin-top:6px}
.perfil-out .aviso{font-size:.78rem;color:var(--gris-medio);margin-top:8px;opacity:.9}

/* ---------- Legislación ---------- */
.legis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:1000px){.legis-grid{grid-template-columns:minmax(0,1fr)}}
.legis-grid>*{min-width:0}
.ficha .fuentes a,.ficha .notas a,.ficha .bloque a{word-break:break-all}
.ficha{overflow-wrap:anywhere}
.ficha .acred a,.ficha .web a{word-break:normal;overflow-wrap:normal;white-space:nowrap}
.mapa{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);padding:clamp(12px,2vw,20px);border:1px solid rgba(225,231,240,.7);position:relative}
.mapa svg{width:100%;height:auto;display:block}
.mapa .pais{stroke:#fff;stroke-width:1.2;transition:filter .2s,stroke-width .2s;cursor:pointer}
.mapa .pais:hover,.mapa .pais.activo{stroke:var(--azul-oscuro);stroke-width:2;filter:drop-shadow(0 4px 8px rgba(15,79,168,.25))}
.mapa .ctx{fill:#EEF1F5;stroke:#fff;stroke-width:1;pointer-events:none}
.mapa .marcador{cursor:pointer}
.mapa .marcador circle{stroke:#fff;stroke-width:2;transition:r .2s}
.mapa .marcador:hover circle{r:9}
.mapa .marcador text{font-family:var(--f-display);font-weight:700;font-size:10px;fill:var(--gris-medio);pointer-events:none}
.mapa .etiqueta{font-family:var(--f-display);font-weight:700;font-size:11px;fill:var(--azul-oscuro);pointer-events:none;text-anchor:middle}
.mapa .leyenda{display:flex;gap:10px 16px;flex-wrap:wrap;margin-top:10px;font-size:.8rem;color:var(--gris-medio)}
.mapa .leyenda span{display:inline-flex;align-items:center;gap:6px}
.mapa .leyenda i{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid rgba(0,0,0,.06)}
.mapa .nv{background:repeating-linear-gradient(45deg,#E6EAF0 0 3px,#fff 3px 6px)}
.sel-pais{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.sel-pais button{border:2px solid var(--azul-tinte-2);background:#fff;border-radius:999px;padding:.4em .8em;font-family:var(--f-display);font-weight:700;font-size:.76rem;color:var(--azul-oscuro);transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.sel-pais button i{width:9px;height:9px;border-radius:50%;display:inline-block}
.sel-pais button:hover,.sel-pais button.activo{background:var(--azul-ui);border-color:var(--azul-ui);color:#fff}
.ficha{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);padding:clamp(20px,3vw,30px);border:1px solid rgba(225,231,240,.7);display:grid;gap:16px;position:sticky;top:calc(90px + env(safe-area-inset-top,0px))}
@media (max-width:1000px){.ficha{position:static}}
.ficha .cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ficha .bandera{font-size:2rem;line-height:1}
.ficha h3{font-size:1.4rem}
.ficha .sem{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:.4em .9em;font-family:var(--f-display);font-weight:700;font-size:.78rem}
.ficha .sem i{width:10px;height:10px;border-radius:50%}
.ficha .conf{font-size:.75rem;color:var(--gris-medio)}
.ficha .bloque{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:var(--gris-suave)}
.ficha .bloque h4{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro);display:flex;align-items:center;gap:8px}
.ficha .bloque h4 .est{margin-left:auto;font-size:.68rem;border-radius:999px;padding:.25em .7em;background:#fff;color:var(--gris-medio);font-weight:700}
.ficha .bloque h4 .est.si{background:#E2F5EC;color:#166B47}
.ficha .bloque h4 .est.no{background:#FDE7E7;color:#9B2C2C}
.ficha .bloque h4 .est.par{background:var(--amarillo-claro);color:#6b4d00}
.ficha .bloque p,.ficha .bloque li{font-size:.9rem;color:var(--gris-texto);line-height:1.5}
.ficha .bloque ul{display:grid;gap:6px;padding-left:1.1em}
.ficha .bloque .mini{font-size:.78rem;color:var(--gris-medio)}
.ficha .fuentes{font-size:.78rem;color:var(--gris-medio)}
.ficha .fuentes a{word-break:break-all}
.ficha .notas{font-size:.85rem;color:var(--gris-medio);border-left:3px solid var(--amarillo);padding-left:12px}
.comparativa{margin-top:clamp(36px,5vw,56px)}
.tabla-wrap{overflow-x:auto;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);background:#fff}
table.comp{border-collapse:collapse;width:100%;min-width:860px;font-size:.86rem}
table.comp th,table.comp td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--gris-borde);vertical-align:middle}
table.comp th{font-family:var(--f-display);font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro);background:var(--gris-suave);position:sticky;top:0}
table.comp td.p{font-weight:700;white-space:nowrap}
table.comp tr:hover td{background:#FAFBFD}
.celda{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.82rem}
.celda i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.celda.si i{background:var(--sem-ley)}.celda.par i{background:var(--sem-parcial)}.celda.tr i{background:var(--sem-tramite)}.celda.no i{background:var(--sem-sin)}.celda.nv i{background:repeating-linear-gradient(45deg,#C9D1DC 0 2px,#fff 2px 4px)}
.leymarco{margin-top:clamp(36px,5vw,56px)}
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;counter-reset:pilar}
.pilar{background:#fff;border-radius:22px;padding:20px;box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);display:grid;gap:8px;min-width:0;position:relative;overflow:hidden}
.pilar::after{content:"";position:absolute;right:-20px;top:-20px;width:70px;height:70px;border-radius:50%;background:var(--amarillo-claro);opacity:.7}
.pilar .num{font-family:var(--f-display);font-weight:800;color:var(--azul);font-size:1.6rem;line-height:1}
.pilar h4{font-size:.98rem}
.pilar p{font-size:.86rem;color:var(--gris-medio)}
.pilar .ref{font-size:.74rem;color:var(--azul-oscuro);font-weight:600}

/* ---------- Red ---------- */
/* Comunidad / redes */
.comunidad{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:16px 20px;margin-bottom:22px}
.comunidad .ig{display:flex;gap:12px;align-items:center;min-width:0;flex:1 1 320px}
.comunidad .ig-ico{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));color:#fff;display:grid;place-items:center;flex:none}
.comunidad .ig b{font-family:var(--f-display);display:block}
.comunidad .ig span{font-size:.85rem;color:var(--gris-medio);display:block}
.comunidad .redes{display:flex;gap:8px;flex-wrap:wrap}
/* Centros de la red · mapa */
.centros{margin-bottom:22px}
.centros-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(16px,3vw,32px);align-items:start}
@media (max-width:1000px){.centros-grid{grid-template-columns:1fr}}
.centros-grid>*{min-width:0}
.mapa-centros .ctx{fill:#EEF1F5}
.mapa-centros .pais-base{fill:#E3EDFB;stroke:#fff;stroke-width:1.2}
.mapa-centros .pais-base.activo{fill:#D6E6FB}
.mapa-centros .pt{cursor:pointer}
.mapa-centros .pt circle.halo{fill:var(--amarillo);opacity:.35;transition:r .25s}
.mapa-centros .pt:hover circle.halo,.mapa-centros .pt.activo circle.halo{opacity:.6}
.mapa-centros .pt circle.core{stroke:#fff;stroke-width:2.5}
.mapa-centros .pt.sede circle.core{fill:var(--azul-oscuro);stroke:var(--amarillo);stroke-width:4}
.mapa-centros .pt.master circle.core{fill:var(--azul-oscuro);stroke:var(--amarillo);stroke-width:3}
.mapa-centros .pt.doy circle.core{fill:var(--azul);stroke:var(--amarillo);stroke-width:2.5}
.mapa-centros .pt.red circle.core{fill:var(--azul)}
.mapa-centros .pt text.lbl{font-family:var(--f-display);font-weight:800;font-size:13px;fill:var(--azul-oscuro);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.mapa-centros .pt text.cnt{font-family:var(--f-display);font-weight:800;font-size:9px;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.mapa-centros .pt text.star{font-size:11px;fill:var(--amarillo);text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:var(--azul-oscuro);stroke-width:2px}
.mapa-centros .leyenda i{border-radius:50%}
.mapa-centros .lg-sede{background:var(--azul-oscuro);box-shadow:0 0 0 3px var(--amarillo)}
.mapa-centros .lg-master{background:var(--azul-oscuro);box-shadow:0 0 0 2px var(--amarillo)}
.mapa-centros .lg-doy{background:var(--azul);box-shadow:0 0 0 2px var(--amarillo-claro)}
.mapa-centros .lg-red{background:var(--azul)}
.ficha-centro .tier{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:.35em .85em;font-family:var(--f-display);font-weight:700;font-size:.74rem}
.ficha-centro .tier.sede{background:var(--amarillo);color:var(--gris-texto)}
.ficha-centro .tier.master{background:var(--azul-oscuro);color:#fff}
.ficha-centro .tier.doy{background:var(--azul-tinte);color:var(--azul-oscuro)}
.ficha-centro .tier.red{background:var(--gris-suave);color:var(--gris-medio)}
.ficha-centro .centro-item{display:grid;gap:8px;padding:14px;border-radius:18px;background:var(--gris-suave)}
.ficha-centro .centro-item.dest{background:linear-gradient(135deg,#fff,var(--azul-tinte));border:1.5px solid var(--azul-tinte-2)}
.ficha-centro .centro-item h4{font-size:1rem;line-height:1.3}
.ficha-centro .centro-item .dir{font-size:.8rem;color:var(--gris-medio)}
.ficha-centro .acred{display:grid;gap:6px}
.ficha-centro .acred li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:8px;font-size:.82rem;align-items:start}
.ficha-centro .acred li::before{content:"★";color:var(--amarillo);font-size:1rem;line-height:1.2;text-shadow:0 0 1px var(--azul-oscuro)}
.ficha-centro .acred small{display:block;color:var(--gris-medio)}
.ficha-centro .equipo{display:flex;flex-wrap:wrap;gap:6px}
.ficha-centro .equipo span{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:3px 10px 3px 3px;font-size:.76rem;font-weight:600}
.ficha-centro .equipo img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.ficha-centro .web a{font-size:.8rem}
.insignias{display:grid;gap:8px}
.insignia{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;background:#fff;border-radius:14px;padding:8px 10px;border:1px solid var(--gris-borde);text-decoration:none;color:var(--gris-texto)}
a.insignia:hover{border-color:var(--azul)}
.insignia img{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#fff}
.insignia .ico{width:52px;height:52px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));color:var(--amarillo);font-size:1.4rem}
.insignia b{font-family:var(--f-display);font-size:.82rem;display:block;line-height:1.25}
.insignia small{display:block;font-size:.72rem;color:var(--gris-medio);line-height:1.35}
.centros-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin-top:16px}
.centros-lista button{text-align:left;border:2px solid var(--gris-borde);background:#fff;border-radius:16px;padding:10px 12px;display:grid;gap:3px;min-width:0;transition:all .2s}
.centros-lista button:hover,.centros-lista button.activo{border-color:var(--azul);background:var(--azul-tinte)}
.centros-lista button b{font-family:var(--f-display);font-size:.84rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.centros-lista button span{font-size:.74rem;color:var(--gris-medio)}
.centros-lista button i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}
.hero .hero-nota{font-size:.95rem;color:var(--gris-medio);border-left:4px solid var(--amarillo);padding:8px 14px;background:rgba(255,255,255,.7);border-radius:0 14px 14px 0;max-width:62ch}
/* Transparencia científica · ORCID */
.transparencia{margin-top:clamp(36px,5vw,56px)}
.orcids{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.orcid{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:#fff;border-radius:20px;padding:14px 16px;box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);text-decoration:none;color:var(--gris-texto);transition:transform .2s,box-shadow .2s;min-width:0}
.orcid:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover);color:var(--gris-texto)}
.orcid .oid{width:40px;height:40px;border-radius:50%;background:#A6CE39;color:#fff;font-family:var(--f-display);font-weight:800;font-size:.9rem;display:grid;place-items:center;flex:none}
.orcid b{font-family:var(--f-display);font-size:.9rem;display:block;line-height:1.25}
.orcid span{font-size:.78rem;color:var(--gris-medio);display:block}
.orcid code{font-size:.76rem;color:var(--azul-oscuro);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.pubs-red{margin-top:16px;background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:clamp(16px,2.4vw,24px)}
.pubs-red h4{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro);margin-bottom:10px}
.pubs-red ul{list-style:none;padding:0;display:grid;gap:10px}
.pubs-red li{font-size:.88rem;color:var(--gris-medio);line-height:1.5;padding-left:14px;border-left:3px solid var(--amarillo)}
.pubs-red li b{color:var(--gris-texto)}
.pubs-red a{word-break:break-all}
/* Enlace pacientes en hero */
.hero .hero-pac{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--f-display);font-weight:700;font-size:.92rem;color:var(--azul-oscuro);text-decoration:none;justify-self:start}
.hero .hero-pac:hover{color:var(--azul)}
.nav ul a.nav-tam{background:var(--amarillo-claro);color:var(--gris-texto)}
.nav .nav-tam-item{display:none}
.nav .acciones .nav-tam-accion{background:var(--amarillo-claro);color:var(--gris-texto)}
@media (max-width:1060px){.nav .nav-tam-item{display:list-item}}
/* Buscador de expertos sobre el mapa */
.buscador-experto{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.buscador-experto .dir-buscar{flex:1 1 320px}
.buscador-experto select{border:2px solid var(--gris-borde);border-radius:999px;padding:.55em .9em;background:#fff;font-size:.9rem;color:var(--gris-texto);flex:0 1 240px;min-width:0}
.resultados-experto{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr));gap:12px;background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:14px}
.resultados-experto .dir-resumen{grid-column:1/-1}
.resultados-experto .dir-vacio{grid-column:1/-1;box-shadow:none;background:var(--gris-suave)}
.mapa-centros .pt.dim{opacity:.28}
.mapa-centros .pt.hit circle.halo{opacity:.75;fill:var(--amarillo)}
.mapa-centros .pt.hit circle.core{stroke:var(--amarillo);stroke-width:4}
/* Tamizaje rápido */
.tamizaje{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:clamp(20px,3vw,34px);margin-bottom:clamp(28px,4vw,44px);position:relative;overflow:hidden}
.tamizaje::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--amarillo)}
.tam-preguntas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:12px}
.tam-q{border:0;margin:0;padding:14px 16px;background:var(--gris-suave);border-radius:18px;display:grid;gap:10px;min-width:0}
.tam-q legend{float:left;width:100%;font-family:var(--f-display);font-weight:700;font-size:.9rem;line-height:1.35;display:flex;gap:10px;align-items:flex-start;padding:0;margin-bottom:6px}
.tam-q legend .n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--azul-ui);color:#fff;font-size:.72rem;display:grid;place-items:center}
.tam-op{display:grid;gap:6px;clear:both}
.tam-op label{display:flex;gap:8px;align-items:flex-start;font-size:.86rem;background:#fff;border-radius:12px;padding:8px 10px;cursor:pointer;border:2px solid transparent}
.tam-op label:has(input:checked){border-color:var(--azul)}
.tam-op input{accent-color:var(--azul);width:18px;height:18px;flex:none;margin-top:.1em}
.tam-nrs{clear:both;display:grid;gap:6px}
.tam-nrs input[type=range]{width:100%;accent-color:var(--azul)}
.tam-nrs .esc{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--gris-medio)}
.tam-nrs output{font-family:var(--f-display);font-weight:800;font-size:1.3rem;color:var(--azul)}
.tam-acciones{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.tam-out{margin-top:18px;display:grid;gap:12px;border-radius:var(--radio);padding:clamp(16px,2.4vw,24px);border:2px solid var(--gris-borde);background:var(--gris-suave)}
.tam-out.rojo{border-color:#E05A5A;background:#FFF3F3}
.tam-out.ambar{border-color:var(--amarillo);background:#FFF8E1}
.tam-out.verde{border-color:#1E9E6A;background:#EDF9F3}
.tam-out .sem{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.tam-out .sem i{width:22px;height:22px;border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px rgba(0,0,0,.05)}
.tam-out.rojo .sem i{background:#E05A5A}.tam-out.ambar .sem i{background:var(--amarillo)}.tam-out.verde .sem i{background:#1E9E6A}
.tam-out .sem b{font-family:var(--f-display);font-size:1.05rem;line-height:1.3;display:block}
.tam-out .sem p{font-size:.92rem;color:var(--gris-medio);margin-top:4px}
.tam-out .bloque{background:#fff;border-radius:16px;padding:12px 14px}
.tam-out .bloque h4{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro);margin-bottom:6px}
.tam-out .bloque ul{padding-left:1.1em;font-size:.9rem;display:grid;gap:4px}
.tam-out .acciones{display:flex;gap:10px;flex-wrap:wrap}
.tam-out .aviso{font-size:.76rem;color:var(--gris-medio)}
/* Directorio de integrantes */
.directorio{display:grid;gap:14px}
.dir-top{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.dir-filtros{display:flex;gap:8px;flex-wrap:wrap}
.dir-filtros button{border:2px solid var(--azul-tinte-2);background:#fff;border-radius:999px;padding:.42em .85em;font-family:var(--f-display);font-weight:700;font-size:.78rem;color:var(--azul-oscuro);transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.dir-filtros button small{font-weight:600;color:var(--gris-medio);font-family:var(--f-body)}
.dir-filtros button:hover,.dir-filtros button[aria-selected="true"]{background:var(--azul-ui);border-color:var(--azul-ui);color:#fff}
.dir-filtros button[aria-selected="true"] small{color:rgba(255,255,255,.85)}
.dir-buscar{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--gris-borde);border-radius:999px;padding:.4em .9em;flex:1 1 260px;max-width:420px;color:var(--gris-medio)}
.dir-buscar:focus-within{border-color:var(--azul)}
.dir-buscar input{border:0;outline:0;background:transparent;width:100%;font-size:.92rem;color:var(--gris-texto)}
.dir-resumen{font-size:.88rem;color:var(--gris-medio)}
.grupo{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:clamp(16px,2.4vw,26px);display:grid;gap:14px;margin-bottom:14px}
.grupo .gcab{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.grupo .gcab .bandera{font-size:1.8rem;line-height:1}
.grupo .gcab h3{font-size:1.25rem}
.grupo .gcab .n{font-family:var(--f-display);font-weight:700;font-size:.78rem;color:var(--azul-oscuro);background:var(--azul-tinte);border-radius:999px;padding:.35em .8em}
.grupo .gcab .legal{margin-left:auto;border:0;background:var(--gris-suave);border-radius:999px;padding:.35em .8em;font-size:.76rem;font-weight:600;color:var(--gris-texto);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.grupo .gcab .legal:hover{background:var(--azul-tinte)}
.grupo .gcab .legal i{width:9px;height:9px;border-radius:50%;display:inline-block}
.miembros{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr));gap:12px}
.miembro{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start;background:var(--gris-suave);border-radius:20px;padding:12px;min-width:0;transition:transform .2s,box-shadow .2s}
.miembro:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.miembro .foto{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 6px 16px rgba(15,79,168,.14)}
.miembro .info{min-width:0;display:grid;gap:3px}
.miembro .nombre{font-family:var(--f-display);font-weight:700;font-size:.92rem;line-height:1.25}
.miembro .esp{font-size:.8rem;color:var(--gris-medio);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.miembro .lugar{font-size:.76rem;color:var(--gris-medio);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.miembro .contacto{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.miembro .contacto a,.miembro .contacto span{font-size:.72rem;font-weight:600;border-radius:999px;padding:.25em .65em;background:#fff;color:var(--azul-oscuro);text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.miembro .contacto span{color:var(--gris-texto);font-weight:500;user-select:all}
.miembro .contacto a:hover{background:var(--azul-tinte)}
.grupo .ver-mas{justify-self:start;border:2px solid var(--azul-tinte-2);background:#fff;border-radius:999px;padding:.55em 1.1em;font-family:var(--f-display);font-weight:700;font-size:.82rem;color:var(--azul-oscuro)}
.grupo .ver-mas:hover{border-color:var(--azul)}
.dir-vacio{background:#fff;border-radius:var(--radio);padding:24px;text-align:center;color:var(--gris-medio);box-shadow:var(--sombra)}
.criterios{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.nivel-card{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:24px;display:grid;gap:12px;min-width:0}
.nivel-card .n{display:flex;align-items:center;gap:10px}
.nivel-card ul{list-style:none;padding:0;display:grid;gap:8px;font-size:.9rem}
.nivel-card li{display:flex;gap:10px;align-items:flex-start}
.nivel-card li span.t{flex:1;min-width:0}
.nivel-card li svg{flex:none;width:18px;height:18px;margin-top:.15em;color:var(--azul)}
.nivel-card.dest{border-color:var(--azul);background:linear-gradient(180deg,#fff,var(--azul-tinte))}
.form-wrap{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:960px){.form-wrap{grid-template-columns:1fr}}
form.adhesion{background:#fff;border-radius:var(--radio-lg);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:clamp(20px,3vw,32px);display:grid;gap:14px}
.form-ayuda{font-size:.8rem;color:var(--gris-medio)}
.requerido{color:#9B2C2C}
.campo{display:grid;gap:6px;min-width:0}
.campo label,.campo legend{font-family:var(--f-display);font-weight:700;font-size:.82rem;color:var(--azul-oscuro)}
.capacidades-grupo{border:0;padding:0;margin:0}
.campo input,.campo select,.campo textarea{width:100%;border:2px solid var(--gris-borde);border-radius:14px;padding:.75em .9em;background:#fff;font-size:.95rem;transition:border-color .2s}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul);outline:none}
.campo textarea{min-height:90px;resize:vertical}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.dos{grid-template-columns:1fr}}
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px}
.caps label{display:flex;gap:8px;align-items:center;font-size:.86rem;background:var(--gris-suave);border-radius:12px;padding:8px 10px;font-weight:500;color:var(--gris-texto);font-family:var(--f-body)}
.caps input{width:18px;height:18px;accent-color:var(--azul);flex:none}
.form-ok{background:var(--azul-tinte);border-radius:18px;padding:16px;display:grid;gap:8px}
.form-ok pre{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;background:#fff;border-radius:12px;padding:12px;margin:0;max-height:220px;overflow:auto}
.form-err{color:#9B2C2C;font-size:.85rem}

/* ---------- Testimonios / voces ---------- */
.voces{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;margin-top:clamp(28px,4vw,44px)}
.voz{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:22px;display:grid;gap:14px;min-width:0}
.voz blockquote{margin:0;font-size:.95rem;color:var(--gris-texto);line-height:1.55;position:relative;padding-left:14px;border-left:3px solid var(--amarillo)}
.voz .autor{display:flex;gap:12px;align-items:center}
.voz .retrato{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:.95rem;flex:none;box-shadow:0 8px 18px rgba(30,123,232,.25)}
.voz .autor b{display:block;font-family:var(--f-display);font-size:.9rem}
.voz .autor span{font-size:.78rem;color:var(--gris-medio)}

/* ---------- Formación ---------- */
.programas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.prog{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);border:1px solid rgba(225,231,240,.7);padding:24px;display:grid;gap:10px;min-width:0;position:relative;overflow:hidden}
.prog .tipo{font-family:var(--f-display);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul-oscuro)}
.prog h3{font-size:1.1rem}
.prog p{font-size:.9rem;color:var(--gris-medio)}
.prog .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.prog .meta span{font-size:.76rem;background:var(--gris-suave);border-radius:999px;padding:.3em .8em;color:var(--gris-medio);font-weight:600}
.prog::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--amarillo)}
.publicaciones{margin-top:clamp(28px,4vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}
.pub{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:var(--gris-suave);border-radius:18px;padding:14px 16px;min-width:0}
.pub .ico{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--azul)}
.pub b{font-family:var(--f-display);font-size:.9rem;display:block}
.pub span{font-size:.8rem;color:var(--gris-medio)}

/* ---------- Pacientes ---------- */
.pac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.derechos li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:.92rem;padding:10px 0;border-bottom:1px solid var(--gris-borde)}
.derechos li:last-child{border-bottom:0}
.derechos li .flag{font-size:1.1rem;line-height:1.3}
.derechos li small{display:block;color:var(--gris-medio);font-size:.8rem}
.checklist{list-style:none;padding:0;display:grid;gap:8px}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;background:var(--gris-suave);border-radius:14px;padding:10px 12px}
.checklist li input{width:20px;height:20px;accent-color:var(--azul);flex:none;margin-top:.1em}
.checklist li label{cursor:pointer}
.check-out{margin-top:10px;font-size:.85rem;color:var(--gris-medio);font-family:var(--f-display);font-weight:700}
.encontrar{display:grid;gap:10px}
.encontrar .paso-p{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.encontrar .paso-p i{width:30px;height:30px;border-radius:50%;background:var(--amarillo);display:grid;place-items:center;font-style:normal;font-family:var(--f-display);font-weight:800;font-size:.85rem;flex:none}
.encontrar p{font-size:.92rem}
.encontrar small{color:var(--gris-medio);display:block;font-size:.8rem}

/* ---------- Footer ---------- */
footer{background:var(--gris-suave);border-top:1px solid var(--gris-borde);padding-block:clamp(40px,6vw,72px) 32px}
footer .top{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:clamp(20px,3vw,40px)}
@media (max-width:960px){footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:600px){footer .top{grid-template-columns:1fr}}
footer .marca img{height:56px;width:auto}
footer .marca p{font-size:.9rem;color:var(--gris-medio);margin-top:12px;max-width:40ch}
footer h3{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--azul-oscuro);margin-bottom:12px}
footer ul{list-style:none;padding:0;display:grid;gap:8px;font-size:.9rem}
footer ul a{color:var(--gris-texto);text-decoration:none}
footer ul a:hover{color:var(--azul)}
footer .aviso{margin-top:clamp(28px,4vw,44px);display:grid;gap:12px;font-size:.8rem;color:var(--gris-medio);border-top:1px solid var(--gris-borde);padding-top:22px}
footer .aviso b{color:var(--gris-texto)}
footer .legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.78rem;color:var(--gris-medio);margin-top:14px}
.copia{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--azul-tinte-2);background:#fff;border-radius:999px;padding:.35em .8em;font-size:.8rem;font-family:var(--f-display);font-weight:700;color:var(--azul-oscuro)}
.copia:hover{border-color:var(--azul)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--gris-texto);color:#fff;border-radius:999px;padding:.7em 1.2em;font-size:.88rem;font-weight:600;opacity:0;pointer-events:none;transition:all .3s;z-index:200;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.marca-agua{position:absolute;right:-6%;bottom:-8%;width:min(46%,420px);opacity:.05;pointer-events:none;user-select:none}
.rel{position:relative;overflow:hidden}
.nota-fuente{font-size:.78rem;color:var(--gris-medio);margin-top:10px}
.nota-fuente a{color:var(--azul-oscuro)}
