/* ============================================================
   EJNK v3.2 — Jerarquía azul/blanco + arranque a prueba de fallos
   ============================================================ */
:root{
  --blanco:#FFFFFF;
  --papel:#F4F7FC;
  --claro:#E9F1FA;
  /* V4.4: paleta canónica tomada de la marca oficial (campus.ejnk.ar, logos JE). */
  --azul:#0B4A9A;          /* azul institucional del logo */
  --azul-claro:#3563C9;    /* variante del acento del campus apta para texto (AA) */
  --azul-campus:#4272D7;   /* acento de interfaz del campus: franjas, bordes, texto grande */
  --azul-900:#0A2A57;      /* azul oscuro derivado del institucional */
  --amarillo:#F1B100;      /* amarillo del cuadrado del logo */
  --blanco-hueso:#EDEDED;  /* blanco de la marca sobre fondo azul */
  --texto:#1B2C52;
  --texto-2:#46577A;
  --gris:#5F6F8D;
  --linea:rgba(10,42,87,.16);
  --linea-inv:rgba(255,255,255,.25);
  --error:#C43D2B;
  --sans:'Montserrat',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--blanco);color:var(--texto);font:400 1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--amarillo);color:var(--azul-900)}
:focus-visible{outline:3px solid var(--azul-900);outline-offset:3px}
.hero :focus-visible,.page-head :focus-visible,.sec-azul :focus-visible,
.marquee :focus-visible,footer :focus-visible{outline-color:var(--amarillo)}
img,svg{display:block}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
a{color:inherit}
.saltar{position:absolute;left:-999px;top:0;background:var(--amarillo);color:var(--azul-900);padding:.6rem 1rem;z-index:200;font-weight:700}
.saltar:focus{left:0}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(1.2rem,4vw,2.5rem)}

/* ---------- Tipografía ---------- */
.display{font-family:var(--sans);font-weight:900;text-transform:uppercase;letter-spacing:.005em;line-height:1.12;color:var(--azul-900)}
.kicker{font:700 .74rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
.kicker b{color:var(--azul-claro)}

/* Banda amarilla: el gesto firma del flyer */
.banda{
  display:inline;background:var(--amarillo);color:var(--azul-900);
  font-weight:900;text-transform:uppercase;letter-spacing:.01em;
  padding:.14em .45em;box-decoration-break:clone;-webkit-box-decoration-break:clone;
  line-height:1.35;
}
.banda.inversa{background:var(--azul-900);color:var(--blanco)}

/* Marca de agua EJNK */
.agua{
  position:absolute;font:900 clamp(150px,30vw,430px)/.78 var(--sans);
  letter-spacing:-.03em;color:rgba(53,99,201,.12);
  pointer-events:none;user-select:none;white-space:nowrap;z-index:0;
}

/* Franja vertical azul brillante */
.franja-vert{position:absolute;left:0;top:0;bottom:0;width:clamp(12px,1.8vw,24px);background:var(--azul-campus);z-index:1}

/* ---------- Barra superior + nav ---------- */
.topbar{background:var(--azul-900);color:rgba(255,255,255,.85);font:600 .7rem var(--sans);letter-spacing:.18em;text-transform:uppercase}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem}
.topbar span:last-child{color:var(--amarillo)}
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.nav .wrap{display:flex;align-items:center;gap:1.4rem;height:78px}

/* Logo JE monograma */
.logo-je{position:relative;width:46px;height:46px;flex-shrink:0;display:grid;place-items:center}
.logo-je::before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--amarillo)}
.logo-je span{font:900 27px/1 var(--sans);letter-spacing:-.09em;color:var(--azul-900);transform:translateY(3px)}
.logo-je.claro span{color:var(--blanco)}
.marca{display:flex;align-items:center;gap:.85rem;text-decoration:none}
.marca-txt{display:flex;flex-direction:column;line-height:1.2}
.marca-txt small{font:400 .82rem var(--sans);letter-spacing:.05em;color:var(--texto-2)}
.marca-txt b{font:800 .95rem var(--sans);letter-spacing:.02em;color:var(--azul-900)}

.nav-links{display:flex;gap:1.4rem;margin-left:auto}
.nav-links a{font:700 .76rem var(--sans);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--texto-2);position:relative;padding-block:.35rem;transition:color .25s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--amarillo);transition:width .3s ease}
.nav-links a:hover{color:var(--azul-900)}
.nav-links a:hover::after{width:100%}
.nav-links a.activo{color:var(--azul-900)}
.nav-links a.activo::after{width:100%}
.nav-acciones{display:flex;gap:.6rem;align-items:center;margin-left:.4rem}
.burger{display:none;margin-left:auto;padding:.4rem;color:var(--azul-900)}
.burger svg{width:26px;height:26px}
.nav-menu-movil{position:fixed;inset:78px 0 auto 0;background:var(--blanco);border-bottom:3px solid var(--amarillo);padding:1.6rem clamp(1.2rem,4vw,2.5rem) 2rem;display:flex;flex-direction:column;gap:1.1rem;z-index:99;transform:translateY(-115%);transition:transform .35s ease;box-shadow:0 20px 40px rgba(10,42,87,.12)}
.nav-menu-movil.abierto{transform:none}
.nav-menu-movil a{font:800 .95rem var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--azul-900)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;font:800 .88rem var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:.95rem 1.5rem;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn svg{width:17px;height:17px;transition:transform .25s}
.btn:hover svg{transform:translateX(4px)}
.btn-amarillo{background:var(--amarillo);color:var(--azul-900)}
.btn-amarillo:hover{background:var(--azul-900);color:var(--blanco)}
.btn-azul{background:var(--azul);color:var(--blanco)}
.btn-azul:hover{background:var(--azul-900)}
.btn-outline{border-color:var(--azul-900);color:var(--azul-900);background:transparent}
.btn-outline:hover{background:var(--azul-900);color:var(--blanco)}
.hero .btn-outline,.page-head .btn-outline,.sec-azul .btn-outline{border-color:var(--blanco);color:var(--blanco)}
.hero .btn-outline:hover,.page-head .btn-outline:hover,.sec-azul .btn-outline:hover{background:var(--blanco);color:var(--azul-900)}
.cta-band .btn-outline{border-color:var(--azul-900);color:var(--azul-900)}
.cta-band .btn-outline:hover{background:var(--azul-900);color:var(--blanco)}
.btn-mini{font:700 .74rem var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.55rem .95rem;border:2px solid var(--azul-900);color:var(--azul-900);transition:all .25s;background:transparent}
.btn-mini:hover{background:var(--azul-900);color:var(--blanco)}
.btn-mini.solido{background:var(--amarillo);border-color:var(--amarillo);color:var(--azul-900)}
.btn-mini.solido:hover{background:var(--azul-900);border-color:var(--azul-900);color:var(--blanco)}

/* ---------- Router (a prueba de fallos: sin JS, todo visible) ---------- */
html.js [data-page]{display:none}
html.js [data-page].activa{display:block;animation:pageIn .45s ease both}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}}

/* ---------- Page head (azul, como el flyer) ---------- */
.page-head{position:relative;overflow:hidden;background:var(--azul);border-bottom:4px solid var(--amarillo);padding:clamp(3.5rem,8vw,6rem) 0 clamp(2.2rem,4vw,3.5rem)}
.page-head .agua{right:-3%;bottom:-10%;color:rgba(255,255,255,.1)}
.page-head .wrap{position:relative;z-index:2}
.page-head h1{font-size:clamp(2.1rem,5vw,3.6rem);margin-top:1.1rem;max-width:20ch;color:var(--blanco)}
.page-head .entradilla{margin-top:1.3rem;max-width:60ch;color:rgba(255,255,255,.85);font-size:1.05rem}
.page-head .kicker{color:rgba(255,255,255,.75)}
.page-head .kicker b{color:var(--amarillo)}
.nombre-esc{font-weight:300;color:rgba(255,255,255,.85)}
.nombre-esc b{font-weight:800;color:var(--blanco)}

