:root{
  --azul:#0F58BA; --azul-oscuro:#0A3E86; --azul-tinte:#E8F0FB;
  --naranja:#F54517; --naranja-tinte:#FFEDE6;
  --papel:#F8FAFD; --tinta:#0E1A2B; --tinta-suave:#41506A; --linea:#D5DEEC;
  --display:'Bricolage Grotesque','Figtree',system-ui,sans-serif;
  --cuerpo:'Figtree',system-ui,sans-serif;
  --ease:cubic-bezier(.25,1,.5,1);
  --gutter:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--papel);color:var(--tinta);font:400 1.0625rem/1.6 var(--cuerpo);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:4px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:8px;z-index:20}
.saltar:focus{left:8px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.04;font-weight:800}
.contenedor{padding-inline:var(--gutter);max-width:1360px;margin-inline:auto}

/* barra superior */
header.barra{position:sticky;top:0;z-index:10;background:var(--papel);border-bottom:1px solid var(--linea)}
.barra .contenedor{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}
.barra img{height:52px;width:auto}
.barra nav{display:flex;gap:28px;font-weight:600;font-size:.95rem}
.barra nav a{text-decoration:none;color:var(--tinta-suave);padding:6px 0;transition:color .2s}
.barra nav a:hover{color:var(--azul)}
.boton{display:inline-flex;align-items:center;gap:10px;background:var(--naranja);color:#fff;font:700 1.1875rem/1 var(--cuerpo);padding:16px 28px;border-radius:999px;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.boton:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(245,69,23,.6)}
.boton.chico{font-size:1rem;padding:11px 20px}
.boton.contorno{background:transparent;color:var(--azul);box-shadow:inset 0 0 0 2px var(--azul)}
.boton.contorno:hover{box-shadow:inset 0 0 0 2px var(--azul),0 10px 24px -12px rgba(15,88,186,.5)}
.menu-movil{display:none}

/* hero */
.hero{display:grid;grid-template-columns:5fr 7fr;align-items:stretch;gap:0;min-height:min(86vh,780px)}
.hero-texto{padding:clamp(40px,7vw,96px) var(--gutter) clamp(40px,6vw,80px);display:flex;flex-direction:column;justify-content:center;gap:28px;max-width:640px;margin-left:auto}
.etiqueta{font-weight:700;font-size:.9rem;color:var(--azul)}
.hero h1{font-size:clamp(2.5rem,5vw,4.25rem);text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--azul)}
.hero p.entrada{font-size:1.25rem;color:var(--tinta-suave);max-width:46ch}
.hero .acciones{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-foto{position:relative;min-height:420px}
.hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%;border-top-left-radius:clamp(48px,9vw,140px)}
.insignia{position:absolute;left:clamp(-28px,-2vw,-12px);bottom:clamp(28px,6vw,64px);background:var(--naranja);color:#fff;font:700 1.1875rem/1.25 var(--cuerpo);padding:16px 22px;border-radius:16px;max-width:260px;box-shadow:0 18px 36px -18px rgba(14,26,43,.5)}

/* banda azul */
.banda{background:var(--azul);color:#fff;padding:22px 0}
.banda ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px 44px;justify-content:space-between;font-weight:600;font-size:1.0625rem}
.banda li{display:flex;gap:10px;align-items:baseline}
.banda li::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;opacity:.55;flex:none;transform:translateY(-1px)}

/* secciones */
section{padding-block:clamp(56px,7vw,104px)}
.kicker{font-weight:700;color:var(--azul);margin-bottom:14px;font-size:1rem}
h2{font-size:clamp(2rem,4vw,3.4rem);text-wrap:balance}

/* quienes somos */
.quienes{display:grid;grid-template-columns:7fr 4fr;gap:clamp(32px,6vw,96px);align-items:start}
.quienes .texto p{max-width:62ch;color:var(--tinta-suave)}
.quienes .texto p+p{margin-top:18px}
.mv{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--linea)}
.mv div{padding:28px 28px 0 0}
.mv div+div{padding-left:28px;border-left:1px solid var(--linea)}
.mv h3{font-size:1.5rem;color:var(--azul);margin-bottom:10px}
.mv p{font-size:1rem;color:var(--tinta-suave)}
.quienes figure{position:relative;margin-top:12px}
.quienes figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;border-bottom-right-radius:120px}
.quienes figcaption{font-size:.9rem;color:var(--tinta-suave);margin-top:12px}