/* ---------- Hero (azul EJNK pleno) ---------- */
.hero{position:relative;overflow:hidden;background:var(--azul);border-bottom:4px solid var(--amarillo);padding:clamp(4rem,9vw,7rem) 0 clamp(2.6rem,5vw,4rem)}
.hero .agua{right:-5%;top:8%;color:rgba(255,255,255,.1)}
.hero .wrap{position:relative;z-index:2}
.hero .kicker{color:rgba(255,255,255,.8)}
.hero h1{margin:1.5rem 0 1.6rem;font-size:clamp(1.9rem,4.8vw,3.7rem);max-width:22ch;color:var(--blanco)}
.hero .entradilla{max-width:56ch;color:rgba(255,255,255,.88);font-size:1.1rem;margin-bottom:1.8rem}
.proximo-chip{
  display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  border:1px solid var(--linea-inv);background:rgba(255,255,255,.1);
  padding:.7rem 1.1rem;margin-bottom:2rem;font-size:.88rem;color:var(--blanco);
}
.proximo-chip .punto{width:9px;height:9px;border-radius:50%;background:var(--amarillo);animation:latido 1.8s infinite}
@keyframes latido{50%{opacity:.35}}
.proximo-chip b{color:var(--amarillo);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}
.hero-acciones{display:flex;gap:1rem;flex-wrap:wrap}
.hero-datos{margin-top:clamp(2.5rem,5vw,3.6rem);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea-inv)}
.hero-datos div{padding:1.4rem 1.4rem 0 0}
.hero-datos div+div{border-left:1px solid var(--linea-inv);padding-left:1.4rem}
.hero-datos dt{font:800 1.05rem var(--sans);text-transform:uppercase;letter-spacing:.02em;color:var(--blanco)}
.hero-datos dd{font-size:.86rem;color:rgba(255,255,255,.75)}

/* Franja de redes */
.franja-redes{background:var(--blanco);border-bottom:1px solid var(--linea);padding-block:.9rem}
.franja-redes .wrap{display:flex;justify-content:center;gap:2.4rem;flex-wrap:wrap}
.franja-redes a{display:flex;align-items:center;gap:.6rem;text-decoration:none;font:700 .9rem var(--sans);color:var(--azul-900);transition:all .25s;padding:.2rem .6rem}
.franja-redes a:hover{background:var(--azul);color:var(--blanco)}
.franja-redes .ico{width:34px;height:34px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center}
.franja-redes svg{width:16px;height:16px}

/* ---------- Marquee (franja negra: homenaje a los banners) ---------- */
.marquee{background:#0A0B0D;color:var(--blanco);overflow:hidden;padding-block:.9rem}
.mq-track{display:flex;width:max-content;animation:cinta 30s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-grupo{display:flex;align-items:center;flex-shrink:0}
.mq-grupo span{font:900 1rem var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding-inline:1.5rem}
.mq-grupo i{color:var(--amarillo);font-style:normal;font-size:.65rem}
@keyframes cinta{to{transform:translateX(-50%)}}

/* ---------- Secciones ---------- */
.sec{padding:clamp(4rem,8vw,6.5rem) 0;border-top:1px solid var(--linea);position:relative}
.sec:first-of-type{border-top:0}
.sec-panel{background:var(--papel)}
.sec-claro{background:var(--claro)}
.sec-azul{background:var(--azul)}
.sec-azul .kicker{color:rgba(255,255,255,.75)}
.sec-azul .kicker b{color:var(--amarillo)}
.sec-head{display:flex;align-items:center;gap:1.35rem;margin-bottom:clamp(2rem,4vw,3rem)}
.sec-num{font:900 clamp(1rem,1.25vw,1.18rem)/1 var(--sans);color:var(--azul-claro);letter-spacing:.08em;padding:.18rem .15rem .45rem;min-width:2.7rem;text-align:center;border-bottom:4px solid var(--amarillo)}
.sec-azul .sec-num{color:var(--amarillo)}
.sec-titulo{font-size:clamp(1.6rem,3.4vw,2.5rem)}
/* V4.4: la animación sólo se aplica con JS activo; sin JS el contenido queda visible. */
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
html.js .reveal.visible{opacity:1;transform:none}

/* ---------- Cards ---------- */
.card{background:var(--blanco);border:1px solid var(--linea);transition:border-color .25s,transform .25s,box-shadow .25s}
.card:hover{border-color:var(--azul-claro);transform:translateY(-4px);box-shadow:0 14px 30px rgba(10,42,87,.1)}

/* ---------- Cursos ---------- */
.fichas-curso{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.card-curso{padding:1.6rem;text-align:left;cursor:pointer;position:relative;display:block;width:100%}
.card-curso .num{font:800 .78rem var(--sans);color:var(--azul-claro);letter-spacing:.2em}
.card-curso h3{font:800 1.05rem var(--sans);text-transform:uppercase;margin:.5rem 0 .45rem;padding-right:1.6rem;line-height:1.35;color:var(--azul-900)}
.card-curso p{font-size:.87rem;color:var(--texto-2)}
.card-curso .meta-curso{display:flex;gap:.9rem;margin-top:.9rem;font:700 .7rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gris);flex-wrap:wrap}
.card-curso .flecha{position:absolute;right:1.1rem;top:1.4rem;color:var(--gris);transition:transform .25s,color .25s}
.card-curso:hover .flecha{transform:translateX(4px);color:var(--amarillo)}

/* ---------- Agenda ---------- */
.filtros{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2.2rem}
.chip{font:700 .78rem var(--sans);letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--azul-900);padding:.5rem 1.05rem;transition:all .25s;color:var(--azul-900);background:transparent}
.chip:hover{background:var(--claro)}
.chip.activo{background:var(--azul);border-color:var(--azul);color:var(--blanco)}
.agenda-lista{display:flex;flex-direction:column;gap:1.2rem}
.evento{display:grid;grid-template-columns:110px 1fr auto;gap:1.6rem;align-items:center;padding:1.6rem}
.evento.destacado{border-color:var(--amarillo);box-shadow:0 0 0 1px var(--amarillo)}
.fecha-caja{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--azul);padding:1rem .6rem;min-height:110px}
.fecha-caja .dia{font:900 2.2rem/1 var(--sans);color:var(--blanco)}
.fecha-caja .mes{font:800 .72rem var(--sans);letter-spacing:.22em;color:var(--amarillo);text-transform:uppercase;margin-top:.3rem}
.fecha-caja .sem{font:500 .72rem var(--sans);color:rgba(255,255,255,.75);margin-top:.15rem}
.evento h3{font:800 1.15rem var(--sans);text-transform:uppercase;line-height:1.4;color:var(--azul-900)}
.evento .tipo-tag{font:800 .68rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--azul-claro)}
.evento-meta{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:.7rem;font-size:.86rem;color:var(--texto-2)}
.evento-meta span{display:inline-flex;align-items:center;gap:.45rem}
.evento-meta svg{width:15px;height:15px;color:var(--azul-claro)}
.evento-side{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.badge{font:800 .66rem var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:.4rem .8rem}
.badge.abierta{background:var(--amarillo);color:var(--azul-900)}
.badge.prox{border:2px solid var(--azul-900);color:var(--azul-900)}
.badge.fin{background:var(--claro);color:var(--gris)}
.evento p.desc{margin-top:.5rem;font-size:.9rem;color:var(--texto-2);max-width:56ch}

/* ---------- Actividades ---------- */
.grid-act{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.act-card{display:flex;flex-direction:column;overflow:hidden}
.act-foto{
  position:relative;overflow:hidden;aspect-ratio:16/8;
  background:linear-gradient(155deg,var(--azul-claro),var(--azul-900) 70%);
  display:flex;align-items:flex-end;padding:1rem;
}
.act-foto .agua{font-size:clamp(70px,9vw,120px);right:-2%;top:-8%;color:rgba(255,255,255,.16)}
.act-foto .bn{position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(0,0,0,.14) 0 2px,transparent 2px 6px)}
.act-foto .fecha-foto{position:relative;z-index:2;font:800 .74rem var(--sans);letter-spacing:.18em;text-transform:uppercase;background:var(--amarillo);color:var(--azul-900);padding:.35rem .7rem}
.act-cuerpo{padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.act-cuerpo .tipo{font:800 .68rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--azul-claro)}
.act-cuerpo h3{font:800 1.25rem var(--sans);text-transform:uppercase;line-height:1.35;color:var(--azul-900)}
.act-cuerpo p{font-size:.92rem;color:var(--texto-2)}
.act-pie{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:1rem}
.act-lugar{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--gris)}
.act-lugar svg{width:14px;height:14px;color:var(--azul-claro)}
.act-link{display:inline-flex;align-items:center;gap:.5rem;font:800 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--azul-900);transition:color .25s}
.act-link:hover{color:var(--azul-claro)}
.act-link svg{width:15px;height:15px}

/* ---------- Escuela ---------- */
.manifiesto{font-weight:500;font-size:clamp(1.3rem,2.8vw,1.9rem);line-height:1.55;max-width:26ch;color:var(--azul-900)}
.cuerpo-2col{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2.5rem,5vw,5rem);align-items:start;margin-top:2.5rem}
.cuerpo-2col p+p{margin-top:1.2rem}
.cuerpo-2col p{color:var(--texto-2)}
.ficha{background:var(--papel);border:1px solid var(--linea);padding:1.8rem;position:sticky;top:110px}
.ficha h3{font:800 .74rem var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.2rem;color:var(--azul-900)}
.ficha dl div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--linea)}
.ficha dt{font:800 .74rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--azul-900)}
.ficha dd{font-size:.9rem;text-align:right;color:var(--texto-2)}
.stats{margin-top:clamp(3rem,6vw,4.5rem);display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--linea)}
.stats div{padding:1.8rem 1.4rem 1.8rem 0}
.stats div+div{border-left:1px solid var(--linea);padding-left:1.6rem}
.stats b{display:block;font:900 clamp(1.8rem,3.4vw,2.7rem)/1.15 var(--sans);font-variant-numeric:tabular-nums;color:var(--azul)}
.stats span{font-size:.84rem;color:var(--gris)}
.cita-grande{margin:clamp(3rem,6vw,4.5rem) auto 0;max-width:780px;text-align:center}
.cita-grande blockquote{font:italic 500 clamp(1.25rem,2.5vw,1.7rem)/1.55 var(--sans);color:var(--azul-900)}
.cita-grande blockquote::before{content:"“";display:block;font:900 4.5rem/.6 var(--sans);color:var(--amarillo);margin-bottom:.5rem}
.cita-grande cite{display:block;margin-top:1.2rem;font:800 .76rem var(--sans);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}

/* Banderas */
.banderas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.bandera{background:var(--blanco);border:1px solid var(--linea);padding:2rem;position:relative;overflow:hidden}
.bandera::before{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:var(--amarillo)}
.bandera .num{font:900 2.6rem/1 var(--sans);color:var(--azul-claro)}
.bandera h3{font:800 1.15rem var(--sans);text-transform:uppercase;margin:.8rem 0 .5rem;color:var(--azul-900)}
.bandera p{font-size:.92rem;color:var(--texto-2)}

/* Timeline */
.pista{font:700 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-bottom:1.5rem;display:flex;gap:.6rem;align-items:center}
.pista svg{width:15px;height:15px;color:var(--azul-claro)}
.tl{overflow-x:auto;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--azul-claro) transparent;padding-bottom:1rem;user-select:none}
.tl:active{cursor:grabbing}
.tl-track{display:flex;min-width:max-content;position:relative;padding-top:.4rem}
.tl-track::before{content:"";position:absolute;left:0;right:0;top:2.9rem;height:2px;background:var(--linea)}
.tl-item{min-width:270px;padding:0 2.6rem 0 0}
.tl-item .anio{font:900 2rem var(--sans);color:var(--azul);display:block}
.tl-item .punto{display:block;width:12px;height:12px;border-radius:50%;background:var(--amarillo);margin:1.1rem 0 1.3rem}
.tl-item p{font-size:.92rem;max-width:24ch;color:var(--texto-2)}

/* Claustro */
.grilla-docentes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.docente{background:var(--blanco);border:1px solid var(--linea);padding:1.6rem;transition:border-color .25s,transform .25s,box-shadow .25s}
.docente:hover{border-color:var(--azul-claro);transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,42,87,.1)}
.avatar{width:58px;height:58px;background:var(--azul);color:var(--blanco);display:grid;place-items:center;font:900 1.15rem var(--sans);margin-bottom:1rem;position:relative}
.avatar::before{content:"";position:absolute;top:0;left:0;width:13px;height:13px;background:var(--amarillo)}
.avatar.amarillo{background:var(--amarillo);color:var(--azul-900)}
.avatar.amarillo::before{background:var(--azul)}
.docente h3{font:800 .98rem var(--sans);color:var(--azul-900)}
.docente .area{font:800 .66rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--azul-claro);margin:.25rem 0 .7rem}
.docente p{font-size:.88rem;color:var(--texto-2)}
.autoridades{border-top:1px solid var(--linea);margin-bottom:3.5rem}
.autoridades .fila{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) auto;gap:1.5rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid var(--linea)}
.autoridades .rol{font:800 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.autoridades .nom{font:600 1.3rem var(--sans);color:var(--azul-900)}
.autoridades .mod{font:800 .7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--azul-claro)}

/* Acordeones */
.grupo-acordeon .item{border-top:1px solid var(--linea)}
.grupo-acordeon .item:last-child{border-bottom:1px solid var(--linea)}
.acordeon-btn{width:100%;display:grid;grid-template-columns:3.2rem 1fr auto 2.2rem;align-items:baseline;gap:1.4rem;text-align:left;padding:1.5rem .6rem;transition:background .25s}
.acordeon-btn:hover{background:var(--papel)}
.acordeon-btn .num{font:800 1rem var(--sans);color:var(--azul-claro)}
.acordeon-btn .tit{font:800 1.2rem var(--sans);text-transform:uppercase;transition:transform .3s;line-height:1.35;color:var(--azul-900)}
.acordeon-btn:hover .tit{transform:translateX(8px)}
.acordeon-btn .tag{font:800 .66rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gris);border:1px solid var(--linea);padding:.35rem .75rem}
.acordeon-btn .mas{font:300 1.8rem/1 var(--sans);justify-self:end;transition:transform .35s ease,color .35s;color:var(--gris)}
.item.abierto .acordeon-btn .mas{transform:rotate(45deg);color:var(--azul-claro)}
.acordeon-cuerpo{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.acordeon-cuerpo>div{overflow:hidden}
.acordeon-cuerpo p{max-width:62ch;padding:0 .6rem;color:var(--texto-2)}
.acordeon-cuerpo ul{list-style:none;padding:.9rem .6rem 0;display:flex;flex-wrap:wrap;gap:.5rem}
.acordeon-cuerpo li{font:700 .74rem var(--sans);letter-spacing:.04em;background:var(--claro);border:1px solid rgba(53,99,201,.35);color:var(--azul-900);padding:.4rem .85rem}
.acordeon-cuerpo .btn{margin:1.4rem .6rem 1.8rem}
.item.abierto .acordeon-cuerpo{grid-template-rows:1fr}

/* Voces */
.slider{max-width:820px}
.cita-slider blockquote{font:italic 500 clamp(1.2rem,2.3vw,1.65rem)/1.6 var(--sans);min-height:8.5em;color:var(--azul-900)}
.cita-slider figcaption{margin-top:1.4rem;display:flex;align-items:center;gap:1rem;font:800 .76rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.cita-slider figcaption::before{content:"";width:44px;height:3px;background:var(--amarillo)}
.cita-slider blockquote,.cita-slider .autor{transition:opacity .3s,transform .3s}
.cita-slider.saliendo blockquote,.cita-slider.saliendo .autor{opacity:0;transform:translateY(10px)}
.slider-nav{display:flex;align-items:center;gap:1rem;margin-top:2rem}
.slider-nav button{width:46px;height:46px;border:2px solid var(--azul-900);border-radius:50%;display:grid;place-items:center;color:var(--azul-900);transition:all .25s}
.slider-nav button:hover{background:var(--azul);border-color:var(--azul);color:var(--blanco)}
.slider-nav button svg{width:18px;height:18px}
.slider-nav .indice{font:800 .84rem var(--sans);letter-spacing:.1em;font-variant-numeric:tabular-nums;color:var(--azul-900)}

/* Biblioteca */
.libros{border-top:1px solid var(--linea)}
.libro{display:grid;grid-template-columns:3.5rem 1fr auto auto;gap:1.4rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--linea)}
.libro.oculto{display:none}
.libro .num{font:800 1rem var(--sans);color:var(--azul-claro)}
.libro h3{font:600 1.2rem var(--sans);color:var(--azul-900)}
.libro .meta{font-size:.82rem;color:var(--gris);margin-top:.15rem}
.libro .btn-mini{justify-self:end}

/* Campus */
.campus-portada{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.features{list-style:none;margin-top:.5rem}
.features li{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--linea)}
.features svg{width:20px;height:20px;color:var(--azul-claro);flex-shrink:0;margin-top:.25rem}
.features b{font:800 .92rem var(--sans);text-transform:uppercase;letter-spacing:.02em;color:var(--azul-900)}
.features p{font-size:.88rem;color:var(--texto-2)}
.login-card{background:var(--blanco);border:1px solid var(--linea);border-top:6px solid var(--amarillo);padding:2.4rem;position:relative;box-shadow:0 16px 36px rgba(10,42,87,.08)}
.login-card h3{font:800 .74rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--azul-900);margin-bottom:.8rem}
.login-card p{font-size:.92rem;color:var(--texto-2);margin-bottom:1.6rem}
.aula{display:none}
.aula.activa{display:block;animation:pageIn .4s ease both}
.aula-barra{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.aula-usuario{display:flex;align-items:center;gap:.9rem}
.aula-usuario .avatar{width:44px;height:44px;font-size:.8rem;margin:0}
.aula-usuario b{font:800 .9rem var(--sans);display:block;color:var(--azul-900)}
.aula-usuario small{font-size:.76rem;color:var(--gris)}
.aula-grid{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--linea);background:var(--blanco);box-shadow:0 16px 36px rgba(10,42,87,.08)}
.aula-side{border-right:1px solid var(--linea);background:var(--papel)}
.aula-side header{padding:1.2rem 1.4rem;border-bottom:1px solid var(--linea)}
.aula-side header b{font:800 .76rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--azul-900)}
.mod-item{width:100%;text-align:left;padding:1rem 1.4rem;border-bottom:1px solid var(--linea);display:flex;justify-content:space-between;align-items:center;gap:.8rem;font:700 .84rem var(--sans);transition:background .2s;color:var(--texto)}
.mod-item:hover{background:var(--claro)}
.mod-item.sel{background:var(--azul);color:var(--blanco)}
.mod-item .mini{font-size:.7rem;color:var(--azul-claro);font-variant-numeric:tabular-nums;white-space:nowrap}
.mod-item.sel .mini{color:var(--amarillo)}
.aula-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.6rem;border-bottom:1px solid var(--linea)}
.aula-head b{font:800 .8rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--azul-900)}
.aula-head span{font:800 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--azul-claro)}
.reproductor{position:relative;aspect-ratio:16/9;background:#0A0B0D;overflow:hidden}
.rep-sol{position:absolute;inset:0;margin:auto;width:min(36%,200px);height:auto;opacity:.6}
.rep-info{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.5rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;background:linear-gradient(transparent,rgba(10,11,13,.92))}
.rep-info h4{color:var(--blanco);font:800 1.1rem var(--sans);text-transform:uppercase}
.rep-info small{color:rgba(255,255,255,.7);font-size:.8rem;display:block;margin-top:.25rem}
.badge-vista{font:800 .66rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--azul-900);background:var(--amarillo);padding:.35rem .7rem}
.play-btn{width:72px;height:72px;border-radius:50%;background:var(--amarillo);color:var(--azul-900);display:grid;place-items:center;transition:transform .25s,background .25s;flex-shrink:0}
.play-btn:hover{transform:scale(1.07);background:var(--blanco)}
.play-btn svg{width:28px;height:28px}
.rep-barra{height:5px;background:rgba(10,42,87,.15)}
.rep-lleno{height:100%;background:var(--azul);width:0%}
.tabs{display:flex;border-bottom:1px solid var(--linea);overflow-x:auto}
.tab{padding:1rem 1.4rem;font:800 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;color:var(--gris)}
.tab.activo{border-color:var(--amarillo);color:var(--azul-900)}
.tab-panel{display:none;padding:1.6rem}
.tab-panel.activa{display:block}
.tab-panel .nota{color:var(--texto-2);max-width:62ch}
.material{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--linea)}
.material>div{display:flex;gap:.9rem;align-items:center}
.material svg{width:19px;height:19px;color:var(--azul-claro);flex-shrink:0}
.material b{font:700 .92rem var(--sans);display:block;color:var(--azul-900)}
.material small{color:var(--gris);font-size:.78rem}
.foro-msg{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--linea)}
.foro-msg .avatar{width:40px;height:40px;font-size:.75rem;margin:0;flex-shrink:0}
.foro-msg .quien{font:800 .8rem var(--sans);color:var(--azul-900)}
.foro-msg .cuando{font-size:.7rem;color:var(--gris);margin-left:.5rem}
.foro-msg p{font-size:.92rem;margin-top:.2rem;color:var(--texto-2)}
.foro-input{display:flex;gap:.8rem;margin-top:1.4rem}
.foro-input input{flex:1;border:1px solid var(--linea);background:var(--blanco);padding:.85rem 1rem;font:400 .95rem var(--sans);color:var(--texto)}
.foro-input input:focus{outline:none;border-color:var(--azul-claro)}
.barra-progreso{height:9px;background:var(--claro);border:1px solid var(--linea);margin-bottom:1.6rem}
.barra-progreso i{display:block;height:100%;background:var(--azul);width:0;transition:width .6s ease}
.progreso-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--linea);font-size:.9rem;color:var(--texto)}
.progreso-item .num{font:800 .82rem var(--sans);color:var(--azul-claro);width:2.2rem}
.progreso-item .check{width:24px;height:24px;border:2px solid var(--linea);display:grid;place-items:center;flex-shrink:0;transition:background .25s;color:var(--azul-900)}
.progreso-item .check.visto{background:var(--amarillo);border-color:var(--amarillo)}
.progreso-item .check svg{width:14px;height:14px}
.progreso-foot{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}
.progreso-foot b{color:var(--azul-900)}
.progreso-foot p{color:var(--texto-2)}
.sello{width:130px;height:130px;color:var(--azul-900);opacity:.15;transform:rotate(-8deg);transition:opacity .5s,transform .5s}
.sello.activo{opacity:1;color:var(--azul);transform:rotate(-4deg) scale(1.05)}
.sello text{font:900 10px var(--sans);letter-spacing:2px;fill:currentColor}