/* por que unirte */
.unirte{background:#fff}
.unirte .encabezado{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.filas{list-style:none;padding:0;border-top:1px solid var(--linea)}
.filas li{display:grid;grid-template-columns:90px 1.1fr 1.6fr 230px;gap:20px 40px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--linea);transition:background .25s}
.filas li:hover{background:var(--azul-tinte)}
.filas .n{font:800 1.6rem var(--display);color:var(--naranja)}
.filas h3{font-size:1.6rem}
.filas p{color:var(--tinta-suave);max-width:54ch}
.dato{justify-self:end;text-align:center;font-weight:700;font-size:.95rem;color:var(--azul-oscuro);background:var(--azul-tinte);padding:8px 14px;border-radius:999px;white-space:nowrap}
.filas li:hover .dato{background:#fff}

/* vida del club */
.vida{display:grid;grid-template-columns:4fr 7fr;gap:clamp(32px,6vw,96px);align-items:center}
.vida figure img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:28px;border-top-left-radius:120px;object-position:50% 40%}
.vida figcaption{font-size:.9rem;color:var(--tinta-suave);margin-top:12px}
.hitos{list-style:none;padding:0;margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.hitos li{padding:20px 0;border-top:1px solid var(--linea)}
.hitos time{display:block;font-weight:700;font-size:.9rem;color:var(--azul)}
.hitos span{font:600 1.1875rem/1.3 var(--display)}

/* areas */
.areas h2{margin-bottom:56px}
.paneles{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.panel{border-radius:32px;padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;gap:22px}
.panel.cm{background:var(--azul-tinte);color:var(--azul-oscuro)}
.panel.er{background:var(--naranja-tinte);color:#7A2208;margin-top:48px}
.panel h3{font-size:clamp(1.8rem,3vw,2.6rem)}
.panel p.desc{color:var(--tinta);max-width:44ch}
.panel h4{font:700 .9rem var(--cuerpo);margin-bottom:8px;letter-spacing:.01em}
.panel ul{padding-left:1.1em;color:var(--tinta);display:grid;gap:6px;font-size:1rem}
.panel li::marker{color:currentColor}

/* cierre */
.cierre{background:var(--azul);color:#fff;border-radius:48px 48px 0 0}
.cierre .rejilla{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:end}
.cierre h2{max-width:none}
.cierre p{max-width:48ch;margin-top:20px;color:#DCE8FA}
.cierre .lado{display:grid;gap:14px}
.canal{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.28);text-decoration:none;font-weight:600;transition:padding .25s var(--ease)}
.canal:hover{padding-left:10px}
.canal small{font-weight:400;color:#DCE8FA}
footer{background:var(--azul);color:#DCE8FA;font-size:.9rem;padding:0 0 32px}
footer .contenedor{border-top:1px solid rgba(255,255,255,.2);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* movimiento */
@keyframes sube{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-texto>*{animation:sube .7s var(--ease) both}
.hero-texto>*:nth-child(2){animation-delay:.08s}.hero-texto>*:nth-child(3){animation-delay:.16s}.hero-texto>*:nth-child(4){animation-delay:.24s}
.hero-foto img{animation:sube .9s var(--ease) .1s both}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* responsive */
@media (max-width:980px){
  .barra nav{display:none}
  .menu-movil{display:block;position:relative}
  .menu-movil summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 4px;color:var(--azul)}
  .menu-movil summary::-webkit-details-marker{display:none}
  .menu-movil nav{display:grid;position:absolute;right:0;top:46px;background:#fff;border:1px solid var(--linea);border-radius:16px;padding:12px 20px;gap:2px;min-width:200px;box-shadow:0 20px 40px -24px rgba(14,26,43,.4)}
  .menu-movil a{padding:10px 0;text-decoration:none;font-weight:600}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-texto{max-width:none;margin:0;padding-bottom:36px}
  .hero-foto{min-height:340px;height:56vw}
  .insignia{left:var(--gutter);bottom:20px}
  .quienes,.vida,.cierre .rejilla{grid-template-columns:1fr}
  .quienes figure{max-width:420px}
  .vida figure{max-width:420px}
  .filas li{grid-template-columns:56px 1fr;gap:6px 16px}
  .filas p,.filas .dato{grid-column:2}
  .filas .dato{justify-self:start;margin-top:8px}
  .paneles{grid-template-columns:1fr}
  .panel.er{margin-top:0}
  .mv{grid-template-columns:1fr}
  .mv div+div{padding-left:0;border-left:0;border-top:1px solid var(--linea);margin-top:24px}
  .hitos{grid-template-columns:1fr}
}

/* ====== etapa 1: secciones completas ====== */
.lang-switch{display:flex;border:1.5px solid var(--linea);border-radius:999px;overflow:hidden}
.lang-switch button{font:700 .85rem var(--cuerpo);padding:8px 12px;background:transparent;border:0;color:var(--tinta-suave);cursor:pointer}
.lang-switch button.active{background:var(--azul);color:#fff}
.barra nav{gap:22px}
.mosaico{columns:3;column-gap:20px;margin-top:48px}
.mosaico figure{break-inside:avoid;margin:0 0 20px}
.mosaico img,.tira img{width:100%;height:auto;border-radius:18px;cursor:zoom-in;transition:transform .35s var(--ease)}
.mosaico a:hover img,.tira a:hover img{transform:scale(1.015)}
.mosaico figcaption,.tira figcaption{margin-top:10px;font-size:.95rem}
.mosaico time,.tira time{display:block;font-weight:700;font-size:.85rem;color:var(--azul)}
.mosaico figure:nth-child(3n+2) img{border-top-right-radius:72px}
.mosaico figure:nth-child(3n) img{border-bottom-left-radius:72px}
.tira{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:14px;margin-top:36px;scrollbar-width:thin}
.tira figure{margin:0;flex:none;scroll-snap-align:start}
.tira img{height:300px;width:auto;max-width:none}
.tira video{height:300px;width:auto;border-radius:18px;background:#000;flex:none}
.bloque-vida{margin-top:72px}
.bloque-vida h3{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:6px}
.bloque-vida p.sub{color:var(--tinta-suave);max-width:60ch}
.panel .foto-panel{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;cursor:zoom-in}
/* visitas: bloque azul pleno */
.visitas{background:var(--azul);color:#fff}
.visitas .kicker{color:#CFE0FA}
.visitas h2{color:#fff}
.visitas .intro{max-width:56ch;color:#DCE8FA;margin-top:18px}
.viaje{margin-top:64px;padding-top:28px;border-top:1px solid rgba(255,255,255,.3)}
.viaje-cab{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline;justify-content:space-between}
.viaje h3{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.viaje .sem{font-weight:700;font-size:.95rem;background:#fff;color:var(--azul);padding:6px 14px;border-radius:999px}
.empresas{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.empresas li{border:1.5px solid rgba(255,255,255,.55);padding:6px 14px;border-radius:999px;font-weight:600;font-size:.95rem}
.visitas .tira{margin-top:24px;scrollbar-color:rgba(255,255,255,.65) transparent}
.visitas .tira img{border-radius:16px}
/* eventos */
.evento{display:grid;grid-template-columns:5fr 6fr;gap:clamp(28px,5vw,80px);align-items:start;margin-top:56px}
.evento.inv{grid-template-columns:6fr 5fr}
.evento.inv .evento-img{order:2}
.evento-img img{width:100%;border-radius:28px;cursor:zoom-in}
.evento-img.cover img{border-top-left-radius:110px}
.evento-img.flyer img{border-bottom-right-radius:110px}
.evento .tipo{font-weight:700;color:var(--naranja);margin-bottom:6px;font-size:1rem}
.evento h3{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:16px}
.evento p{color:var(--tinta-suave);max-width:58ch}
.datos-ev{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.datos-ev span{background:var(--azul-tinte);color:var(--azul-oscuro);font-weight:700;padding:9px 16px;border-radius:999px;font-size:.98rem}
.evento .tira{margin-top:20px}
.evento .tira img,.evento .tira video{height:230px}
/* podcast */
.podcast{background:#fff}
.episodios{list-style:none;padding:0;margin-top:40px;border-top:1px solid var(--linea)}
.episodios li{display:grid;grid-template-columns:132px 1fr auto;gap:12px 28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--linea)}
.episodios img{width:132px;height:132px;object-fit:cover;border-radius:18px}
.episodios time{font-weight:700;font-size:.9rem;color:var(--azul)}
.episodios h3{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.2;margin:4px 0 6px}
.episodios p{font-size:.95rem;color:var(--tinta-suave)}
/* equipo */
.junta{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;margin-top:44px}
.persona img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;border-radius:22px;cursor:zoom-in}
.persona:nth-child(3n+1) img{border-top-left-radius:80px}
.persona:nth-child(3n) img{border-bottom-right-radius:80px}
.persona b{display:block;margin-top:12px;font:800 1.25rem var(--display)}
.persona small{display:block;color:var(--azul);font-weight:700;font-size:.9rem}
.anteriores{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,64px);align-items:center;margin-top:80px}
.anteriores img{width:100%;border-radius:24px;cursor:zoom-in}
/* formulario */
.cierre .form{margin-top:28px}
.form{background:#fff;color:var(--tinta);border-radius:28px;padding:clamp(22px,3vw,36px);display:grid;gap:14px;margin-top:8px}
.form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.form input{font:400 1.05rem var(--cuerpo);padding:13px 14px;border:1.5px solid var(--linea);border-radius:12px;background:var(--papel)}
.form input:focus{border-color:var(--azul);outline:3px solid #BBD2F5;outline-offset:0}
.form button{justify-self:start;border:0;cursor:pointer}
.form .aviso{font-size:.9rem;color:var(--tinta-suave);min-height:1.2em}
.evento>*,.quienes>*,.vida>*,.cierre .rejilla>*,.anteriores>*{min-width:0}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(10,20,36,.92);display:none;align-items:center;justify-content:center;z-index:50;padding:24px}
.lb.on{display:flex}
.lb img{max-width:min(92vw,1400px);max-height:86vh;border-radius:12px}
.lb button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;width:48px;height:48px;font-size:1.6rem;cursor:pointer}
.lb .x{top:20px;right:20px}.lb .p{left:20px;top:50%}.lb .n{right:20px;top:50%}
.lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#DCE8FA;font-size:.95rem}
@media (max-width:980px){
  .mosaico{columns:2}
  .evento,.evento.inv,.anteriores{grid-template-columns:1fr}
  .evento.inv .evento-img{order:0}
  .junta{grid-template-columns:repeat(2,1fr)}
  .episodios li{grid-template-columns:96px 1fr}
  .episodios li a.boton{grid-column:2;justify-self:start}
  .episodios img{width:96px;height:96px}
  .tira img,.tira video{height:220px}
}
@media (max-width:560px){.mosaico{columns:1}.lang-switch button{padding:7px 9px}}

/* ====== etapa 2: todas las páginas ====== */
.barra nav a[aria-current="page"]{color:var(--azul);box-shadow:inset 0 -2px 0 var(--naranja)}
.menu-sub{position:relative}
.menu-sub>a::after{content:" ▾";font-size:.7em}
.menu-sub .sub{display:none;position:absolute;top:100%;left:-14px;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:8px;min-width:210px;flex-direction:column;box-shadow:0 20px 40px -24px rgba(14,26,43,.4);z-index:12}
.menu-sub:hover .sub,.menu-sub:focus-within .sub{display:flex}
.menu-sub .sub a{padding:10px 14px;border-radius:10px;white-space:nowrap}
.menu-sub .sub a:hover{background:var(--azul-tinte)}
.hero.interior{min-height:min(60vh,520px)}
.hero.interior h1{font-size:clamp(2.1rem,4.2vw,3.5rem)}
.hero-foto.contain{background:var(--azul);display:grid;place-items:center;border-top-left-radius:clamp(48px,9vw,140px)}
.hero-foto.contain img{position:static;width:min(72%,430px);height:auto;border-radius:24px}
.hero-foto.alto img{object-position:50% 18%}
.mas{margin-top:40px}
.explora{display:grid;grid-template-columns:7fr 5fr;grid-template-areas:"a b" "a c" "d e";gap:20px;margin-top:48px}
.explora a{position:relative;display:block;border-radius:28px;overflow:hidden;min-height:230px;text-decoration:none;color:#fff}
.explora a:nth-child(1){grid-area:a;min-height:480px;border-top-left-radius:96px}
.explora a:nth-child(2){grid-area:b}.explora a:nth-child(3){grid-area:c;border-bottom-right-radius:72px}
.explora a:nth-child(4){grid-area:d;min-height:260px}.explora a:nth-child(5){grid-area:e;min-height:260px}
.explora img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.explora a:hover img{transform:scale(1.03)}
.explora span{position:absolute;left:18px;bottom:18px;background:var(--azul);color:#fff;font:800 1.35rem/1.1 var(--display);padding:12px 18px;border-radius:14px}
.explora span small{display:block;font:500 .85rem var(--cuerpo);margin-top:4px;color:#DCE8FA}
/* hitos */
.premios{margin-top:40px}
.premio-anio{display:grid;grid-template-columns:220px 1fr;gap:20px 48px;padding:30px 0;border-top:1px solid var(--linea)}
.premio-anio:first-child{border-top:1px solid var(--linea)}
.premio-anio>b{font:800 clamp(1.6rem,3vw,2.4rem) var(--display);color:var(--naranja)}
.premio-anio ul{list-style:none;padding:0;display:grid;gap:22px}
.premio-anio h3{font-size:1.35rem;margin-bottom:4px}
.premio-anio p{color:var(--tinta-suave);max-width:62ch}
.premio-anio small{font-weight:700;color:var(--azul)}
.hito{display:grid;grid-template-columns:200px 1fr;gap:20px 48px;padding:48px 0;border-top:1px solid var(--linea)}
.hito>time{font:800 clamp(1.6rem,3vw,2.4rem) var(--display);color:var(--azul);line-height:1}
.hito h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:12px}
.hito p{color:var(--tinta-suave);max-width:66ch}
.hito .enlace{display:inline-block;margin-top:8px;padding:6px 0;font-weight:700;color:var(--azul)}
.hito .sello{height:56px;width:auto;margin-bottom:16px}
/* reportes */
.rep-dest{display:grid;grid-template-columns:5fr 6fr;gap:clamp(24px,5vw,72px);align-items:center;text-decoration:none;color:inherit;margin-top:36px}
.rep-dest .miniatura{aspect-ratio:3/4;max-height:520px;border-radius:24px;overflow:hidden;background:var(--azul-tinte)}
.rep-dest img,.rep img{width:100%;height:100%;object-fit:cover;display:block}
.rep-dest h3{font-size:clamp(1.6rem,3vw,2.5rem);margin:10px 0}
.etq{font-weight:700;font-size:.85rem;background:var(--naranja);color:#fff;padding:5px 12px;border-radius:999px;display:inline-block}
.rep-sem{margin-top:56px}
.rep-sem h3{font-size:1.5rem;padding-bottom:12px;border-bottom:1px solid var(--linea);margin-bottom:24px;display:flex;justify-content:space-between;align-items:baseline}
.rep-sem h3 small{font:600 .95rem var(--cuerpo);color:var(--tinta-suave)}
.rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:26px 22px}
.rep{display:block;text-decoration:none;color:inherit}
.rep .miniatura{aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:var(--azul-tinte);transition:transform .3s var(--ease)}
.rep:hover .miniatura{transform:translateY(-4px)}
.rep time{display:block;font-weight:700;font-size:.82rem;color:var(--azul);margin-top:10px}
.rep b{display:block;font:700 1.02rem/1.25 var(--cuerpo);margin:2px 0}
.rep small{color:var(--tinta-suave);font-size:.85rem}
.logros{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);margin-top:36px}
.logros h4{font:700 .95rem var(--cuerpo);margin-bottom:10px;color:var(--azul)}
.logros ul{padding-left:1.1em;display:grid;gap:8px;color:var(--tinta-suave)}
.cifra{font-size:1.15rem;margin-bottom:12px}
.cifra b{font:800 2.2rem var(--display);color:var(--naranja);margin-right:8px}
.sec-blanca{background:#fff}
@media (max-width:1180px){
  .barra nav{display:none}
  .menu-movil{display:block;position:relative}
  .menu-movil summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 4px;color:var(--azul)}
  .menu-movil summary::-webkit-details-marker{display:none}
  .menu-movil nav{display:grid;position:absolute;right:0;top:46px;background:#fff;border:1px solid var(--linea);border-radius:16px;padding:12px 20px;gap:2px;min-width:220px;box-shadow:0 20px 40px -24px rgba(14,26,43,.4)}
  .menu-movil a{padding:10px 0;text-decoration:none;font-weight:600}
}
@media (max-width:980px){
  .explora{grid-template-columns:1fr;grid-template-areas:"a" "b" "c" "d" "e"}
  .explora a:nth-child(1){min-height:340px}
  .premio-anio,.hito,.rep-dest,.logros{grid-template-columns:1fr}
  .rep-dest .miniatura{max-height:380px}
}

/* correcciones de revisión */
.hito>*,.premio-anio>*,.rep-dest>*,.logros>*{min-width:0}
@media (max-width:560px){
  .rep-grid{grid-template-columns:repeat(2,1fr);gap:20px 14px}
  .rep b{font-size:.92rem}
}
.menu-sub{display:flex;align-items:center}
.rep .miniatura,.rep-dest .miniatura{aspect-ratio:551/713}

/* ====== fidelidad con la web real ====== */
.marcas{display:flex;align-items:center;gap:14px}
.marcas img{flex:none;max-width:none;object-fit:contain}
.barra .m-fic{height:46px;width:auto}.barra .m-ifsa{height:34px;width:auto}
.divisor{width:1px;height:34px;background:var(--linea)}
.progreso{position:fixed;top:0;left:0;height:3px;width:0;background:var(--naranja);z-index:40}
section[id],#unete{scroll-margin-top:96px}
.hero-foto .slide{animation:none;opacity:0;transition:opacity 1.1s ease}
.hero-foto .slide.on{opacity:1}
a.insignia{text-decoration:none;transition:transform .25s var(--ease)}
a.insignia:hover{transform:translateY(-3px)}
.pie{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.pie-marca{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.02em}
.pie-marca img{height:32px;width:auto;background:#fff;border-radius:8px;padding:3px}
.pie-redes{display:flex;gap:12px}
.pie-redes a{color:#fff;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);transition:background .2s}
.pie-redes a:hover{background:rgba(255,255,255,.18)}
.pie-redes svg{width:18px;height:18px}
footer a{color:inherit}
footer .pie-nota{border-top:0;padding-top:6px;font-size:.8rem;opacity:.75;display:block}
.cierre .rejilla{align-items:start}
.panel-unete{background:#fff;color:var(--tinta);border-radius:28px;padding:clamp(22px,3vw,36px)}
.panel-unete h3{font-size:1.5rem;line-height:1.15}
.cierre .panel-unete p.nota{color:var(--tinta-suave);margin-top:8px;max-width:none}
.panel-unete .form{padding:0;border-radius:0;margin-top:18px;background:transparent}
.panel-unete label{font-weight:600;font-size:.95rem;margin-top:2px}
.panel-unete .aviso{margin-top:12px;font-weight:600;color:var(--azul-oscuro)}
.canal .cta{font-weight:600;white-space:nowrap}
.visitas .tira figcaption{color:#fff;font-weight:600;font-size:.9rem;margin-top:8px}
.episodios li{grid-template-columns:52px 132px 1fr auto}
.ep-n{font:800 1.9rem var(--display);color:var(--naranja);line-height:1}
.dirigen{margin-top:6px}.dirigen b{color:var(--azul)}
.nivel{font:700 .95rem var(--cuerpo);color:var(--azul);margin:44px 0 -22px}
.persona a{color:inherit;text-decoration:none}
.persona b a:hover{color:var(--azul);text-decoration:underline}
.persona img{cursor:pointer}
.credito{font-weight:600;font-size:.9rem;color:var(--tinta-suave);margin-top:6px}
@media (max-width:980px){.episodios li{grid-template-columns:40px 84px 1fr}.episodios li a.boton{grid-column:3;justify-self:start}.episodios img{width:84px;height:84px}}
@media (max-width:560px){.barra .m-fic{height:34px}.barra .m-ifsa{height:25px}.divisor{height:26px}.marcas{gap:10px}.barra .contenedor{gap:10px}}
@media (max-width:560px){.barra .boton.chico{display:none}.menu-movil a[href="#unete"]{color:var(--naranja);font-weight:700}}
.dato{white-space:normal;text-align:center;line-height:1.3}
[hidden]{display:none!important}

/* ====== v3: cierre corto, ventana de formulario, retratos nítidos ====== */
.cierre-corto{background:var(--azul);color:#fff;padding:36px 0}
.cc-fila{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.cc-texto .kicker{color:#CFE0FA;margin-bottom:2px;font-size:.9rem}
.cc-t{font:800 1.6rem/1.1 var(--display)}
.cc-links{display:flex;gap:10px 26px;flex-wrap:wrap}
.canal-mini{display:flex;flex-direction:column;text-decoration:none;color:#fff;font-weight:700;line-height:1.25}
.canal-mini small{font-weight:400;color:#DCE8FA}
.canal-mini .cta{display:none}
.canal-mini:hover{text-decoration:underline}
.dlg{position:fixed;inset:0;background:rgba(10,20,36,.62);display:none;align-items:center;justify-content:center;padding:20px;z-index:60}
.dlg.on{display:flex}
.dlg-caja{position:relative;width:min(480px,100%);max-height:92vh;overflow:auto;border-radius:28px}
.dlg-caja .panel-unete{border-radius:28px}
.dlg-x{position:absolute;top:12px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--azul-tinte);color:var(--azul-oscuro);font-size:1.5rem;cursor:pointer;z-index:2}
.junta{grid-template-columns:repeat(auto-fill,minmax(190px,230px));justify-content:start}
.hero-foto.grupo img{object-position:50% 32%}
@media (max-width:760px){.cc-fila{flex-direction:column;align-items:flex-start}}
.dlg .panel-unete h3{padding-right:48px}

/* ====== v4: Quiénes somos sin huecos ====== */
.quienes{align-items:center}
.quienes figure{margin-top:0}
.mv{margin-top:56px;column-gap:0}
.mv div{padding:32px 48px 0 0}
.mv div+div{padding-left:48px}
.mv p{max-width:none;font-size:1.05rem}

/* ====== v5: sin desniveles ni vacíos laterales ====== */
/* paneles de áreas al mismo nivel */
.panel.er{margin-top:0}
.paneles{align-items:stretch}
.panel .boton{margin-top:auto;align-self:flex-start}
.panel>p:last-child{margin-top:auto}
/* mosaico de la portada: cuadrícula pareja */
.mosaico{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.mosaico figure{margin:0;break-inside:auto}
.mosaico img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;border-radius:18px}
.mosaico figure:nth-child(4n+1) img{border-top-left-radius:56px}
.mosaico figure:nth-child(4n) img{border-bottom-right-radius:56px}
.mosaico figure:nth-child(3n+2) img,.mosaico figure:nth-child(3n) img{border-radius:18px}
.mosaico figure:nth-child(4n+1) img{border-top-left-radius:56px}
.mosaico figure:nth-child(4n) img{border-bottom-right-radius:56px}
/* cabeceras interiores: el texto alineado con el contenedor */
.hero-texto{padding-left:calc(max(0px,(100vw - 1360px)/2) + var(--gutter))}
/* quiénes somos: foto más grande */
.quienes{grid-template-columns:6fr 5fr}
/* por qué unirte: título a la izquierda, lista a la derecha */
.unirte .contenedor{display:grid;grid-template-columns:4fr 8fr;gap:40px clamp(32px,5vw,80px);align-items:start}
.unirte .encabezado{margin:0;position:sticky;top:110px}
.unirte .encabezado h2{max-width:none}
.filas li{grid-template-columns:56px 1fr;gap:6px 24px;padding:26px 0;align-items:start}
.filas h3,.filas p,.filas .dato{grid-column:2}
.filas p{max-width:60ch}
.filas .dato{justify-self:start;margin-top:10px}
.filas .n{grid-row:1/span 3}
/* tiras de fotos: filas completas, todas a la misma altura */
.visitas .tira,.hito .tira,.evento .tira{flex-wrap:wrap;overflow:visible}
.visitas .tira figure,.hito .tira figure,.evento .tira figure{flex:1 1 230px;min-width:0}
.visitas .tira img,.hito .tira img,.evento .tira img{width:100%;height:230px;object-fit:cover}
.visitas .tira figure:has(video),.evento .tira figure:has(video){flex:0 0 auto}
.visitas .tira video,.evento .tira video{height:230px;width:auto;max-width:100%}
.hito .tira img{height:210px}
/* eventos: la imagen ocupa la altura del texto; el video de Aces más grande */
.evento{align-items:stretch}
.evento-img{align-self:stretch}
.evento-img a{display:block;height:100%}
.evento-img img{height:100%;object-fit:cover}
.evento.inv .tira video{height:340px}
/* equipo */
.junta{grid-template-columns:repeat(5,minmax(0,1fr));justify-content:stretch}
.persona img{max-width:240px}
.anteriores{grid-template-columns:1fr minmax(0,460px)}
@media (max-width:980px){
  .mosaico{grid-template-columns:repeat(2,minmax(0,1fr))}
  .unirte .contenedor{grid-template-columns:1fr}.unirte .encabezado{position:static}
  .junta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quienes{grid-template-columns:1fr}
  .evento-img img{height:auto}
  .anteriores{grid-template-columns:1fr}
}
@media (max-width:560px){.mosaico{grid-template-columns:1fr}.junta{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-texto{padding-left:var(--gutter)}}

/* ====== v6: tamaños uniformes ====== */
.visitas .tira,.hito .tira,.evento .tira{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;overflow:visible}
.visitas .tira figure,.hito .tira figure,.evento .tira figure,.visitas .tira figure:has(video),.evento .tira figure:has(video){flex:none;min-width:0;width:auto}
.visitas .tira img,.hito .tira img,.evento .tira img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.visitas .tira video,.hito .tira video,.evento .tira video{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#000;border-radius:16px}
/* eventos: imagen con su proporción; fotos y videos de Boronday en una fila completa; video de Aces vertical */
.evento{align-items:start}
.evento-img{align-self:start}
.evento-img a{height:auto}
.evento-img img{height:auto;object-fit:initial}
.evento.inv .tira{grid-template-columns:minmax(0,260px)}
.evento.inv .tira video{aspect-ratio:9/16;height:auto;width:100%}
@media (min-width:981px){
  .evento:not(.inv){row-gap:0}
  .evento:not(.inv)>div:not(.evento-img){display:contents}
  .evento:not(.inv) .evento-img{grid-column:1;grid-row:1/span 4}
  .evento:not(.inv) .tipo,.evento:not(.inv) h3,.evento:not(.inv) p,.evento:not(.inv) .datos-ev{grid-column:2}
  .evento:not(.inv) .tira{grid-column:1/-1;margin-top:28px;grid-template-columns:repeat(4,minmax(0,1fr))}
  /* equipo: retratos centrados por nivel */
  .junta{grid-template-columns:repeat(5,minmax(0,224px));justify-content:center}
  .nivel{text-align:center}
}

/* ====== v7: equipo centrado ====== */
.equipo-sec>.kicker,.equipo-sec>h2{text-align:center;margin-inline:auto;max-width:none}
@media (min-width:981px){
  .junta{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 24px}
  .persona{flex:0 1 224px;min-width:0}
}

/* ====== v8: alineación exacta y respiro bajo la cabecera ====== */
body{container-type:inline-size}
.hero-texto{padding-left:calc(max(0px,(100cqw - 1360px)/2) + var(--gutter))}
.hero.interior ~ section:not(.cierre-corto),.hero.interior ~ .visitas{padding-top:clamp(48px,6vw,88px)!important}
@media (max-width:560px){.hero-texto{padding-left:var(--gutter)}}

.hero-foto.bandera img{object-position:50% 22%}

/* ====== v9: bordes de imagen invisibles ====== */
.hero-foto.contain img{border-radius:0;width:min(86%,540px)}
.episodios img{background:#0F58BA}

/* ====== v10: hitos con texto a la izquierda y fotos a la derecha ====== */
@media (min-width:981px){
  .hito>div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,4vw,64px);align-items:start}
  .hito>div>*{grid-column:1}
  .hito>div>.tira{grid-column:2;grid-row:1/span 6;margin-top:0}
}

/* ====== v11: galerías siempre en filas completas ====== */
.tira.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tira.v2 figure:has(video){grid-column:span 2}
.tira.v2 video{aspect-ratio:2.72/1}
.tira.v22 figure:has(video){grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
.tira.v22 figure:has(video) video{flex:1;min-height:0;height:auto;aspect-ratio:auto}
.hito .tira{grid-template-columns:repeat(var(--c,3),minmax(0,1fr))}
@media (max-width:980px){
  .tira.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hito .tira{grid-template-columns:repeat(var(--c,3),minmax(0,1fr))}
}
@media (max-width:560px){
  .tira.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hito .tira{grid-template-columns:repeat(var(--cs,2),minmax(0,1fr))}
}

.tira.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.tira.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tira.g3.v2 video{aspect-ratio:2.72/1}
@media (max-width:980px){.tira.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.tira.g2{grid-template-columns:1fr}}
@media (max-width:980px){.evento:not(.inv) .tira{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ====== v12: hitos sin huecos (la galería ocupa toda la altura del texto) ====== */
@media (min-width:981px){
  .hito>div{align-items:stretch}
  .hito>div>.tira{align-self:stretch;grid-auto-rows:1fr;margin:0;gap:14px}
  .hito .tira figure{display:flex;margin:0;min-height:0}
  .hito .tira figure a{display:block;width:100%;height:100%}
  .hito .tira img{height:100%;aspect-ratio:auto;min-height:120px}
}

/* ====== v13: Aces en 3 columnas (texto | afiche | video) y juntas anteriores compacto ====== */
@media (min-width:981px){
  .evento.inv{grid-template-columns:minmax(0,5fr) minmax(0,3.3fr) minmax(0,2.5fr);align-items:stretch;column-gap:clamp(20px,2.4vw,36px)}
  .evento.inv>div:not(.evento-img){display:contents}
  .evento.inv .tipo,.evento.inv h3,.evento.inv p,.evento.inv .datos-ev{grid-column:1}
  .evento.inv .evento-img{grid-column:2;grid-row:1/span 5;order:0}
  .evento.inv .evento-img a{height:100%}
  .evento.inv .evento-img img{height:100%;object-fit:cover}
  .evento.inv .tira{grid-column:3;grid-row:1/span 5;display:flex;margin:0}
  .evento.inv .tira figure{flex:1;display:flex;flex-direction:column;min-width:0}
  .evento.inv .tira video{flex:1;min-height:0;height:auto;aspect-ratio:auto;width:100%;object-fit:cover}
}
.anteriores{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center}
.anteriores img{max-width:none!important;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 38%}
@media (max-width:980px){.anteriores{grid-template-columns:1fr}}
@media (min-width:981px){
  .evento.inv{grid-template-rows:repeat(4,auto) 1fr}
  .evento.inv .evento-img{align-self:stretch!important}
  .evento.inv .evento-img a,.evento.inv .evento-img img{height:100%}
}
@media (min-width:981px){
  .evento.inv{grid-template-columns:minmax(0,5fr) minmax(0,3.2fr) minmax(0,3.2fr);align-items:start;grid-template-rows:repeat(4,auto) 1fr}
  .evento.inv .evento-img{align-self:start!important;grid-row:1/span 5}
  .evento.inv .evento-img a{display:block;height:auto}
  .evento.inv .evento-img img{height:auto;aspect-ratio:900/1126;object-fit:cover;width:100%}
  .evento.inv .tira{align-self:start;grid-row:1/span 5}
  .evento.inv .tira figure{display:block}
  .evento.inv .tira video{width:100%;height:auto;aspect-ratio:900/1126;object-fit:cover;object-position:50% 42%;border-radius:28px}
}

@media (min-width:981px){
  .evento.inv>div:not(.evento-img):not(.tira){display:block!important;grid-column:1;grid-row:1}
  .evento.inv{grid-template-rows:auto!important}
  .evento.inv .evento-img{grid-row:1!important;grid-column:2}
  .evento.inv>.tira{grid-column:3;grid-row:1!important;align-self:start;margin:0;display:block}
}

/* ====== v14: auditoría (contraste y objetivos táctiles) ====== */
:root{--naranja-btn:#D33C12;--naranja-texto:#B8320D}
.boton{background:var(--naranja-btn)}
.boton:hover{box-shadow:0 10px 24px -10px rgba(211,60,18,.6)}
.boton.contorno{background:transparent}
.etq{background:var(--naranja-btn)}
.evento .tipo{color:var(--naranja-texto)}
.insignia,a.insignia{background:var(--naranja-btn)}
.dlg-x,.lang-switch button{min-height:40px}
.lang-switch button{padding:8px 14px}
footer a[href^="mailto"]{display:inline-block;padding:10px 4px}
.persona b a{display:inline-block;padding:9px 0}
@media (max-width:560px){.menu-movil summary{padding:12px 6px}}
.menu-movil a[href="#unete"]{color:var(--naranja-texto)!important;font-weight:700}

/* ====== v15: auditoría visual ====== */
/* portada */
.unirte .contenedor{align-items:center}
.explora a:nth-child(3) img{object-fit:cover!important;object-position:50% 38%!important}
/* videos verticales de Visitas: ocupan 2 filas en la primera columna, sin barras negras anchas */
@media (min-width:981px){
  .tira.vv figure:has(video){grid-row:span 2;position:relative;min-height:0;display:block}
  .tira.vv figure:has(video) video{position:absolute;left:0;top:0;width:100%;height:calc(100% - 34px);aspect-ratio:auto;object-fit:contain;background:#0A3E86;border-radius:16px}
  .tira.vv figure:has(video) figcaption{position:absolute;left:0;right:0;bottom:0}
  .tira.g3.vv{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){.tira.vv figure:has(video){grid-column:span 2}.tira.vv video{aspect-ratio:16/9;object-fit:contain;background:#0A3E86}}
/* premios IFSA: columnas por año */
.premio-anio ul{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 36px}
.premio-anio ul.c3 li{grid-column:span 2}.premio-anio ul.c2 li{grid-column:span 3}
.premio-anio p{max-width:none}
@media (max-width:980px){.premio-anio ul{grid-template-columns:1fr}.premio-anio ul li{grid-column:auto!important}}
/* reportes: última fila centrada y marco visible en documentos blancos */
.rep-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 22px}
.rep{flex:0 0 calc((100% - 4*22px)/5);min-width:0}
@media (max-width:1100px){.rep{flex-basis:calc((100% - 3*22px)/4)}}
@media (max-width:800px){.rep{flex-basis:calc((100% - 2*22px)/3)}}
@media (max-width:560px){.rep-grid{gap:20px 14px}.rep{flex-basis:calc((100% - 14px)/2)}}
.rep .miniatura,.rep-dest .miniatura{box-shadow:0 0 0 1px var(--linea),0 14px 28px -20px rgba(14,26,43,.45)}
/* tarjeta del podcast en "Explora": portada completa, sin recorte, sobre el azul exacto */
.explora a:nth-child(3){background:#0D56BC}
.explora a:nth-child(3) img{object-fit:contain!important;object-position:50% 50%!important;padding:10px 0 0;background:#0D56BC;height:100%}
.explora a:nth-child(3) span{left:auto;right:18px}
.explora a:nth-child(3) span small{color:#DCE8FA}
@media (max-width:980px){.explora a:nth-child(3) img{object-fit:cover!important;object-position:50% 30%!important}.explora a:nth-child(3) span{left:18px;right:auto}}
.explora a:nth-child(3) img{object-position:22% 50%!important}
.explora a:nth-child(3) span{top:50%;bottom:auto;transform:translateY(-50%);right:22px}
@media (max-width:980px){.explora a:nth-child(3) span{top:auto;bottom:18px;transform:none;right:auto}}

/* ====== v16: sin bordes de botón del navegador; ícono del pie en blanco sobre el azul ====== */
button.boton,.boton{border:0;font-family:var(--cuerpo);cursor:pointer;-webkit-appearance:none;appearance:none}
.boton.contorno{border:0}
.pie-marca img{background:none;padding:0;border-radius:0;height:34px;filter:brightness(0) invert(1)}

/* ====== v17: páginas legales, casilla de autorización y pie ====== */
.pendiente{background:#FFF3B0;color:#5A4A00;padding:1px 6px;border-radius:6px;font-weight:600;font-size:.92em}
.doc-cab{padding:clamp(36px,5vw,72px) 0 clamp(20px,3vw,36px);background:var(--azul-tinte)}
.doc-cab .contenedor{max-width:1100px}
.doc-cab h1{font-size:clamp(2rem,4.4vw,3.4rem);margin:8px 0 14px}
.doc-cab .entrada{max-width:68ch;color:var(--tinta-suave);font-size:1.15rem}
.doc-meta{margin-top:16px;font-size:.95rem;color:var(--tinta-suave)}
.doc-cuerpo{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,5vw,72px);padding-block:clamp(36px,5vw,72px);max-width:1100px}
.doc-lado{position:sticky;top:110px;align-self:start}
.doc-toc p{font-weight:700;color:var(--azul);margin-bottom:10px}
.doc-toc ol{list-style:none;padding:0;display:grid;gap:2px;counter-reset:t}
.doc-toc li{counter-increment:t}
.doc-toc a{display:block;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--tinta-suave);font-size:.95rem;line-height:1.3}
.doc-toc a::before{content:counter(t)". ";font-weight:700;color:var(--azul)}
.doc-toc a:hover{background:var(--azul-tinte);color:var(--azul-oscuro)}
.doc-texto{max-width:72ch}
.doc-sec{padding:0!important;margin-bottom:34px;scroll-margin-top:96px}
.doc-sec h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin-bottom:12px;max-width:none}
.doc-texto p{margin-bottom:12px;color:var(--tinta)}
.doc-texto ul{padding-left:1.2em;display:grid;gap:8px;margin-bottom:12px}
.doc-texto a{color:var(--azul);font-weight:600}
.doc-texto code{background:var(--azul-tinte);padding:1px 6px;border-radius:6px;font-size:.92em}
.aviso-corto{background:var(--azul-tinte);border-radius:20px;padding:24px 28px;margin-bottom:44px}
.aviso-corto h2{font-size:1.35rem;margin-bottom:12px;max-width:none}
.aviso-corto p{margin-bottom:8px}
.chk{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:.92rem;line-height:1.45;margin-top:4px;color:var(--tinta)}
.chk input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--azul)}
.chk a{color:var(--azul);font-weight:700}
.nota-legal,.cierre .nota-legal,.panel-unete .nota-legal{font-size:.82rem;line-height:1.45;color:var(--tinta-suave)!important;margin-top:4px;max-width:none}
footer .pie-legal{border-top:0;padding-top:4px}
.nota-legal a{color:var(--azul);font-weight:600}
.pie-legal{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:space-between;align-items:center;padding-top:16px;font-size:.88rem}
.pie-legal nav{display:flex;gap:6px 22px;flex-wrap:wrap}
.pie-legal a{text-decoration:underline;text-underline-offset:3px;padding:8px 2px}
@media (max-width:900px){.doc-cuerpo{grid-template-columns:1fr}.doc-lado{position:static}.doc-toc ol{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.doc-toc ol{grid-template-columns:1fr}.pie-legal{flex-direction:column;align-items:flex-start}}
.form label.chk,.panel-unete label.chk{display:flex!important;grid-template-columns:none;gap:12px;align-items:flex-start;font-weight:500}

.hero-foto.bandera img{object-position:50% 50%}

/* ====== v18: cabeceras de área sin recortar a las personas (la imagen manda la altura) ====== */
.hero.interior:has(.hero-foto.bandera){min-height:0;align-items:center}
.hero-foto.bandera{min-height:0;align-self:stretch}
.hero-foto.bandera img{position:static;width:100%;height:auto;object-fit:initial;display:block}
.hero.interior:has(.hero-foto.bandera) .hero-texto{padding-right:clamp(20px,3vw,48px)}
.hero.interior:has(.hero-foto.bandera) h1{font-size:clamp(2rem,3.3vw,3.1rem);overflow-wrap:break-word;hyphens:manual}

/* textos legales bilingües */
html[lang="en"] .l-es{display:none}
html:not([lang="en"]) .l-en{display:none}

@media (max-width:380px){.barra .m-fic{height:30px}.barra .m-ifsa{height:22px}.divisor{height:22px}.marcas{gap:8px}}
@media (max-width:340px){.barra .m-fic{height:25px}.barra .m-ifsa{height:19px}.divisor{display:none}.barra .contenedor{gap:6px}.lang-switch button{padding-inline:10px}}

/* celular/tablet: videos verticales de Visitas con su proporción real, centrados (sin barras laterales anchas) */
@media (max-width:980px){.tira.vv video{aspect-ratio:9/16;width:min(100%,300px);height:auto;margin-inline:auto;display:block;object-fit:cover}.tira.vv figure:has(video) figcaption{text-align:center}}

/* celular: Misión/Visión sin sangría y sin hueco azul bajo la foto de Visitas */
@media (max-width:900px){.mv div,.mv div+div{padding-left:0;padding-right:0}.visitas .contenedor>.viaje:first-child{margin-top:0}}

/* celular: podcast. Portada a todo el ancho (sin recuadro dentro del fondo) y episodios con la descripción a todo el ancho */
@media (max-width:700px){
  .hero-foto.contain img{width:100%;max-width:none;border-radius:0}
  .episodios li{grid-template-columns:84px 1fr;gap:6px 16px;align-items:start;padding:28px 0}
  .episodios li .ep-n{display:none}
  .episodios li>div{display:contents}
  .episodios li img{grid-column:1;grid-row:1/span 2;width:84px;height:84px}
  .episodios li time{grid-column:2;grid-row:1;align-self:end}
  .episodios li h3{grid-column:2;grid-row:2;align-self:start;margin:0}
  .episodios li p,.episodios li a.boton{grid-column:1/-1}
  .episodios li p{margin-top:8px}
  .episodios li a.boton{grid-column:1/-1;justify-self:start;margin-top:12px}
}


/* ====== v19: cabeceras interiores de igual altura (la foto llega siempre al borde inferior) ====== */
@media (min-width:981px){
  .hero.interior{min-height:min(calc(100vh - 81px),900px)}
}

/* el bloque azul no necesita 100px de cola: el cierre va pegado, con respiro */
.visitas{padding-bottom:clamp(36px,4vw,56px)}

/* video vertical de la consultoria: cover para que no quede con barras negras en el cuadro 4/3 (solo ese video; las tiras 9/16 de eventos van por su propio camino) */
.tira video[src*="consultoria-rios"]{object-fit:cover}
.rse-top{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);column-gap:56px;row-gap:0}
.rse-top .viaje{margin-top:0}
.rse-card{display:grid;grid-template-rows:subgrid;grid-row:span 4}
.rse-fotos{margin-top:auto;padding-top:24px}
.rse-m{display:grid;gap:12px}
.rse-m a{display:block;min-height:0}
.rse-m img{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px}
.rse-m a:hover img{transform:scale(1.015)}
.rse-m-rios,.rse-m-sonar{aspect-ratio:4/3}
.rse-m-rios{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.rse-m-rios .t1{grid-row:1/3}
.rse-m-rios .t3 img{object-position:50% 35%}
.rse-m-sonar img{object-position:50% 65%}
.rse-grande{margin-top:56px}
.rse-m-semb{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,340px)}
.rse-m-semb .b{grid-column:1/3;grid-row:1}
.rse-m-semb .c{grid-column:3;grid-row:1/3}
.rse-m-semb .d{grid-column:1;grid-row:2}
.rse-m-semb .e{grid-column:2;grid-row:2}
@media(max-width:900px){.rse-top{grid-template-columns:1fr;grid-template-rows:none}.rse-card{display:block;grid-row:auto}.rse-card+.rse-card{margin-top:56px}}
@media(max-width:700px){.rse-grande{margin-top:56px}.rse-m-semb{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:170px}.rse-m-semb .b{grid-column:1/3!important;grid-row:1!important}.rse-m-semb .c{grid-column:1!important;grid-row:2/4!important}.rse-m-semb .d{grid-column:2!important;grid-row:2!important}.rse-m-semb .e{grid-column:2!important;grid-row:3!important}}
.asoc{padding-block:0 clamp(48px,6vw,72px)}
.asoc h2{max-width:none}
.asoc-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,auto);column-gap:28px;row-gap:0;margin-top:32px}
.asoc-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;background:#fff;border:1px solid rgba(15,88,186,.16);border-radius:24px;overflow:hidden}
.asoc-logo{position:relative;display:grid;place-items:center;height:120px;background:#fff;border-bottom:1px solid rgba(15,88,186,.12)}
.asoc-logo img{display:block;width:auto;height:auto;max-height:84px;max-width:60%;object-fit:contain}
.asoc-chip{justify-self:start;align-self:start;margin:0 0 14px;background:var(--azul-tinte);color:var(--azul-oscuro);font-weight:700;font-size:.9rem;padding:6px 14px;border-radius:999px}
.asoc-cuerpo{display:grid;grid-template-rows:subgrid;grid-row:2 / span 5;padding:clamp(22px,2.6vw,34px)}
.asoc-cuerpo h3{margin:0}
.asoc-que{margin-top:10px;color:var(--tinta-suave)}
.asoc-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.asoc-cifras div{background:var(--azul-tinte);border-radius:16px;padding:14px 14px 12px}
.asoc-cifras b{display:block;font-size:1.5rem;line-height:1.1;color:var(--azul-oscuro)}
.asoc-cifras span{display:block;margin-top:6px;font-size:.85rem;line-height:1.3;color:var(--tinta-suave)}
.asoc-tags{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.asoc-tags li{border:1.5px solid rgba(15,88,186,.25);border-radius:999px;padding:7px 10px;text-align:center;white-space:nowrap;font-weight:600;font-size:.9rem;color:var(--azul-oscuro)}
.asoc-nota{margin-top:14px;font-size:.9rem;color:var(--tinta-suave)}
.asoc-pie{align-self:end;padding-top:24px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.asoc-ig{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-weight:700;color:var(--azul);text-decoration:underline;text-underline-offset:4px}
.asoc-fuente{margin-top:22px;font-size:.9rem;color:var(--tinta-suave)}
@media(max-width:900px){.asoc-grid{grid-template-columns:1fr;grid-template-rows:none;row-gap:28px}.asoc-card{display:flex;flex-direction:column;grid-row:auto}.asoc-cuerpo{display:flex;flex-direction:column;grid-row:auto;flex:1}.asoc-pie{margin-top:auto}}
@media(max-width:700px){.asoc-tags{gap:6px}.asoc-tags li{padding:7px 4px;font-size:.8rem}.asoc-logo{height:112px}.asoc-logo img{max-height:56px}.asoc-cifras{grid-template-columns:1fr}.asoc-cifras div{display:flex;align-items:baseline;gap:14px}.asoc-cifras b{flex:none;min-width:96px}.asoc-cifras span{margin:0}}
.irse{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.congresos{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(48px,6vw,80px)}
.congresos-cab{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,5vw,80px);align-items:end}
.congresos-cab .kicker{grid-column:1/-1}
.congresos-cab h2{margin:0;max-width:none}
.congresos-cab .entrada{margin:0;max-width:none;align-self:end}
.evento-ext{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,80px);align-items:start;margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,44px);border-top:1px solid rgba(15,88,186,.18)}
.evento-ext .tipo{font-weight:700;color:var(--naranja);margin-bottom:6px;font-size:1rem}
.evento-ext h3{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:16px}
.evento-ext .ev-texto>p:not(.tipo){color:var(--tinta-suave);max-width:none}
.evento-ext .tira{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;overflow:visible;margin-top:0}
.evento-ext .tira img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.evento-ext .tira figure:first-child{grid-row:span 2}
.evento-ext .tira figure:first-child a{display:block;height:100%}
.evento-ext .tira figure:first-child img{object-position:50% 72%}
.evento-ext .coin-tira{grid-template-rows:1fr 1fr;height:clamp(360px,36vw,500px)}
.evento-ext .coin-tira figure{min-height:0}
.evento-ext .coin-tira a{display:block;height:100%}
.evento-ext .coin-tira img{height:100%;aspect-ratio:auto}
@media(max-width:980px){.congresos-cab{grid-template-columns:1fr;row-gap:14px}.evento-ext{grid-template-columns:1fr}}
@media(max-width:560px){.evento-ext .tira{grid-template-columns:1fr 1fr}.evento-ext .tira figure:first-child{grid-column:1/-1;grid-row:auto}.evento-ext .coin-tira{height:auto;grid-template-rows:none}.evento-ext .coin-tira a{height:auto}.evento-ext .coin-tira img{height:auto;aspect-ratio:4/3}}
.irse .boton{padding-inline:18px;font-size:.95rem}

/* ====== Equipo: «Cómo se organiza el club» (pestañas) ====== */
.estr{padding-block:clamp(56px,8vw,112px) 0}
.estr-cab{display:grid;grid-template-columns:auto 1fr;gap:20px clamp(32px,5vw,80px);align-items:end;margin-bottom:32px}
.estr-cab h2{font-size:clamp(2rem,3.4vw,3rem)}
.estr-lead{color:var(--tinta-suave);font-size:1.15rem;justify-self:end;max-width:none;text-wrap:pretty}
.estr small{display:block;font-weight:700;font-size:.85rem;color:var(--azul);margin-bottom:4px}
.estr-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.estr-chips button{flex:none;border:1.5px solid var(--linea);background:#fff;border-radius:99px;padding:10px 18px;font:700 .95rem var(--cuerpo);color:var(--tinta);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.estr-chips button:hover{border-color:var(--azul)}
.estr-chips button[aria-selected=true]{background:var(--azul);border-color:var(--azul);color:#fff}
.estr-paneles{margin-top:22px;background:#fff;border:1px solid var(--linea);border-radius:22px;border-top-left-radius:56px;padding:clamp(24px,3vw,40px)}
.estr-pan{display:grid;grid-template-columns:5fr 7fr;gap:20px clamp(24px,4vw,64px);align-items:start}
.estr-pan[hidden]{display:none}
.estr-pan h3{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:8px}
.estr-lema{font-weight:700}
.estr-pan ul{margin:0;padding-left:1.15em;color:var(--tinta-suave)}
.estr-pan li+li{margin-top:8px}
.estr-ver{display:inline-block;margin-top:14px;font-weight:700;color:var(--azul);text-decoration:none}
.estr-ver:hover{text-decoration:underline}
@media (max-width:900px){.estr-cab,.estr-pan{grid-template-columns:1fr}.estr-lead{justify-self:start}}
.estr+.equipo-sec .anteriores{margin-top:clamp(40px,5vw,64px)}