/* Contacto */
.contacto-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}
.campo{margin-bottom:1.3rem}
.campo label{display:block;font:800 .7rem var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.45rem;color:var(--azul-900)}
.campo input,.campo select,.campo textarea{width:100%;background:var(--blanco);border:none;border-bottom:2px solid rgba(10,42,87,.62);font:400 1rem var(--sans);color:var(--azul-900);padding:.6rem .1rem;border-radius:0;resize:vertical}
.campo textarea{min-height:120px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--azul-claro);outline-offset:2px;border-bottom-color:var(--azul-claro)}
.campo.invalido input,.campo.invalido select,.campo.invalido textarea{border-bottom-color:var(--error)}
.campo .error{display:block;font:700 .76rem var(--sans);color:var(--error);margin-top:.35rem;min-height:1em}
.faq-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem)}
.faq-lado p{color:var(--texto-2);margin-top:1rem;max-width:34ch}

/* CTA amarilla */
.cta-band{background:var(--amarillo);padding:clamp(4rem,8vw,6.5rem) 0;position:relative;overflow:hidden}
.cta-band .agua{right:-4%;bottom:-12%;color:rgba(10,42,87,.08)}
.cta-band .wrap{position:relative;z-index:2}
.cta-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.cta-band h2{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:1.4rem;color:var(--azul-900)}
.cta-band .sub{color:rgba(10,42,87,.85);max-width:46ch;margin-bottom:2.2rem}
.cta-band .contacto-card{border:2px solid var(--azul-900);padding:1.8rem;background:rgba(255,255,255,.35);color:var(--azul-900)}
.cta-band .contacto-card h3{font:800 .74rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--azul-900);margin-bottom:1rem}
.cta-band .contacto-card .mail{font:700 1.2rem var(--sans);color:var(--azul-900)}
.cta-band .contacto-card small{display:block;margin-top:1rem;color:rgba(10,42,87,.75);font-size:.8rem}
.btn-copiar{display:inline-flex;align-items:center;gap:.5rem;font:800 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--azul-900);padding:.55rem .9rem;color:var(--azul-900);transition:all .25s;background:transparent}
.btn-copiar:hover{background:var(--azul-900);color:var(--blanco)}
.btn-copiar svg{width:15px;height:15px}

/* Footer */
footer{background:var(--azul-900);color:var(--blanco);border-top:4px solid var(--amarillo);padding:3.5rem 0 2rem}
.foot-impulso{display:flex;gap:2.5rem;flex-wrap:wrap;align-items:center;padding-bottom:2.2rem;border-bottom:1px solid var(--linea-inv);margin-bottom:2.5rem}
.foot-impulso .imp{font:800 .82rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:.7rem}
.foot-impulso .imp::before{content:"";width:10px;height:10px;background:var(--amarillo)}
.foot-impulso .lbl{font:800 .64rem var(--sans);letter-spacing:.24em;color:rgba(255,255,255,.6);width:100%;margin-bottom:-1.2rem}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--linea-inv)}
.foot-grid .marca-txt small{color:rgba(255,255,255,.75)}
.foot-grid .marca-txt b{color:var(--blanco)}
.foot-lema{margin-top:1.2rem;font:600 1.05rem/1.6 var(--sans);max-width:26ch}
.foot-grid h4{font:800 .72rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--amarillo);margin-bottom:1.1rem}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.foot-grid ul a{font-size:.9rem;text-decoration:none;color:rgba(255,255,255,.8)}
.foot-grid ul a:hover{color:var(--amarillo)}
.redes{display:flex;gap:.8rem;flex-wrap:wrap}
.redes a{width:42px;height:42px;border:2px solid var(--linea-inv);border-radius:50%;display:grid;place-items:center;transition:all .25s;color:var(--blanco)}
.redes a:hover{background:var(--amarillo);border-color:var(--amarillo);color:var(--azul-900)}
.redes svg{width:17px;height:17px}
.foot-datos{margin-top:1rem;font-size:.84rem;color:rgba(255,255,255,.7)}
.aviso{margin-top:1.6rem;font-size:.8rem;color:rgba(255,255,255,.6);max-width:76ch}
.foot-baja{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.8rem;font:700 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* Modales */
.modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1.2rem;background:rgba(10,42,87,.55);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.modal.abierto{opacity:1;visibility:visible}
.modal-card{background:var(--blanco);width:min(600px,100%);max-height:90vh;overflow-y:auto;border:1px solid var(--linea);border-top:6px solid var(--amarillo);padding:2.4rem;transform:translateY(18px);transition:transform .35s ease;color:var(--texto)}
.modal.abierto .modal-card{transform:none}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.4rem}
.modal-head h3{font-size:1.4rem}
.modal-head button{padding:.3rem;color:var(--gris)}
.modal-head svg{width:22px;height:22px}
.modal-sub{color:var(--texto-2);font-size:.94rem;margin-bottom:1.8rem}
.prog-tag{color:var(--azul-claro);margin-bottom:1rem}
.prog-objetivo{font-size:.98rem;color:var(--texto);margin-bottom:1.4rem}
.prog-lista{list-style:none;margin-bottom:1.4rem}
.prog-item{display:grid;grid-template-columns:2.8rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--linea)}
.prog-item b{font:900 1.15rem var(--sans);color:var(--azul-claro)}
.prog-item .t{font:800 .95rem var(--sans);text-transform:uppercase;color:var(--azul-900)}
.prog-item p{font-size:.88rem;color:var(--texto-2);margin-top:.15rem}
.prog-biblio{background:var(--papel);padding:1.4rem;border-left:4px solid var(--amarillo)}
.prog-biblio h4{font:800 .7rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--azul-900);margin-bottom:.7rem}
.prog-biblio li{font:500 .95rem var(--sans);padding:.3rem 0;list-style:none;color:var(--texto-2)}
.prog-biblio li small{font-size:.8rem;color:var(--gris)}
.modal-card .btn{width:100%;justify-content:center;margin-top:1.6rem}
.acepto{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;margin:1.6rem 0;color:var(--texto-2)}
.acepto input{accent-color:var(--azul);width:17px;height:17px;margin-top:.25rem;flex-shrink:0}

/* Toast */
.toast-host{position:fixed;right:1.2rem;bottom:1.2rem;z-index:400;display:flex;flex-direction:column;gap:.7rem}
.toast{display:flex;gap:.9rem;align-items:center;background:var(--azul-900);color:var(--blanco);border-left:5px solid var(--amarillo);padding:1rem 1.4rem;max-width:360px;animation:entraToast .4s cubic-bezier(.2,.9,.3,1.2)}
.toast.sale{animation:saleToast .35s forwards}
.toast svg{width:22px;height:22px;color:var(--amarillo);flex-shrink:0}
.toast b{display:block;font:800 .92rem var(--sans)}
.toast span{font-size:.84rem;color:rgba(255,255,255,.8)}
@keyframes entraToast{from{opacity:0;transform:translateY(16px)}}
@keyframes saleToast{to{opacity:0;transform:translateY(12px)}}

/* Responsive */
@media (max-width:1060px){
  .nav-links,.nav-acciones{display:none}
  .burger{display:block}
}
@media (max-width:960px){
  .cuerpo-2col,.faq-wrap,.contacto-grid,.cta-grid,.campus-portada{grid-template-columns:1fr}
  .ficha{position:static}
  .banderas,.fichas-curso{grid-template-columns:1fr 1fr}
  .grilla-docentes{grid-template-columns:1fr 1fr}
  .grid-act{grid-template-columns:1fr}
  .evento{grid-template-columns:90px 1fr}
  .evento-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
  .aula-grid{grid-template-columns:1fr}
  .aula-side{border-right:0;border-bottom:1px solid var(--linea)}
  .autoridades .fila{grid-template-columns:1fr;gap:.2rem}
}
@media (max-width:600px){
  .hero-datos,.stats{grid-template-columns:1fr 1fr}
  .hero-datos div:nth-child(3),.stats div:nth-child(3){border-left:none;padding-left:0}
  .stats div{border-top:1px solid var(--linea)}
  .stats div:nth-child(-n+2){border-top:none}
  .banderas,.fichas-curso,.grilla-docentes{grid-template-columns:1fr}
  .acordeon-btn{grid-template-columns:2.4rem 1fr 2rem}
  .acordeon-btn .tag{display:none}
  .foot-grid{grid-template-columns:1fr}
  .topbar span:last-child{display:none}
  .libro{grid-template-columns:2.5rem 1fr;grid-auto-rows:auto}
  .libro .meta,.libro .btn-mini{grid-column:2}
  .libro .btn-mini{justify-self:start}
  .franja-redes .wrap{gap:1.2rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mq-track,.proximo-chip .punto{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}


/* ============================================================
   EJNK v4.2 — prepublicación sobre la base visual v3.2
   Se conserva el sistema visual original y se agregan ajustes
   de prepublicación, accesibilidad y funcionamiento.
   ============================================================ */
.marca-sin-logo{min-width:225px}
.marca-sin-logo .marca-txt small{font-size:.78rem}
.marca-sin-logo .marca-txt b{font-size:1rem}
.nav-menu-movil[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.nav-menu-movil.abierto{visibility:visible;pointer-events:auto}
.form-status{min-height:1.25rem;margin-top:.8rem;font:700 .82rem var(--sans)}
.form-status.ok{color:#176A49}
.form-status.error{color:var(--error)}
.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.privacidad{margin:1rem 0 1.3rem;padding:1rem 1.1rem;background:var(--papel);border-left:4px solid var(--amarillo);font-size:.8rem;color:var(--texto-2)}
.pendiente-card{border-style:dashed;background:linear-gradient(135deg,var(--blanco),var(--papel))}
.pendiente-card .tipo{color:var(--gris)}
.curso-coord{font:700 .82rem var(--sans);color:var(--azul-claro);margin-top:.7rem}
.curso-nota{font-size:.82rem;color:var(--gris);margin-top:.55rem}
.curso-card-v41{display:flex;flex-direction:column;min-height:245px}
.curso-card-v41 .act-cuerpo{flex:1}
.curso-card-v41 .act-pie{margin-top:auto}
.quote-cfk{background:var(--papel);border-block:1px solid var(--linea)}
.quote-cfk .cita-grande{margin-top:0;max-width:920px}
.quote-cfk .cita-grande blockquote{font-size:clamp(1.15rem,2.3vw,1.6rem)}
.objetivos-cinco{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.objetivo-cinco{border:1px solid var(--linea);background:var(--blanco);padding:1.5rem 1rem;text-align:center;font:900 .9rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--azul-900);position:relative;overflow:hidden}
.objetivo-cinco::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--amarillo)}
.publicacion-card{padding:1.6rem;min-height:190px}
.publicacion-card .tipo{font:800 .67rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--azul-claro)}
.publicacion-card h3{font:800 1.1rem/1.35 var(--sans);color:var(--azul-900);margin:.6rem 0}
.publicacion-card p{font-size:.9rem;color:var(--texto-2)}
.coyuntura-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.coyuntura-card{padding:1.8rem;position:relative;overflow:hidden}
.coyuntura-card .num{font:900 2.4rem/1 var(--sans);color:var(--azul-claro)}
.coyuntura-card h3{font:800 1.2rem var(--sans);text-transform:uppercase;margin:.8rem 0 .6rem;color:var(--azul-900)}
.coyuntura-card p{font-size:.92rem;color:var(--texto-2)}
.alerta-editorial{margin-top:2rem;padding:1.1rem 1.3rem;background:var(--papel);border-left:4px solid var(--amarillo);font-size:.82rem;color:var(--texto-2)}
.archivo-cursos{columns:2;column-gap:2rem;list-style:none;margin:0;padding:0}
.archivo-cursos li{break-inside:avoid;padding:.72rem 0;border-bottom:1px solid var(--linea);font-size:.89rem;color:var(--texto-2)}
.archivo-cursos li::before{content:"";display:inline-block;width:7px;height:7px;background:var(--amarillo);margin-right:.7rem;vertical-align:.08em}
.campus-real{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.campus-real .login-card{position:sticky;top:110px}
.foot-impulso.v41 .lbl{margin-bottom:-1.2rem}
body.modal-open{overflow:hidden}

/* V4.2 — limpieza de prepublicación */
.tl-grid-v42{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.tl-card-v42{position:relative;background:var(--blanco);border:1px solid var(--linea);padding:1.5rem;min-height:190px;overflow:hidden}
.tl-card-v42::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--amarillo)}
.tl-card-v42 .anio{display:block;font:900 1.15rem/1.15 var(--sans);color:var(--azul);overflow-wrap:anywhere}
.tl-card-v42 .punto{display:block;width:11px;height:11px;border-radius:50%;background:var(--amarillo);margin:1rem 0}
.tl-card-v42 p{margin:0;color:var(--texto-2);font-size:.9rem}
.tl-card-destacada{grid-column:span 3;background:var(--papel);min-height:auto}
.tl-card-destacada .anio{font-size:1.6rem}

.acciones-grid-v42{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.accion-compacta-v42{position:relative;padding:1.65rem;min-height:250px;display:flex;flex-direction:column;overflow:hidden}
.accion-compacta-v42::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--amarillo)}
.accion-compacta-v42::after{content:"EJNK";position:absolute;right:-.05em;bottom:-.1em;font:900 4.8rem/.8 var(--sans);color:rgba(53,99,201,.06);pointer-events:none}
.accion-num-v42{font:900 2rem/1 var(--sans);color:var(--azul-claro);position:relative;z-index:1}
.accion-compacta-v42 .tipo{font:800 .66rem var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--azul-claro);margin-top:1rem;position:relative;z-index:1}
.accion-compacta-v42 h3{font:800 1.1rem/1.35 var(--sans);text-transform:uppercase;color:var(--azul-900);margin:.55rem 0 .65rem;position:relative;z-index:1}
.accion-compacta-v42 p{font-size:.9rem;color:var(--texto-2);margin:0;position:relative;z-index:1}
.accion-pie-v42{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--linea);font:800 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gris);position:relative;z-index:1}
@media(max-width:960px){
  .objetivos-cinco{grid-template-columns:repeat(2,1fr)}
  .tl-grid-v42,.acciones-grid-v42{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-card-destacada{grid-column:span 2}
  .coyuntura-grid,.campus-real{grid-template-columns:1fr}
  .campus-real .login-card{position:static}
}
@media(max-width:600px){
  .objetivos-cinco{grid-template-columns:1fr}
  .tl-grid-v42,.acciones-grid-v42{grid-template-columns:1fr}
  .tl-card-destacada{grid-column:span 1}
  .archivo-cursos{columns:1}
}

/* ============================================================
   EJNK V4.3 — peinada estética + refactor
   ============================================================ */
:root{
  --azul-profundo:#0A2A57;
  --azul-medio:#0B4A9A;
  --crema:#FFF7E5;
  --crema-2:#F7EBCB;
  --negro:#0A0B0D;
  --youtube:#CC0000; /* V4.4: rojo oscurecido para contraste AA con texto blanco */
}

/* Navegación */
.nav{box-shadow:0 8px 24px rgba(10,42,87,.055)}
.nav-youtube{border-color:rgba(10,42,87,.2);background:#fff;color:var(--azul-900)}
.nav-youtube:hover{background:var(--negro);border-color:var(--negro);color:var(--blanco)}
.mobile-youtube{color:var(--azul)!important;border-left:4px solid var(--amarillo);padding-left:.8rem!important}

/* Hero con monograma independiente: evita que EJNK quede tapado por el lema */
.hero{background:linear-gradient(112deg,var(--azul) 0%,#0E57B5 100%);padding:clamp(3.7rem,7vw,6rem) 0 clamp(2.6rem,5vw,4rem)}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr);column-gap:clamp(2rem,5vw,5rem);align-items:start}
.hero-copy{position:relative;z-index:3;max-width:760px}
.hero-monogram{position:relative;z-index:1;justify-self:end;align-self:start;margin-top:-.18em;font:900 clamp(7rem,14vw,14.2rem)/.78 var(--sans);letter-spacing:-.065em;color:rgba(255,255,255,.16);white-space:nowrap;user-select:none;pointer-events:none}
.hero h1{max-width:17ch;font-size:clamp(2.1rem,4.2vw,3.65rem)}
.hero .entradilla{max-width:55ch}
.hero-datos{grid-column:1/-1}
.hero-datos dt{font-size:1.08rem}
.hero-datos dd{font-size:.88rem}

/* Redes: YouTube gana jerarquía sin romper la paleta institucional */
.franja-redes{padding-block:1rem}
.franja-redes a{border-radius:999px;padding:.35rem .8rem}
.franja-redes .red-youtube{background:var(--negro);color:var(--blanco);padding-right:1rem}
.franja-redes .red-youtube:hover{background:var(--youtube);color:var(--blanco)}
.franja-redes .red-youtube .ico{border-color:var(--amarillo);color:var(--amarillo)}

/* Encabezados de sección: número con presencia y mejor ritmo */
.sec-head{position:relative}
.sec-num{flex:0 0 auto}
.sec-titulo{letter-spacing:-.015em}

/* Cursos: codificación estable #C001, #C002... */
.curso-code-home{font-size:.82rem!important;letter-spacing:.12em!important;color:var(--azul)!important}
.curso-card-v43{display:flex;flex-direction:column;min-height:330px;overflow:hidden;border-top:5px solid var(--amarillo);box-shadow:0 10px 30px rgba(10,42,87,.055)}
.curso-card-v43:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,42,87,.12)}
.curso-card-top-v43{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.45rem .4rem}
.curso-code-v43{font:900 .82rem var(--sans);letter-spacing:.13em;color:var(--azul)}
.curso-status-v43{font:800 .64rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gris);border:1px solid var(--linea);padding:.3rem .55rem}
.curso-card-body-v43{padding:1rem 1.45rem 1.5rem;display:flex;flex-direction:column;flex:1}
.curso-card-body-v43 h3{font:800 1.12rem/1.35 var(--sans);text-transform:uppercase;color:var(--azul-900);margin:0 0 .75rem}
.curso-card-body-v43 .curso-coord{font-size:.9rem;color:var(--azul-claro);font-weight:700;margin:0 0 .75rem}
.curso-card-body-v43 .curso-nota{font-size:.86rem;color:var(--texto-2);margin:0 0 1.25rem}
.curso-card-body-v43 .btn-mini{margin-top:auto;align-self:flex-start}

/* Inicio: secciones diferenciadas */
.sec-acciones-home{background:linear-gradient(145deg,var(--azul-profundo),var(--azul-medio));color:var(--blanco);border-top:0}
.sec-acciones-home .sec-num{color:var(--amarillo)}
.sec-acciones-home .accion-compacta-v42{box-shadow:none;border-color:rgba(255,255,255,.1)}
.sec-acciones-home .accion-compacta-v42:hover{border-color:var(--amarillo);box-shadow:0 16px 38px rgba(0,0,0,.16)}
.sec-campus-home{background:linear-gradient(135deg,var(--crema),#FFFDF7);border-top:1px solid rgba(242,176,30,.28)}
.sec-campus-home .campus-real{align-items:stretch}
.sec-campus-home .login-card{border-top-color:var(--azul);box-shadow:0 18px 40px rgba(10,42,87,.10)}
.sec-campus-home .manifiesto{color:var(--azul-900)}

/* YouTube: bloque editorial propio para separar Qué hacemos y Campus */
.youtube-home{position:relative;overflow:hidden;background:var(--negro);color:var(--blanco);padding:clamp(4.2rem,8vw,7rem) 0;border-top:4px solid var(--amarillo);border-bottom:4px solid var(--amarillo)}
.youtube-grid{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr) minmax(220px,.55fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.youtube-mark{width:92px;height:68px;border-radius:18px;background:var(--youtube);display:grid;place-items:center;font:900 2.1rem/1 var(--sans);color:var(--blanco);box-shadow:0 18px 40px rgba(255,0,51,.18)}
.youtube-copy{position:relative;z-index:2;max-width:760px}
.youtube-copy .kicker{color:var(--amarillo);margin-bottom:1rem}
.youtube-copy h2{color:var(--blanco);font-size:clamp(2rem,4vw,3.2rem);max-width:18ch}
.youtube-accent{color:var(--amarillo)}
.youtube-copy p{max-width:65ch;color:rgba(255,255,255,.78);margin:1.25rem 0 1.8rem}
.btn-youtube{background:var(--youtube);color:var(--blanco)}
.btn-youtube:hover{background:var(--blanco);color:var(--negro)}
.youtube-signature{font:900 clamp(4rem,8vw,8rem)/.8 var(--sans);letter-spacing:-.05em;color:rgba(255,255,255,.07);text-align:right;user-select:none}
.footer-youtube{display:inline-flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid var(--linea-inv);padding:.62rem .82rem;margin-bottom:1rem;font-weight:800!important;color:var(--blanco)!important}
.footer-youtube:hover{background:var(--youtube)!important;border-color:var(--youtube)!important;color:var(--blanco)!important}

/* Peinada general */
.quote-cfk{background:linear-gradient(180deg,#fff,var(--papel))}
.quote-cfk .cita-grande{max-width:900px}
.card{box-shadow:0 7px 22px rgba(10,42,87,.035)}
.btn{box-shadow:0 0 0 rgba(0,0,0,0)}
.btn:hover{box-shadow:0 10px 22px rgba(10,42,87,.12)}
.page-head{background:linear-gradient(112deg,var(--azul),#0E57B5)}
.page-head .agua{opacity:.8}

@media(max-width:1060px){
  .hero-layout{grid-template-columns:minmax(0,1fr) minmax(220px,.6fr)}
  .hero-monogram{font-size:clamp(6rem,15vw,10rem)}
  .youtube-grid{grid-template-columns:90px 1fr}
  .youtube-signature{display:none}
}
@media(max-width:760px){
  .hero-layout{grid-template-columns:1fr}
  .hero-monogram{grid-row:1;position:absolute;right:1.2rem;top:1.4rem;font-size:clamp(4.8rem,24vw,7rem);color:rgba(255,255,255,.09)}
  .hero-copy{grid-row:1;z-index:2;padding-top:1rem}
  .hero h1{font-size:clamp(1.9rem,9vw,3rem);max-width:15ch}
  .youtube-grid{grid-template-columns:1fr}
  .youtube-mark{width:72px;height:54px;border-radius:14px;font-size:1.6rem}
  .youtube-copy h2{max-width:none}
}
@media(max-width:600px){
  .sec-num{font-size:1rem;min-width:2.45rem}
  .sec-head{gap:.9rem}
  .curso-card-v43{min-height:auto}
  .franja-redes .red-youtube{width:100%;justify-content:center}
}

/* ============================================================
   EJNK V4.4 — correcciones de la auditoría 26/09/2026
   ============================================================ */
/* Títulos que reciben foco al cambiar de sección: no son interactivos, sin anillo de foco. */
h1[tabindex="-1"]:focus{outline:none}
/* Tarjetas de curso en Inicio: artículo con botón que cubre la tarjeta (sin encabezados dentro de <button>). */
.card-curso{cursor:default}
.card-curso-accion{position:absolute;inset:0;width:100%;height:100%;z-index:1;cursor:pointer;background:transparent}
.card-curso-accion .flecha{position:absolute;right:1.1rem;top:1.4rem;color:var(--gris);transition:transform .25s,color .25s}
.card-curso:hover .card-curso-accion .flecha{transform:translateX(4px);color:var(--azul)}
.card-curso-accion:focus-visible{outline-offset:-3px}
/* Estado de los formularios con copia del texto como alternativa. */
.form-status p{margin-bottom:.7rem}
.form-status .btn-copiar{margin-bottom:.4rem}
/* Logo oficial (PNG extraído del campus; reemplazar por SVG cuando se disponga). */
.marca-logo{padding-block:.35rem}
.marca-logo img{display:block;height:50px;width:auto}
footer .marca-logo img{height:58px}

/* Navegación de escritorio: sin cortes de línea en los enlaces. */
.nav-links a,.nav-acciones .btn-mini{white-space:nowrap}
/* Barra con logo oficial; sin el botón de YouTube (tiene bloque propio) recupera aire. */
.nav .wrap{gap:1.2rem}
.nav-links{gap:1.25rem}
.nav-links a{letter-spacing:.07em}
.nav .marca-logo img{height:48px}
@media(max-width:600px){.nav .marca-logo img{height:40px}}
/* Por debajo de 1200 px se usa el menú desplegable. */
@media(max-width:1200px){.nav-links,.nav-acciones{display:none}.burger{display:block}}

/* ============================================================
   EJNK V4.4 — paquete estético-funcional (marca, portada, legibilidad, CTA)
   ============================================================ */
/* 1. Isotipo JE oficial como marca de agua: máscara teñible con currentColor. */
.isotipo{display:block;aspect-ratio:546/480;background-color:currentColor;
  -webkit-mask:url(../img/marca/isotipo-je-mascara.png) no-repeat center/contain;
          mask:url(../img/marca/isotipo-je-mascara.png) no-repeat center/contain}
.agua.isotipo{font:inherit;width:clamp(170px,26vw,380px);height:auto}
.page-head .agua.isotipo{bottom:-14%}
.hero-monogram.isotipo{width:clamp(200px,22vw,320px);margin-top:0;color:rgba(255,255,255,.14)}
/* Isotipo de fondo: completo y centrado en la columna libre de la derecha (antes quedaba cortado en la esquina). */
.youtube-isotipo{justify-self:center;width:min(100%,280px);color:rgba(255,255,255,.08);pointer-events:none}
@media(max-width:1060px){.youtube-isotipo{display:none}}
.accion-compacta-v42::after{content:"";width:5.6rem;aspect-ratio:546/480;right:-.7rem;bottom:-.7rem;font:inherit;background-color:rgba(53,99,201,.08);
  -webkit-mask:url(../img/marca/isotipo-je-mascara.png) no-repeat center/contain;
          mask:url(../img/marca/isotipo-je-mascara.png) no-repeat center/contain}
/* El cuadrado amarillo del isotipo como único motivo gráfico. */
.tl-card-v42 .punto{border-radius:0}
.card-curso .meta-curso span{display:inline-flex;align-items:center;gap:.45rem}
.card-curso .meta-curso span::before{content:"";width:7px;height:7px;background:var(--amarillo)}

/* 2. Portada: la cita acompaña a "La Escuela". */
.cita-lateral{margin:0;padding:1.6rem 1.7rem;background:var(--papel);border-left:5px solid var(--amarillo)}
.cita-lateral blockquote{font:italic 500 1.02rem/1.65 var(--sans);color:var(--azul-900)}
.cita-lateral figcaption{margin-top:1rem;font:800 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}

/* 3. Legibilidad: mayúsculas sólo en titulares y botones; títulos de tarjeta en caja normal. */
.card-curso h3,.curso-card-body-v43 h3,.accion-compacta-v42 h3,.bandera h3,.coyuntura-card h3{
  text-transform:none;letter-spacing:0;font-weight:700;font-size:1.14rem;line-height:1.32}
.card-curso .curso-code-home,.curso-code-v43{font-size:.68rem!important;font-weight:700;letter-spacing:.14em!important;color:var(--gris)!important}

/* 4. Llamados a la acción. */
.modal-campus{margin:-1rem 0 1.6rem;font-size:.88rem;color:var(--texto-2)}
.modal-campus a{color:var(--azul-claro);font-weight:700}
@media(max-width:760px){.hero-monogram.isotipo{width:clamp(96px,28vw,150px);color:rgba(255,255,255,.1)}}
/* Con títulos en caja normal las tarjetas de curso necesitan menos alto. */
.curso-card-v43{min-height:260px}

/* ============================================================
   EJNK V4.5 — contenido cotejado: agenda, plan 2026, áreas, trayectoria
   ============================================================ */
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Plan de Formación 2026 */
.grid-cursos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.curso-card-v43{min-height:220px}
/* V4.6: sin etiqueta "Curso nuevo"; sólo se marca la formación doctrinaria. La altura fija alinea los títulos con o sin etiqueta. */
.curso-card-top-v43{min-height:3.15rem}
.curso-status-v43.tipo-doctrinario{background:var(--azul-900);border-color:var(--azul-900);color:var(--blanco)}
.filtros .chip{cursor:pointer}

/* Agenda */
.evento h3{text-transform:none;font-weight:700;font-size:1.12rem;line-height:1.35}
.evento-cuerpo{min-width:0}
.evento .fecha-caja .sem{text-transform:capitalize}
.agenda-vacia{padding:1.4rem 1.6rem;background:var(--papel);border-left:4px solid var(--amarillo);color:var(--texto-2)}

/* Seminarios y ciclos */
.seminarios-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.seminario-lugar{margin-top:.9rem!important;font:700 .74rem var(--sans)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--azul-claro)!important}
.archivo-dialogos{margin-top:2rem;background:var(--blanco);border:1px solid var(--linea);padding:1.1rem 1.4rem}
.archivo-dialogos summary{cursor:pointer;font:800 .92rem var(--sans);color:var(--azul-900)}
.archivo-dialogos[open] summary{margin-bottom:1rem}

/* Líneas de acción con realizaciones */
.accion-hecho{margin-top:.8rem!important;padding-top:.7rem;border-top:1px dashed var(--linea);font-weight:600;font-size:.86rem!important;color:var(--azul-900)!important}
.acciones-grid-v42>:last-child:nth-child(3n+1){grid-column:1/-1}

/* La Escuela: lema fundacional, áreas y trayectoria */
.lema-fundacional{margin-top:2.2rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.4rem;font:900 clamp(1rem,2.2vw,1.3rem) var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--azul-900)}
.lema-fundacional span{display:inline-flex;align-items:center;gap:.6rem}
.lema-fundacional span::before{content:"";width:9px;height:9px;background:var(--amarillo)}
.areas{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0}
.areas li{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;background:var(--papel);border:1px solid var(--linea);font:700 .86rem var(--sans);color:var(--azul-900)}
.areas li::before{content:"";width:7px;height:7px;background:var(--amarillo)}
ol.tl-grid-v42{list-style:none;padding:0;margin:0}
.tl-card-v42 .anio{text-transform:uppercase}

@media(max-width:960px){
  .grid-cursos,.seminarios-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acciones-grid-v42>:last-child:nth-child(3n+1){grid-column:auto}
  .acciones-grid-v42>:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:600px){
  .grid-cursos,.seminarios-grid{grid-template-columns:1fr}
  .acciones-grid-v42>:last-child:nth-child(odd){grid-column:auto}
  .evento{grid-template-columns:72px 1fr;gap:1rem;padding:1.2rem;align-items:start}
  .fecha-caja{min-height:84px}
  .fecha-caja .dia{font-size:1.7rem}
}
.badge.fin{color:var(--texto-2)}
/* V4.5 — voz de la Escuela */
.porque-nestor{margin-top:3rem;padding:1.8rem 2rem;background:var(--azul);color:var(--blanco);border-left:6px solid var(--amarillo)}
.porque-nestor h3{font:900 1.05rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--amarillo);margin-bottom:.7rem}
.porque-nestor p{max-width:75ch;color:rgba(255,255,255,.92);font-size:1.02rem}
.lema-bajada{margin:1.2rem auto 0;max-width:62ch;text-align:center;color:var(--texto-2)}

/* ============================================================
   EJNK V4.6 — observaciones de la Escuela (28/09/2026)
   Fotos en transición, colores de secciones, tres ejes, próximamente
   ============================================================ */
/* Fotos en transición (hero y cabecera de La Escuela). Imágenes provistas por la Escuela. */
.hero-fotos,.page-head-fotos{background:var(--azul)}
.slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.slides .slide{position:absolute;inset:0;background-repeat:no-repeat;background-position:right center;background-size:auto 100%;opacity:0;filter:grayscale(1) contrast(1.05);animation:fotoCiclo4 28s infinite}
/* Orden: Néstor, Cristina, Evita, Perón (7 s cada una). */
.slides .slide-nestor{background-image:url(../img/fotos/nestor.webp);animation-delay:0s}
.slides .slide-cfk{background-image:url(../img/fotos/cfk.webp?v=20260928d);animation-delay:-21s}
.slides .slide-eva{background-image:url(../img/fotos/eva.webp);animation-delay:-14s}
.slides .slide-peron{background-image:url(../img/fotos/peron.webp);animation-delay:-7s}
/* Filtro azul: sólido a la izquierda (texto) y más transparente sobre la foto. */
.slides::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--azul) 0%,var(--azul) 34%,rgba(11,74,154,.78) 52%,rgba(11,74,154,.42) 72%,rgba(11,74,154,.5) 100%)}
@keyframes fotoCiclo4{0%{opacity:1}21%{opacity:1}27%{opacity:0}94%{opacity:0}100%{opacity:1}}
/* La Escuela: dos fotos con filtro más oscuro. */
.slides-2 .slide{animation-name:fotoCiclo2;animation-duration:16s}
.slides-2 .slide-peron-plaza{background-image:url(../img/fotos/peron.webp);animation-delay:0s}
.slides-2 .slide-eva{animation-delay:-8s}
.slides-2::after{background:linear-gradient(90deg,var(--azul-900) 0%,var(--azul-900) 30%,rgba(10,42,87,.82) 55%,rgba(10,42,87,.6) 100%)}
@keyframes fotoCiclo2{0%{opacity:1}42%{opacity:1}54%{opacity:0}88%{opacity:0}100%{opacity:1}}
.hero-fotos .wrap,.page-head-fotos .wrap{position:relative;z-index:2}
.hero-fotos .franja-vert,.page-head-fotos .franja-vert{z-index:3}
.hero-fotos .hero-layout{grid-template-columns:minmax(0,1fr)}
.hero-fotos .hero-copy{max-width:680px}
@media(prefers-reduced-motion:reduce){
  .slides .slide{animation:none!important;opacity:0}
  .slides .slide:first-child{opacity:1}
}
@media(max-width:760px){
  .slides .slide{background-size:cover;background-position:60% center}
  .slides::after{background:rgba(11,74,154,.84)}
  .slides-2::after{background:rgba(10,42,87,.86)}
}

/* Hero: texto blanco en negativo sobre la banda amarilla (pedido de la Escuela). */
.hero .banda{color:var(--blanco)}

/* Cabeceras de página: textura azul de las piezas 2026. */
.page-head{background:var(--azul) url(../img/fotos/textura.webp) center/cover}
.page-head .agua{display:none}
.page-head-fotos{background:var(--azul-900)}

/* YouTube: de negro a azul oscuro. */
.youtube-home{background:var(--azul-900)}
.youtube-home :focus-visible{outline-color:var(--amarillo)}

/* Cierres (CTA): de amarillo a azul institucional. */
.cta-band{background:var(--azul)}
/* Isotipo de fondo de la banda final: completo y centrado en el margen derecho, sólo donde hay lugar para él. */
.cta-band .agua.isotipo{top:50%;bottom:auto;right:auto;left:calc(50% + 590px + (50% - 590px - 260px) / 2);width:260px;transform:translateY(-50%);color:rgba(255,255,255,.08)}
@media(max-width:1640px){.cta-band .agua.isotipo{display:none}}
.cta-band h2{color:var(--blanco)}
.cta-band .sub{color:rgba(255,255,255,.88)}
.cta-band .contacto-card{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.07);color:var(--blanco)}
.cta-band .contacto-card h3{color:var(--amarillo)}
.cta-band .contacto-card .mail{color:var(--blanco)}
.cta-band .contacto-card small,.cta-band .contacto-card-texto{color:rgba(255,255,255,.8)}
.cta-band .contacto-card-texto{margin-bottom:1.3rem}
.cta-band .btn-copiar{border-color:var(--blanco);color:var(--blanco)}
.cta-band .btn-copiar:hover{background:var(--blanco);color:var(--azul-900)}
.cta-band :focus-visible{outline-color:var(--amarillo)}

/* Tres ejes de trabajo. */
.ejes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.eje-card{position:relative;display:flex;flex-direction:column;min-height:380px;padding:2rem 1.8rem 1.8rem;background:var(--azul) url(../img/fotos/textura.webp) center/cover;border-top:6px solid var(--amarillo);color:var(--blanco);box-shadow:0 16px 36px rgba(10,42,87,.14);transition:transform .25s,box-shadow .25s}
.eje-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(10,42,87,.22)}
.eje-num{font:900 2.8rem/1 var(--sans);color:var(--amarillo)}
.eje-card h3{font:900 1.35rem/1.2 var(--sans);text-transform:uppercase;color:var(--blanco);margin:.9rem 0 .8rem}
.eje-texto{font-size:.95rem;color:rgba(255,255,255,.9)}
.eje-actividad{margin-top:1.3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.28);font-size:.92rem;font-weight:600;color:var(--blanco)}
.eje-actividad span{display:block;margin-bottom:.35rem;font:800 .68rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.eje-link{margin-top:auto;padding-top:1.4rem;font:800 .78rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--blanco);text-decoration:none}
.eje-link::after{content:"";position:absolute;inset:0}
.eje-link:hover{color:var(--amarillo)}
.eje-link:focus-visible{outline:none}
.eje-card:focus-within{outline:3px solid var(--amarillo);outline-offset:3px}

/* Agenda: navegación entre ejes y anclas. */
.eje-seccion{scroll-margin-top:96px}
.eje-seccion:focus{outline:none}
.ejes-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:2rem;padding:1rem 1.2rem;background:var(--papel);border-left:4px solid var(--amarillo)}
.ejes-nav span{font:800 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.ejes-nav a{font:800 .82rem var(--sans);color:var(--azul);text-decoration:none;border-bottom:2px solid var(--amarillo)}
.ejes-nav a:hover{color:var(--azul-900)}
.territorio-hitos{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.6rem}
.territorio-hitos li{padding:.8rem 1rem;background:var(--blanco);border:1px solid var(--linea);color:var(--texto-2);font-size:.92rem}
.territorio-hitos b{display:inline-block;min-width:3.4rem;color:var(--azul);font-weight:900}

/* Cursos próximamente: sin inscripción. */
.curso-proximo{background:var(--papel);box-shadow:none;border-top-color:var(--linea)}
.curso-proximo .curso-code-v43{color:var(--gris)!important}
.curso-proximamente{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:2px dashed rgba(10,42,87,.35);font:800 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--azul-900)}
.curso-proximamente::before{content:"";width:8px;height:8px;background:var(--amarillo)}
.curso-proximo:hover{transform:none}

@media(max-width:960px){.ejes-grid{grid-template-columns:1fr}.eje-card{min-height:0}}
