/* Galería pedagógica de Estudiantes SME */
.students-gallery { --sme-navy:#0c2e4d; --sme-yellow:#ffdf57; }
.students-intro { max-width:850px; margin-inline:auto; text-align:center; }
.students-eyebrow { color:#0c2e4d; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.students-gallery h2,.alumni-archive h2 { color:#0c2e4d; font-weight:700; }
.dimension-filters,.alumni-decade-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }
.dimension-filter,.decade-filter { border:1px solid #d7e2eb; border-radius:999px; background:#fff; color:#0c2e4d; padding:.6rem 1rem; font:inherit; font-weight:600; transition:background-color .18s ease,color .18s ease,transform .18s ease; }
.dimension-filter:hover,.decade-filter:hover { transform:translateY(-2px); }
.dimension-filter[aria-pressed="true"],.decade-filter[aria-pressed="true"] { background:#0c2e4d; color:#fff; border-color:#0c2e4d; }
.dimension-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.dimension-card { --dimension:#55c9f4; --dimension-soft:#e8f8ff; overflow:hidden; border:1px solid #e2e9ee; border-top:5px solid var(--dimension); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(12,46,77,.07); transition:transform .2s ease,box-shadow .2s ease; }
.dimension-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(12,46,77,.12); }
.dimension-card[hidden] { display:none !important; }
.dimension-card-head { display:flex; align-items:center; gap:1rem; padding:1.25rem 1.25rem .8rem; }
.dimension-icon { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border-radius:14px; background:var(--dimension-soft); color:var(--dimension); font-size:1.4rem; }
.dimension-card h3 { margin:0; color:#0c2e4d; font-size:1.15rem; font-weight:700; }
.dimension-card .dimension-short { margin:.2rem 0 0; color:#596b79; font-size:.88rem; }
.dimension-card-body { padding:0 1.25rem 1.3rem; }
.dimension-card-body p { color:#405466; line-height:1.65; }
.dimension-count { display:inline-block; border-radius:999px; background:var(--dimension-soft); color:#173d5a; padding:.3rem .65rem; font-size:.78rem; font-weight:700; }
.dimension-empty { display:flex; min-height:145px; flex-direction:column; align-items:center; justify-content:center; gap:.45rem; border:1px dashed color-mix(in srgb,var(--dimension) 55%,white); border-radius:12px; background:linear-gradient(135deg,var(--dimension-soft),#fff); color:#526575; text-align:center; padding:1rem; }
.dimension-empty i { color:var(--dimension); font-size:1.7rem; }
.dimension-empty strong { color:#0c2e4d; }
.students-gallery-note { max-width:850px; margin:1.5rem auto 0; color:#5c6d79; font-size:.9rem; text-align:center; }
.alumni-archive .archive-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin:1.5rem 0; }
.alumni-search { width:min(100%,360px); padding:.75rem 1rem; border:1px solid #d5e0e8; border-radius:12px; background:#fff; color:#0c2e4d; }
.alumni-search:focus-visible { outline:3px solid #55c9f4; outline-offset:2px; }
.alumni-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.alumni-promotion { overflow:hidden; border:1px solid #e0e7ed; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(12,46,77,.07); }
.alumni-promotion[hidden] { display:none !important; }
.alumni-cover { display:grid; place-items:center; min-height:180px; padding:1.5rem; background:linear-gradient(145deg,#0c2e4d,#1a5279); color:#ffdf57; text-align:center; }
.alumni-cover i { font-size:2.2rem; margin-bottom:.4rem; }
.alumni-cover .alumni-year { font-size:1.7rem; font-weight:800; }
.alumni-promotion-body { padding:1.1rem 1.2rem 1.3rem; }
.alumni-promotion-body h3 { color:#0c2e4d; font-size:1.1rem; font-weight:700; }
.alumni-empty-state { max-width:760px; margin:1.5rem auto; padding:2.5rem 1.5rem; border:1px dashed #bdccd8; border-radius:18px; background:#f7fafc; text-align:center; }
.alumni-empty-state i { color:#0c2e4d; font-size:2.3rem; }
@media(max-width:991.98px) { .dimension-grid,.alumni-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575.98px) { .dimension-grid,.alumni-timeline { grid-template-columns:1fr; } .dimension-filters,.alumni-decade-filters { justify-content:flex-start; } .dimension-filter,.decade-filter { padding:.5rem .8rem; font-size:.88rem; } .alumni-cover { min-height:140px; } }
@media(prefers-reduced-motion:reduce) { .dimension-card,.dimension-filter,.decade-filter { transition:none; } .dimension-card:hover,.dimension-filter:hover,.decade-filter:hover { transform:none; } }

/* Rediseño visual de Estudiantes: mosaico editorial y prioridad móvil */
.students-gallery { padding-top:clamp(2rem,4vw,4rem)!important; }
.students-gallery .students-intro { max-width:900px; margin-bottom:2rem!important; }
.students-gallery .students-intro h2 { font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.035em; }
.students-gallery .students-intro .lead { max-width:780px; margin-inline:auto; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.7; color:#29465f; }
.students-gallery .dimension-filters { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding:.3rem .1rem .8rem; margin-bottom:1.3rem!important; scrollbar-width:thin; }
.students-gallery .dimension-filter { flex:0 0 auto; box-shadow:0 2px 8px #0c2e4d0a; }
.students-gallery .dimension-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.students-gallery .dimension-card { position:relative; display:flex; flex-direction:column; border:0; border-top:3px solid var(--dimension); border-radius:18px; background:linear-gradient(145deg,var(--dimension-soft) 0%,#fff 90%); box-shadow:0 4px 16px #0c2e4d0c; }
.students-gallery .dimension-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #0c2e4d18; }
.students-gallery .dimension-card-head { padding:1.15rem 1.2rem .6rem; }
.students-gallery .dimension-icon { border-radius:50%; }
.students-gallery .dimension-card-body { display:flex; flex:1; flex-direction:column; padding:0 1.2rem 1.2rem; }
.students-gallery .dimension-card-body>p { margin:.35rem 0 .9rem; font-size:.96rem; line-height:1.65; }
.students-gallery .dimension-count { align-self:flex-start; margin-top:auto; background:color-mix(in srgb,var(--dimension) 12%,white); color:#173d5a; }
.students-gallery .dimension-empty { min-height:95px; margin-top:.85rem!important; border:1px dashed color-mix(in srgb,var(--dimension) 38%,white); border-radius:12px; background:color-mix(in srgb,var(--dimension-soft) 55%,white); padding:.8rem; }
.students-gallery .dimension-empty i { font-size:1.35rem; }
.students-gallery .dimension-empty strong { font-size:.95rem; }
.students-gallery .dimension-empty span { font-size:.87rem; }
.students-gallery .dimension-card[hidden] { display:none!important; }
@media(min-width:992px) {
 .students-gallery .dimension-card:nth-child(2),.students-gallery .dimension-card:nth-child(5) { transform:translateY(10px); }
 .students-gallery .dimension-card:nth-child(2):hover,.students-gallery .dimension-card:nth-child(5):hover { transform:translateY(6px); }
}
@media(max-width:991.98px) { .students-gallery .dimension-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; } }
@media(max-width:575.98px) {
 .students-gallery { padding-block:1.8rem!important; }
 .students-gallery .students-intro { text-align:left; margin-bottom:1.2rem!important; }
 .students-gallery .students-intro h2 { font-size:1.8rem; }
 .students-gallery .students-intro .lead { font-size:1rem; line-height:1.6; }
 .students-gallery .dimension-filters { margin-inline:-.5rem; padding-inline:.5rem; gap:.45rem; }
 .students-gallery .dimension-filter { padding:.55rem .85rem; font-size:.86rem; }
 .students-gallery .dimension-grid { grid-template-columns:1fr; gap:.8rem; }
 .students-gallery .dimension-card { border-radius:15px; }
 .students-gallery .dimension-card-head { padding:1rem 1rem .45rem; }
 .students-gallery .dimension-card-body { padding:0 1rem 1rem; }
 .students-gallery .dimension-card-body>p { font-size:.94rem; margin-bottom:.7rem; }
 .students-gallery .dimension-empty { min-height:72px; flex-direction:row; justify-content:flex-start; text-align:left; gap:.65rem; }
 .students-gallery .dimension-empty i { flex:0 0 auto; }
 .students-gallery .dimension-empty span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .students-gallery .dimension-card { transition:none; } }

/* Estudiantes: composición más orgánica, menos tarjetas tipo dashboard */
.students-gallery .dimension-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.4rem 1.1rem; align-items:start; }
.students-gallery .dimension-card { grid-column:span 4; border:0; border-radius:0; border-top:0; border-bottom:1px solid color-mix(in srgb,var(--dimension) 35%,transparent); background:transparent; box-shadow:none; overflow:visible; }
.students-gallery .dimension-card:hover { transform:none; box-shadow:none; }
.students-gallery .dimension-card:nth-child(2),.students-gallery .dimension-card:nth-child(5) { transform:none; }
.students-gallery .dimension-card-head { padding:0 0 .75rem; align-items:flex-start; }
.students-gallery .dimension-icon { flex:0 0 42px; width:42px; height:42px; background:var(--dimension-soft); }
.students-gallery .dimension-card h3 { font-size:1.12rem; }
.students-gallery .dimension-card-body { padding:0 0 1rem; }
.students-gallery .dimension-card-body>p { margin:.2rem 0 .75rem; color:#29465f; }
.students-gallery .dimension-empty { display:flex; flex-direction:row; justify-content:flex-start; min-height:0; padding:.7rem 0; border:0; border-radius:0; border-top:1px dashed color-mix(in srgb,var(--dimension) 35%,transparent); background:transparent; text-align:left; gap:.55rem; }
.students-gallery .dimension-empty i { font-size:1rem; }
.students-gallery .dimension-empty span { display:inline; font-size:.86rem; color:#647789; }
.students-gallery .dimension-empty strong { display:none; }
.students-gallery .dimension-filters { margin-bottom:2rem!important; }
@media(min-width:992px) {
 .students-gallery .dimension-card:nth-child(2),.students-gallery .dimension-card:nth-child(5) { transform:translateY(0); }
 .students-gallery .dimension-card:nth-child(1),.students-gallery .dimension-card:nth-child(4) { grid-column:span 4; }
}
@media(max-width:991.98px) {
 .students-gallery .dimension-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:1.2rem; }
 .students-gallery .dimension-card { grid-column:span 3; }
}
@media(max-width:575.98px) {
 .students-gallery .dimension-grid { display:block; }
 .students-gallery .dimension-card { margin:0 0 1.4rem; padding:0 0 1.1rem; }
 .students-gallery .dimension-card-head { padding:0 0 .55rem; }
 .students-gallery .dimension-card h3 { font-size:1.08rem; }
 .students-gallery .dimension-card-body>p { font-size:.95rem; line-height:1.6; }
 .students-gallery .dimension-empty { margin-top:.4rem!important; }
}


/* Estudiantes: panel blanco unificador y marcos cromáticos por dimensión */
.students-gallery {
  background:#ffdf57;
}
.students-gallery .dimension-showcase-panel {
  position:relative;
  padding:clamp(1rem,2.6vw,2.2rem);
  border:1px solid rgba(12,46,77,.08);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 42px rgba(12,46,77,.12);
}
.students-gallery .dimension-filters {
  margin-top:0;
  padding-bottom:1.1rem;
  border-bottom:1px solid #e8edf1;
}
.students-gallery .dimension-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
  align-items:stretch;
}
.students-gallery .dimension-card {
  grid-column:auto;
  min-width:0;
  padding:1.25rem 1.2rem 1rem;
  border:1px solid color-mix(in srgb,var(--dimension) 40%,#e8edf1);
  border-top:4px solid var(--dimension);
  border-radius:16px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--dimension-soft) 45%,white),#fff 58%);
  box-shadow:0 4px 14px rgba(12,46,77,.045);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.students-gallery .dimension-card:hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--dimension) 65%,#e8edf1);
  box-shadow:0 10px 24px rgba(12,46,77,.10);
}
.students-gallery .dimension-card-head { padding:0 0 .7rem; }
.students-gallery .dimension-card-body { padding:0; }
.students-gallery .dimension-card-body>p { line-height:1.65; }
.students-gallery .dimension-empty {
  margin-top:auto!important;
  padding:.75rem .15rem .15rem;
  border-top:1px dashed color-mix(in srgb,var(--dimension) 38%,#dce4e9);
}
@media(min-width:992px) {
  .students-gallery .dimension-card:nth-child(2),
  .students-gallery .dimension-card:nth-child(5) { transform:none; }
}
@media(max-width:991.98px) {
  .students-gallery .dimension-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .students-gallery .dimension-card { grid-column:auto; }
}
@media(max-width:575.98px) {
  .students-gallery .dimension-showcase-panel { padding:1rem; border-radius:19px; }
  .students-gallery .dimension-grid { display:grid; grid-template-columns:1fr; gap:.9rem; }
  .students-gallery .dimension-card { margin:0; padding:1rem; border-radius:14px; }
}

/* Ajuste final Estudiantes: fondo blanco desde los filtros hasta las dimensiones */
.students-gallery .dimension-showcase-panel {
  background:#fff;
  border:1px solid #e5ebf0;
  box-shadow:0 14px 38px rgba(12,46,77,.10);
}
.students-gallery .dimension-filters {
  border-bottom:1px solid #e8edf1;
  padding-bottom:1.15rem;
  margin-bottom:1.4rem!important;
}
.students-gallery .dimension-filter {
  background:#fff;
  border:1px solid #dce5ec;
  color:#0c2e4d;
  box-shadow:0 2px 7px rgba(12,46,77,.06);
}
.students-gallery .dimension-filter[aria-pressed="true"],
.students-gallery .dimension-filter.active,
.students-gallery .dimension-filter.is-active {
  background:#0c2e4d;
  border-color:#0c2e4d;
  color:#fff;
}
/* Cada dimensión recupera su tarjeta cromática */
.students-gallery .dimension-card {
  padding:1.25rem 1.2rem 1rem;
  border:1px solid color-mix(in srgb,var(--dimension) 42%,#e5ebf0);
  border-top:4px solid var(--dimension);
  border-radius:16px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--dimension-soft) 58%,white),#fff 78%);
  box-shadow:0 5px 16px rgba(12,46,77,.065);
}
.students-gallery .dimension-card:hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--dimension) 65%,#e5ebf0);
  box-shadow:0 11px 25px rgba(12,46,77,.11);
}
.students-gallery .dimension-card-head { padding:0 0 .7rem; }
.students-gallery .dimension-card-body { padding:0; }
.students-gallery .dimension-empty {
  margin-top:.5rem!important;
  padding:.75rem .15rem .15rem;
  border-top:1px dashed color-mix(in srgb,var(--dimension) 42%,#dce4e9);
}
@media(max-width:575.98px) {
  .students-gallery .dimension-showcase-panel { padding:1rem; border-radius:18px; }
  .students-gallery .dimension-card { padding:1rem; border-radius:14px; }
}

/* Estudiantes: inspiración editorial de mosaico visual, con identidad propia */
.students-gallery {
  background:#fff !important;
  padding-block:clamp(2.5rem,5vw,4.5rem)!important;
}
.students-gallery .students-intro {
  max-width:960px;
  margin-inline:auto;
  text-align:center;
}
.students-gallery .students-intro h2 { color:#0c2e4d; }
.students-gallery .students-intro .lead { color:#526779; }
.students-gallery .dimension-showcase-panel {
  padding:clamp(1rem,2.4vw,2rem);
  border:1px solid #edf0f3;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 36px rgba(12,46,77,.07);
}
.students-gallery .dimension-filters {
  display:flex;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:.65rem;
  padding:0 0 1.25rem;
  margin:0 0 1.5rem!important;
  border-bottom:1px solid #edf0f3;
}
.students-gallery .dimension-filter {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.65rem 1rem;
  border:1px solid #e2e8ee;
  border-radius:12px;
  background:#fff;
  color:#183b58;
  font-weight:650;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.students-gallery .dimension-filter:hover { transform:translateY(-1px); }
.students-gallery .dimension-filter[aria-pressed="true"] {
  color:#fff;
  background:#0c2e4d;
  border-color:#0c2e4d;
}
/* La superficie de cada tarjeta toma el tono propio de su dimensión */
.students-gallery .dimension-card {
  grid-column:auto;
  align-self:start;
  padding:1.25rem 1.2rem 1.1rem;
  border:1px solid color-mix(in srgb,var(--dimension) 28%,white);
  border-top:4px solid var(--dimension);
  border-radius:18px;
  background:var(--dimension-soft);
  box-shadow:0 5px 18px rgba(12,46,77,.055);
  overflow:hidden;
}
.students-gallery .dimension-card:hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--dimension) 48%,white);
  box-shadow:0 12px 26px rgba(12,46,77,.10);
}
.students-gallery .dimension-card-head { align-items:center; padding:0 0 .75rem; }
.students-gallery .dimension-icon {
  border:1px solid color-mix(in srgb,var(--dimension) 16%,white);
  background:rgba(255,255,255,.8);
}
.students-gallery .dimension-card h3 { color:#0c2e4d; }
.students-gallery .dimension-short { color:color-mix(in srgb,var(--dimension) 78%,#173d5a); }
.students-gallery .dimension-card-body>p { color:#29465f; }
.students-gallery .dimension-empty {
  min-height:100px;
  margin-top:.75rem!important;
  padding:1rem;
  border:1px dashed color-mix(in srgb,var(--dimension) 42%,white);
  border-radius:13px;
  background:rgba(255,255,255,.58);
  justify-content:center;
  text-align:center;
}
.students-gallery .dimension-empty i { font-size:1.5rem; color:var(--dimension); }
.students-gallery .dimension-empty span { color:#536b7c; }
.students-gallery .dimension-card[hidden] { display:none!important; }
@media(min-width:992px) {
  .students-gallery .dimension-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
}
@media(max-width:991.98px) {
  .students-gallery .dimension-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
}
@media(max-width:575.98px) {
  .students-gallery .students-intro { text-align:left; }
  .students-gallery .dimension-showcase-panel { padding:.8rem; border-radius:18px; box-shadow:none; }
  .students-gallery .dimension-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:1rem; }
  .students-gallery .dimension-filter { flex:0 0 auto; padding:.6rem .85rem; font-size:.88rem; }
  .students-gallery .dimension-grid { display:grid; grid-template-columns:1fr; gap:.9rem; }
  .students-gallery .dimension-card { padding:1rem; border-radius:15px; }
  .students-gallery .dimension-empty { min-height:72px; flex-direction:row; justify-content:flex-start; text-align:left; }
}

/* Corrección de uniformidad: las seis dimensiones comparten la misma cuadrícula */
@media(min-width:992px) {
  .students-gallery .dimension-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch;
  }
  .students-gallery .dimension-card,
  .students-gallery .dimension-card:nth-child(1),
  .students-gallery .dimension-card:nth-child(2),
  .students-gallery .dimension-card:nth-child(3),
  .students-gallery .dimension-card:nth-child(4),
  .students-gallery .dimension-card:nth-child(5),
  .students-gallery .dimension-card:nth-child(6) {
    grid-column:auto !important;
    width:auto;
    min-width:0;
    transform:none !important;
  }
}
@media(min-width:576px) and (max-width:991.98px) {
  .students-gallery .dimension-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch;
  }
  .students-gallery .dimension-card,
  .students-gallery .dimension-card:nth-child(n) {
    grid-column:auto !important;
    width:auto;
    min-width:0;
    transform:none !important;
  }
}
@media(max-width:575.98px) {
  .students-gallery .dimension-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
  }
  .students-gallery .dimension-card,
  .students-gallery .dimension-card:nth-child(n) {
    grid-column:auto !important;
    width:auto;
    min-width:0;
    transform:none !important;
  }
}
.students-gallery .dimension-card {
  height:100%;
  box-sizing:border-box;
}

/* Galerías de dimensiones: sección blanca, tarjetas cromáticas y visor mosaico */
.students-gallery,
.students-gallery.section {
  background:#fff !important;
  color:#173d5a;
  padding-block:clamp(2.5rem,5vw,4.5rem)!important;
}
.students-gallery .students-intro { text-align:center; }
.students-gallery .students-intro h2 { color:#0c2e4d; }
.students-gallery .students-intro .lead { color:#526779; }
.students-gallery .dimension-showcase-panel {
  background:#fff!important;
  border:1px solid #edf0f3;
  border-radius:24px;
  padding:clamp(1rem,2.4vw,2rem);
  box-shadow:0 12px 34px rgba(12,46,77,.06);
}
.students-gallery .dimension-filters {
  display:flex; flex-wrap:wrap; gap:.6rem;
  justify-content:flex-start;
  border-bottom:1px solid #edf0f3;
  padding-bottom:1.2rem;
}
.students-gallery .dimension-filter {
  flex:0 0 auto; background:#fff; color:#0c2e4d;
  border:1px solid #dfe7ed; border-radius:12px;
  padding:.65rem 1rem; box-shadow:none;
}
.students-gallery .dimension-filter[aria-pressed="true"] {
  background:#0c2e4d; border-color:#0c2e4d; color:#fff;
}
.students-gallery .dimension-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch; gap:1.25rem;
}
.students-gallery .dimension-card,
.students-gallery .dimension-card:nth-child(n) {
  display:flex; flex-direction:column; grid-column:auto!important;
  width:auto; min-width:0; height:100%; transform:none!important;
  padding:1rem; border:1px solid color-mix(in srgb,var(--dimension) 25%,white);
  border-top:4px solid var(--dimension); border-radius:18px;
  background:var(--dimension-soft); box-shadow:0 5px 18px rgba(12,46,77,.06);
  overflow:hidden; transition:transform .24s ease,box-shadow .24s ease;
}
.students-gallery .dimension-card:hover {
  transform:translateY(-5px)!important;
  box-shadow:0 14px 28px rgba(12,46,77,.13);
}
.students-gallery .dimension-card-head { display:flex; align-items:center; gap:.8rem; padding:.15rem .1rem .85rem; }
.students-gallery .dimension-icon { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.88); color:var(--dimension); }
.students-gallery .dimension-card h3 { margin:0 0 .25rem; color:#0c2e4d; font-size:1.08rem; }
.students-gallery .dimension-short { margin:0; color:var(--dimension); font-size:.9rem; }
.students-gallery .dimension-cover-button {
  position:relative; display:block; width:100%; aspect-ratio:4/3; padding:0;
  overflow:hidden; border:0; border-radius:12px; background:rgba(255,255,255,.66);
  cursor:pointer; text-align:left; color:#173d5a;
}
.students-gallery .dimension-cover-button img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.students-gallery .dimension-cover-button:hover img { transform:scale(1.055); }
.students-gallery .dimension-cover-empty { display:flex; flex-direction:column; align-items:stretch; justify-content:stretch; border:1px solid color-mix(in srgb,var(--dimension) 20%,white); }
.students-gallery .dimension-cover-empty .cover-art { display:grid; flex:1; place-items:center; color:var(--dimension); background:linear-gradient(135deg,rgba(255,255,255,.78),color-mix(in srgb,var(--dimension) 13%,white)); }
.students-gallery .dimension-cover-empty .cover-art i { font-size:3.6rem; opacity:.8; }
.students-gallery .dimension-cover-empty .cover-label { display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem; background:rgba(255,255,255,.8); font-size:.9rem; }
.students-gallery .dimension-cover-overlay {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:.5rem;
  background:rgba(12,46,77,.72); color:#fff; font-weight:700; opacity:0;
  transition:opacity .2s ease;
}
.students-gallery .dimension-cover-button:hover .dimension-cover-overlay,
.students-gallery .dimension-cover-button:focus-visible .dimension-cover-overlay { opacity:1; }
.students-gallery .dimension-card-body { display:flex; flex:1; flex-direction:column; padding:.8rem .1rem .15rem; }
.students-gallery .dimension-card-body>p { color:#29465f; font-size:.93rem; line-height:1.6; margin:0 0 .9rem; }
.students-gallery .dimension-open-link { align-self:flex-start; margin-top:auto; padding:.45rem 0; border:0; background:transparent; color:var(--dimension); font-weight:700; }
.students-gallery .dimension-open-link i { margin-left:.25rem; transition:transform .2s ease; }
.students-gallery .dimension-open-link:hover i { transform:translate(3px,-3px); }
.students-gallery .dimension-card[hidden] { display:none!important; }
@media(max-width:991.98px) { .students-gallery .dimension-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media(max-width:575.98px) {
 .students-gallery .students-intro { text-align:left; }
 .students-gallery .dimension-showcase-panel { padding:.8rem; border-radius:18px; box-shadow:none; }
 .students-gallery .dimension-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:1rem; }
 .students-gallery .dimension-filter { padding:.6rem .85rem; font-size:.88rem; }
 .students-gallery .dimension-grid { grid-template-columns:1fr!important; gap:1rem; }
 .students-gallery .dimension-card { padding:.9rem!important; }
 .students-gallery .dimension-cover-button { aspect-ratio:5/3; }
}
/* Visor independiente: las fotografías se agrupan en un mosaico tipo masonry */
.dimension-modal-open { overflow:hidden; }
.dimension-gallery-modal[hidden] { display:none!important; }
.dimension-gallery-modal { position:fixed; z-index:2000; inset:0; display:grid; place-items:center; padding:clamp(.5rem,2vw,1.5rem); }
.dimension-modal-backdrop { position:absolute; inset:0; background:rgba(6,23,39,.78); backdrop-filter:blur(5px); animation:dimensionFadeIn .18s ease both; }
.dimension-modal-panel { position:relative; z-index:1; display:flex; flex-direction:column; width:min(1200px,100%); max-height:min(92vh,1000px); overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.3); animation:dimensionPanelIn .24s ease both; }
.dimension-modal-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.4rem; border-bottom:1px solid #e8edf1; background:var(--dimension-soft,#f7fafc); }
.dimension-modal-kicker { margin:0 0 .15rem; color:var(--dimension); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.dimension-modal-header h2 { margin:0; color:#0c2e4d; font-size:clamp(1.2rem,2.4vw,1.8rem); }
.dimension-modal-close { flex:0 0 42px; width:42px; height:42px; border:1px solid #dce4e9; border-radius:50%; background:#fff; color:#0c2e4d; }
.dimension-modal-content { overflow:auto; padding:clamp(1rem,2.4vw,1.7rem); }
.dimension-gallery-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:300px; padding:2rem; border:1px dashed color-mix(in srgb,var(--dimension) 35%,#dce4e9); border-radius:16px; background:var(--dimension-soft); text-align:center; }
.dimension-gallery-empty-icon { display:grid; place-items:center; width:64px; height:64px; margin-bottom:1rem; border-radius:50%; background:#fff; color:var(--dimension); font-size:1.8rem; }
.dimension-gallery-empty h3 { color:#0c2e4d; font-size:1.25rem; }
.dimension-gallery-empty p { max-width:620px; margin:0; color:#526779; line-height:1.7; }
.dimension-photo-masonry { columns:4 220px; column-gap:14px; }
.dimension-photo-item { display:block; break-inside:avoid; margin:0 0 14px; overflow:hidden; border-radius:12px; background:#eef2f5; }
.dimension-photo-item img { display:block; width:100%; height:auto; transition:transform .35s ease; }
.dimension-photo-item:hover img { transform:scale(1.035); }
@keyframes dimensionFadeIn { from{opacity:0} to{opacity:1} }
@keyframes dimensionPanelIn { from{opacity:0;transform:translateY(14px) scale(.99)} to{opacity:1;transform:translateY(0) scale(1)} }
@media(prefers-reduced-motion:reduce) {
 .students-gallery .dimension-card,.students-gallery .dimension-cover-button img,.dimension-modal-panel,.dimension-modal-backdrop { animation:none!important; transition:none!important; }
}
@media(max-width:575.98px) {
 .dimension-gallery-modal { padding:0; }
 .dimension-modal-panel { width:100%; max-height:100dvh; height:100dvh; border-radius:0; }
 .dimension-modal-header { padding:1rem; }
 .dimension-photo-masonry { columns:2 140px; column-gap:8px; }
 .dimension-photo-item { margin-bottom:8px; border-radius:8px; }
 .dimension-gallery-empty { min-height:240px; padding:1.25rem; }
}
/* Centrar el grupo de filtros de dimensiones */
.students-gallery .dimension-filters {
  justify-content:center !important;
}
@media(max-width:575.98px) {
  .students-gallery .dimension-filters {
    justify-content:flex-start !important;
  }
}

/* Exalumnos: archivo de recuerdos por generaciones */
.alumni-archive {
  background:#f7f9fc;
  padding-block:clamp(2.5rem,5vw,5rem)!important;
}
.alumni-archive .students-intro { max-width:850px; margin-bottom:2rem!important; }
.alumni-archive .students-eyebrow { color:#1684ae; }
.alumni-archive .students-intro h2 { color:#0c2e4d; letter-spacing:-.035em; }
.alumni-archive .students-intro .lead { color:#526779; line-height:1.75; }
.alumni-archive-introline { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0 0 1.25rem; padding-bottom:1rem; border-bottom:1px solid #e2e9ef; color:#0c2e4d; }
.alumni-archive-introline>span:first-child { display:flex; align-items:center; gap:.55rem; font-weight:700; }
.alumni-archive-introline>span:first-child i { color:#1684ae; font-size:1.2rem; }
.alumni-archive-caption { color:#708293; font-size:.9rem; }
.alumni-archive .alumni-decade-filters { justify-content:flex-start; margin-bottom:1.5rem; }
.alumni-archive .decade-filter { border-radius:999px; background:#fff; }
.alumni-archive .alumni-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; align-items:stretch; }
.alumni-memory-card { min-width:0; overflow:hidden; border:1px solid #e5ebf0; border-radius:17px; background:#fff; box-shadow:0 6px 20px rgba(12,46,77,.055); transition:transform .24s ease,box-shadow .24s ease; }
.alumni-memory-card:hover { transform:translateY(-5px); box-shadow:0 15px 32px rgba(12,46,77,.13); }
.alumni-memory-card[hidden] { display:none!important; }
.alumni-memory-cover { position:relative; display:block; width:100%; aspect-ratio:4/3; overflow:hidden; border:0; padding:0; background:#eaf0f5; text-align:left; cursor:pointer; }
.alumni-memory-cover>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.alumni-memory-card:hover .alumni-memory-cover>img { transform:scale(1.055); }
.alumni-cover-placeholder { display:flex; height:100%; flex-direction:column; justify-content:center; align-items:center; gap:.7rem; background:linear-gradient(145deg,#0c2e4d,#1c5c80); color:#ffdf57; font-weight:700; }
.alumni-cover-placeholder i { font-size:2.6rem; }
.alumni-memory-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:.5rem; background:rgba(12,46,77,.72); color:#fff; font-weight:700; opacity:0; transition:opacity .2s ease; }
.alumni-memory-cover:hover .alumni-memory-overlay,.alumni-memory-cover:focus-visible .alumni-memory-overlay { opacity:1; }
.alumni-year-stamp { position:absolute; left:.8rem; bottom:.8rem; padding:.35rem .65rem; border:1px solid rgba(255,255,255,.5); border-radius:8px; background:rgba(12,46,77,.88); color:#fff; font-size:.9rem; font-weight:800; backdrop-filter:blur(5px); }
.alumni-memory-info { padding:1rem 1rem 1.1rem; }
.alumni-memory-kicker { color:#1684ae; font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.alumni-memory-info h3 { margin:.35rem 0 .6rem; color:#0c2e4d; font-size:1.08rem; line-height:1.4; }
.alumni-memory-info p { display:flex; align-items:center; gap:.45rem; margin:0; color:#718191; font-size:.88rem; }
.alumni-memory-info p i { color:#1684ae; }
.alumni-archive .alumni-empty-state { padding:clamp(2rem,5vw,4rem) 1.5rem; border:1px dashed #cdd9e3; border-radius:22px; background:#fff; }
.alumni-archive .alumni-empty-state>i { display:inline-grid; place-items:center; width:66px; height:66px; border-radius:50%; background:#e8f7fc; color:#1684ae; font-size:1.8rem; }
.alumni-archive .alumni-empty-state h3 { color:#0c2e4d; }
.alumni-archive .alumni-empty-state p { max-width:650px; margin-inline:auto; color:#667b8b; line-height:1.7; }
.alumni-archive .students-gallery-note { color:#748493; }
.alumni-modal-open { overflow:hidden; }
.alumni-memory-modal[hidden] { display:none!important; }
.alumni-memory-modal { position:fixed; z-index:2000; inset:0; display:grid; place-items:center; padding:clamp(.5rem,2vw,1.5rem); }
.alumni-memory-backdrop { position:absolute; inset:0; background:rgba(6,23,39,.8); backdrop-filter:blur(5px); }
.alumni-memory-panel { position:relative; display:flex; flex-direction:column; width:min(1200px,100%); max-height:92vh; overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.3); animation:dimensionPanelIn .24s ease both; }
.alumni-memory-modal-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.4rem; border-bottom:1px solid #e5ebf0; background:#f0f8fc; }
.alumni-memory-modal-head p { margin:0 0 .2rem; color:#1684ae; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.alumni-memory-modal-head h2 { margin:0; color:#0c2e4d; font-size:1.5rem; }
.alumni-memory-close { width:42px; height:42px; border:1px solid #dce4e9; border-radius:50%; background:#fff; color:#0c2e4d; }
.alumni-memory-modal-content { overflow:auto; padding:1.25rem; }
.alumni-memory-masonry { columns:4 220px; column-gap:14px; }
.alumni-memory-photo { display:block; break-inside:avoid; margin:0 0 14px; overflow:hidden; border-radius:12px; background:#eef2f5; }
.alumni-memory-photo img { display:block; width:100%; height:auto; transition:transform .3s ease; }
.alumni-memory-photo:hover img { transform:scale(1.035); }
@media(max-width:991.98px) { .alumni-archive .alumni-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575.98px) {
 .alumni-archive-introline { align-items:flex-start; flex-direction:column; gap:.35rem; }
 .alumni-archive .alumni-timeline { grid-template-columns:1fr; gap:1rem; }
 .alumni-memory-cover { aspect-ratio:5/3; }
 .alumni-memory-modal { padding:0; }
 .alumni-memory-panel { width:100%; height:100dvh; max-height:100dvh; border-radius:0; }
 .alumni-memory-modal-head { padding:1rem; }
 .alumni-memory-masonry { columns:2 140px; column-gap:8px; }
 .alumni-memory-photo { margin-bottom:8px; border-radius:8px; }
}
@media(prefers-reduced-motion:reduce) { .alumni-memory-card,.alumni-memory-cover>img,.alumni-memory-overlay,.alumni-memory-panel { transition:none!important; animation:none!important; } }

/* Exalumnos — línea de tiempo fotográfica */
.alumni-archive { background:#f5f8fb!important; }
.alumni-archive .students-intro { text-align:center; margin-inline:auto; }
.alumni-archive .students-intro .lead { max-width:850px; margin-inline:auto; }
.alumni-timeline-experience { width:100%; max-width:1280px; margin:2rem auto 0; }
.alumni-feature-stage {
  position:relative; padding:clamp(1rem,3vw,2.2rem);
  border:1px solid #e5ebf1; border-radius:26px;
  background:linear-gradient(145deg,#fff 0%,#f8fbfd 100%);
  box-shadow:0 18px 50px rgba(12,46,77,.08);
}
.alumni-stage-placeholder { display:flex; min-height:370px; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem; }
.alumni-stage-mark { display:grid; place-items:center; width:74px; height:74px; margin-bottom:1.1rem; border-radius:22px; background:#e3f6fc; color:#0c7299; box-shadow:0 10px 25px rgba(12,46,77,.1); font-size:2rem; }
.alumni-stage-placeholder h3 { color:#0c2e4d; font-size:clamp(1.35rem,3vw,2rem); }
.alumni-stage-placeholder p { max-width:620px; color:#64798a; line-height:1.75; }
.alumni-stage-hint { display:inline-flex; align-items:center; gap:.5rem; margin-top:.5rem; color:#1684ae; font-size:.88rem; font-weight:700; }
.alumni-feature-photo-wrap { position:relative; display:flex; align-items:center; justify-content:center; min-height:300px; padding:0 clamp(2.5rem,6vw,5rem); }
.alumni-feature-photo {
  position:relative; display:flex; align-items:center; justify-content:center;
  width:100%; max-width:940px; height:clamp(260px,52vw,510px);
  padding:0; border:0; border-radius:8px; background:transparent; cursor:zoom-in;
}
.alumni-feature-photo::before {
  content:""; position:absolute; inset:12px -10px -12px 10px; z-index:0;
  border-radius:10px; background:#0c2e4d;
  box-shadow:0 18px 38px rgba(12,46,77,.22); opacity:.15;
  transform:rotate(1.1deg); transition:transform .35s ease,opacity .35s ease;
}
.alumni-feature-photo img {
  position:relative; z-index:1; display:block; max-width:100%; max-height:100%;
  width:auto; height:auto; object-fit:contain; border-radius:5px;
  filter:drop-shadow(0 12px 20px rgba(12,46,77,.18));
  transition:transform .35s ease,filter .35s ease;
}
.alumni-feature-photo:hover img { transform:translateY(-3px) scale(1.012); filter:drop-shadow(0 18px 24px rgba(12,46,77,.24)); }
.alumni-feature-photo:hover::before { opacity:.25; transform:rotate(-1deg) translateY(3px); }
.alumni-photo-enlarge { position:absolute; z-index:2; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:.45rem; padding:.55rem .8rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(12,46,77,.86); color:#fff; font-size:.82rem; opacity:0; transform:translateY(5px); transition:opacity .2s ease,transform .2s ease; }
.alumni-feature-photo:hover .alumni-photo-enlarge,.alumni-feature-photo:focus-visible .alumni-photo-enlarge { opacity:1; transform:translateY(0); }
.alumni-stage-arrow { position:absolute; z-index:3; top:50%; display:grid; place-items:center; width:48px; height:48px; transform:translateY(-50%); border:1px solid #dce6ee; border-radius:50%; background:rgba(255,255,255,.95); color:#0c2e4d; box-shadow:0 6px 20px rgba(12,46,77,.12); font-size:1.25rem; transition:background .2s ease,color .2s ease,opacity .2s ease; }
.alumni-stage-arrow:hover:not(:disabled) { background:#0c2e4d; color:#fff; }
.alumni-stage-arrow:disabled { opacity:.3; cursor:not-allowed; }
.alumni-stage-prev { left:.5rem; }
.alumni-stage-next { right:.5rem; }
.alumni-feature-caption { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; max-width:940px; margin:1.5rem auto .1rem; padding:1.2rem .5rem 0; border-top:1px solid #e5ebf1; }
.alumni-feature-kicker { color:#1684ae; font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.alumni-feature-title h3 { margin:.35rem 0 .4rem; color:#0c2e4d; font-size:clamp(1.4rem,3vw,2rem); }
.alumni-feature-title p { margin:0; color:#64798a; }
.alumni-feature-title p i { color:#1684ae; margin-right:.3rem; }
.alumni-photo-count { display:inline-flex; align-items:center; gap:.45rem; flex:0 0 auto; padding:.55rem .8rem; border-radius:999px; background:#e8f6fb; color:#0c7198; font-size:.85rem; font-weight:700; }
.alumni-timeline-controls { display:flex; align-items:center; gap:.6rem; margin:1.8rem 0 .65rem; }
.alumni-timeline-controls[hidden] { display:none!important; }
.alumni-rail-arrow { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border:1px solid #dce6ee; border-radius:50%; background:#fff; color:#0c2e4d; box-shadow:0 4px 12px rgba(12,46,77,.06); }
.alumni-rail-arrow:hover { background:#0c2e4d; color:#fff; }
.alumni-generation-rail { display:flex; flex:1; gap:.8rem; min-width:0; overflow-x:auto; padding:.8rem .25rem 1rem; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#9bb8c9 transparent; }
.alumni-generation-item { position:relative; display:flex; flex:0 0 128px; flex-direction:column; align-items:center; gap:.35rem; min-height:112px; padding:.75rem .55rem; border:1px solid #dfe7ed; border-radius:14px; background:#fff; color:#173d5a; box-shadow:0 4px 12px rgba(12,46,77,.04); scroll-snap-align:center; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease; }
.alumni-generation-item:hover { transform:translateY(-3px); border-color:#87cce0; }
.alumni-generation-item[aria-pressed="true"] { border:2px solid #1684ae; padding:calc(.75rem - 1px) calc(.55rem - 1px); background:#e9f8fc; box-shadow:0 8px 20px rgba(22,132,174,.14); transform:translateY(-3px); }
.alumni-rail-crest-wrap { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#f1f5f8; overflow:hidden; }
.alumni-rail-crest { display:block; width:28px; height:28px; object-fit:contain; }
.alumni-rail-year { color:#0c2e4d; font-size:1.03rem; font-weight:800; }
.alumni-rail-title { display:block; max-width:100%; overflow:hidden; color:#657a8a; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.alumni-generation-item[aria-pressed="true"] .alumni-rail-year { color:#08769d; }
.alumni-timeline-help { margin:.25rem 0 1.4rem; color:#748493; text-align:center; font-size:.84rem; }
.alumni-archive .alumni-empty-state { margin-top:1.2rem; text-align:center; }
.alumni-archive .alumni-empty-state[hidden] { display:none!important; }
.alumni-archive .students-gallery-note { margin:1.4rem auto 0; max-width:900px; text-align:center; line-height:1.7; }
.alumni-lightbox-open { overflow:hidden; }
.alumni-photo-lightbox[hidden] { display:none!important; }
.alumni-photo-lightbox { position:fixed; z-index:3000; inset:0; display:flex; align-items:center; justify-content:center; padding:clamp(1rem,3vw,2.5rem); background:rgba(3,12,22,.94); animation:alumniLightboxFade .18s ease both; }
.alumni-lightbox-content { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; gap:1rem; }
.alumni-lightbox-content img { display:block; width:auto; height:auto; max-width:calc(100vw - 150px); max-height:calc(100dvh - 110px); object-fit:contain; border-radius:3px; box-shadow:0 20px 65px rgba(0,0,0,.45); animation:alumniPhotoIn .24s ease both; }
.alumni-lightbox-content p { margin:0; color:#e5edf3; text-align:center; font-size:.9rem; }
.alumni-lightbox-close { position:absolute; z-index:2; top:18px; right:20px; display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:1.1rem; }
.alumni-lightbox-arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:48px; height:48px; transform:translateY(-50%); border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:1.3rem; }
.alumni-lightbox-arrow:hover:not(:disabled) { background:rgba(255,255,255,.25); }
.alumni-lightbox-arrow:disabled { opacity:.22; cursor:not-allowed; }
.alumni-lightbox-prev { left:20px; }
.alumni-lightbox-next { right:20px; }
@keyframes alumniLightboxFade { from{opacity:0}to{opacity:1} }
@keyframes alumniPhotoIn { from{opacity:.6;transform:scale(.985)}to{opacity:1;transform:scale(1)} }
@media(max-width:767.98px) {
 .alumni-archive .students-intro { text-align:left; }
 .alumni-feature-stage { padding:.8rem; border-radius:18px; }
 .alumni-stage-placeholder { min-height:280px; padding:1.25rem; }
 .alumni-feature-photo-wrap { min-height:220px; padding:0 2rem; }
 .alumni-feature-photo { height:clamp(220px,58vw,380px); }
 .alumni-stage-arrow { width:38px; height:38px; }
 .alumni-stage-prev { left:0; }
 .alumni-stage-next { right:0; }
 .alumni-feature-caption { align-items:flex-start; flex-direction:column; padding:1rem .2rem 0; }
 .alumni-photo-count { align-self:flex-start; }
 .alumni-timeline-controls { gap:.35rem; margin-top:1.2rem; }
 .alumni-rail-arrow { flex-basis:32px; width:32px; height:32px; }
 .alumni-generation-rail { gap:.55rem; }
 .alumni-generation-item { flex-basis:108px; min-height:102px; }
 .alumni-lightbox-content img { max-width:calc(100vw - 78px); max-height:calc(100dvh - 100px); }
 .alumni-lightbox-close { top:10px; right:10px; }
 .alumni-lightbox-prev { left:8px; }
 .alumni-lightbox-next { right:8px; }
 .alumni-lightbox-arrow { width:36px; height:36px; }
}
@media(prefers-reduced-motion:reduce) {
 .alumni-feature-photo::before,.alumni-feature-photo img,.alumni-photo-enlarge,.alumni-stage-arrow,.alumni-generation-item,.alumni-photo-lightbox,.alumni-lightbox-content img { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
/* Refinamiento móvil: presentación de archivo más compacta y contemporánea */
@media (max-width:767.98px) {
 .alumni-archive { background:#f3f7fa!important; }
 .alumni-archive .students-intro { padding-inline:1rem; }
 .alumni-archive .students-intro h1,
 .alumni-archive .students-intro h2 { text-wrap:balance; }
 .alumni-timeline-experience { margin-top:1.2rem; }
 .alumni-feature-stage {
   position:relative; overflow:hidden; padding:.7rem;
   border:1px solid rgba(12,46,77,.07); border-radius:24px;
   background:linear-gradient(155deg,#ffffff 0%,#f6fbfd 58%,#eaf7fb 100%);
   box-shadow:0 16px 38px rgba(12,46,77,.1);
 }
 .alumni-feature-stage::before {
   content:""; position:absolute; width:180px; height:180px; top:-90px; right:-70px;
   border-radius:50%; background:rgba(79,196,231,.12); pointer-events:none;
 }
 .alumni-stage-placeholder { position:relative; z-index:1; min-height:0; padding:2rem 1rem 1.7rem; }
 .alumni-stage-mark {
   width:66px; height:66px; margin-bottom:1rem; border:1px solid rgba(22,132,174,.12);
   border-radius:20px; background:linear-gradient(145deg,#dff6fc,#f2fbfe);
   box-shadow:0 10px 24px rgba(12,46,77,.09); font-size:1.7rem;
   animation:alumniMarkFloat 4s ease-in-out infinite;
 }
 .alumni-stage-placeholder h3 { max-width:320px; margin-bottom:.65rem; font-size:1.5rem; line-height:1.2; text-wrap:balance; }
 .alumni-stage-placeholder p { max-width:340px; margin-bottom:.7rem; font-size:1rem; line-height:1.65; }
 .alumni-stage-hint { margin-top:.6rem; padding:.65rem .85rem; border:1px solid #dceef4; border-radius:999px; background:#f1fbfe; font-size:.78rem; text-align:center; }
 .alumni-feature-photo-wrap { min-height:190px; padding:0 1.8rem; }
 .alumni-feature-photo { height:clamp(210px,66vw,360px); }
 .alumni-feature-photo::before { inset:10px -5px -9px 5px; opacity:.2; }
 .alumni-feature-photo img { max-width:100%; max-height:100%; }
 .alumni-photo-enlarge { right:6px; bottom:6px; padding:.45rem .65rem; font-size:.72rem; opacity:1; transform:none; }
 .alumni-stage-arrow { width:34px; height:34px; background:#fff; box-shadow:0 4px 14px rgba(12,46,77,.14); }
 .alumni-stage-prev { left:0; } .alumni-stage-next { right:0; }
 .alumni-feature-caption { position:relative; z-index:1; gap:.65rem; margin-top:1rem; padding:.9rem .35rem .3rem; }
 .alumni-feature-kicker { font-size:.65rem; }
 .alumni-feature-title h3 { font-size:1.45rem; line-height:1.2; }
 .alumni-photo-count { padding:.45rem .7rem; font-size:.78rem; }
 .alumni-timeline-controls { gap:.35rem; margin:1rem -.25rem .5rem; }
 .alumni-rail-arrow { width:30px; height:30px; flex-basis:30px; }
 .alumni-generation-rail { gap:.55rem; padding:.7rem .2rem .9rem; }
 .alumni-generation-item { flex-basis:100px; min-height:98px; padding:.6rem .4rem; border-radius:13px; }
 .alumni-generation-item[aria-pressed="true"] { padding:calc(.6rem - 1px) calc(.4rem - 1px); }
 .alumni-rail-crest-wrap { width:30px; height:30px; }
 .alumni-rail-crest { width:24px; height:24px; }
 .alumni-rail-year { font-size:.96rem; }
 .alumni-rail-title { font-size:.67rem; }
 .alumni-timeline-help { font-size:.76rem; line-height:1.5; padding-inline:.5rem; }
}
@keyframes alumniMarkFloat { 0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)} }
@media(prefers-reduced-motion:reduce) {
 .alumni-stage-mark { animation:none!important; }
}
/* Timeline rail: visual continuity and active-generation motion */
.alumni-generation-rail { position:relative; isolation:isolate; }
.alumni-generation-rail::before {
 content:""; position:absolute; z-index:-1; top:49px; left:0; right:0;
 height:2px; background:linear-gradient(90deg,transparent,#9bcbd9 8%,#9bcbd9 92%,transparent);
 pointer-events:none;
}
.alumni-generation-item { backdrop-filter:blur(8px); }
.alumni-generation-item[aria-pressed="true"] {
 border-color:#1597bd; background:linear-gradient(155deg,#e8f8fc,#fff);
 box-shadow:0 10px 25px rgba(21,151,189,.18);
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-crest-wrap {
 background:#fff; box-shadow:0 0 0 4px rgba(21,151,189,.12);
 animation:alumniCrestPulse 2.8s ease-in-out infinite;
}
.alumni-rail-crest { object-fit:contain; }
.alumni-provisional-label {
 display:inline-flex; align-items:flex-start; gap:.4rem; margin-top:.55rem;
 color:#718292; font-size:.78rem; line-height:1.45;
}
.alumni-provisional-label i { color:#1597bd; margin-top:.1rem; }
@keyframes alumniCrestPulse {
 0%,100% { box-shadow:0 0 0 3px rgba(21,151,189,.1); }
 50% { box-shadow:0 0 0 6px rgba(21,151,189,.04); }
}
@media(max-width:767.98px) {
 .alumni-generation-rail::before { top:45px; }
 .alumni-generation-item[aria-pressed="true"] { transform:translateY(-4px) scale(1.025); }
}
@media(prefers-reduced-motion:reduce) {
 .alumni-generation-item[aria-pressed="true"] .alumni-rail-crest-wrap { animation:none!important; }
}


/* Exalumnos: composición compacta, foto protagonista y timeline minimalista */
.alumni-archive { background:#f4f7fa; }
.alumni-archive .students-intro { margin-bottom:1.25rem!important; }
.alumni-archive .students-intro .lead { max-width:820px; margin-inline:auto; font-size:1.08rem; }
.alumni-timeline-experience {
  width:100%; max-width:1320px; margin:1rem auto 0; padding:clamp(1rem,2.2vw,2rem);
  border-radius:24px; background:linear-gradient(145deg,#fff 0%,#f8fbfd 100%);
  border:1px solid rgba(12,46,77,.08); box-shadow:0 18px 48px rgba(12,46,77,.08);
}
.alumni-feature-stage {
  display:grid; grid-template-columns:minmax(0,1fr); gap:.4rem;
  padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;
}
.alumni-feature-photo-wrap {
  min-height:0; height:clamp(250px,42vw,440px); padding:0 3.5rem;
  display:flex; align-items:center; justify-content:center; position:relative;
}
.alumni-feature-photo {
  width:min(100%,980px); height:100%; max-width:980px; padding:0;
  border:0; border-radius:12px; overflow:visible; background:transparent;
  box-shadow:0 20px 38px rgba(12,46,77,.18); cursor:zoom-in;
  transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease;
}
.alumni-feature-photo::before { display:none!important; }
.alumni-feature-photo img {
  position:relative; z-index:1; display:block; width:100%; height:100%;
  max-width:100%; max-height:100%; object-fit:contain; object-position:center;
  border-radius:12px; background:#edf2f6;
  transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .45s ease;
}
.alumni-feature-photo:hover { transform:translateY(-4px); box-shadow:0 28px 48px rgba(12,46,77,.23); }
.alumni-feature-photo:hover img { transform:scale(1.012); filter:saturate(1.04); }
.alumni-photo-enlarge {
  position:absolute; z-index:2; right:14px; bottom:14px; display:flex; align-items:center; gap:.4rem;
  padding:.55rem .8rem; border:1px solid rgba(255,255,255,.55); border-radius:999px;
  background:rgba(9,38,62,.78); color:#fff; font-size:.78rem; opacity:0;
  transform:translateY(6px); transition:opacity .25s ease,transform .25s ease;
}
.alumni-feature-photo:hover .alumni-photo-enlarge,.alumni-feature-photo:focus-visible .alumni-photo-enlarge { opacity:1; transform:none; }
.alumni-stage-arrow {
  position:absolute; top:50%; z-index:3; display:grid; place-items:center;
  width:42px; height:42px; border:1px solid #e2eaf0; border-radius:50%;
  background:#fff; color:#123653; box-shadow:0 7px 20px rgba(12,46,77,.12);
  transform:translateY(-50%); transition:background .2s ease,color .2s ease,transform .2s ease;
}
.alumni-stage-arrow:hover { background:#0c2e4d; color:#fff; transform:translateY(-50%) scale(1.08); }
.alumni-stage-prev { left:.45rem; } .alumni-stage-next { right:.45rem; }
.alumni-feature-caption {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  max-width:980px; width:100%; margin:.85rem auto .4rem; padding:.5rem .2rem .9rem;
  border-bottom:1px solid #e4ebf0;
}
.alumni-feature-kicker { color:#1595bd; font-size:.68rem; font-weight:800; letter-spacing:.14em; }
.alumni-feature-title h3 { margin:.2rem 0; color:#0c2e4d; font-size:clamp(1.35rem,2.3vw,1.9rem); }
.alumni-feature-title p { margin:0; color:#6b8090; font-size:.98rem; }
.alumni-feature-title p i { color:#1595bd; margin-right:.3rem; }
.alumni-photo-count { flex:0 0 auto; padding:.55rem .8rem; border-radius:999px; background:#eaf7fb; color:#11799d; font-size:.8rem; font-weight:800; }
.alumni-provisional-label { color:#8493a0; font-size:.8rem; }
.alumni-timeline-controls {
  display:flex; align-items:center; gap:.65rem; margin:.35rem auto 0;
  max-width:1080px; padding:.2rem 0;
}
.alumni-rail-arrow {
  flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center;
  border:1px solid #dce6ec; border-radius:50%; background:#fff; color:#16415f;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.alumni-rail-arrow:hover { background:#0c2e4d; color:#fff; transform:scale(1.08); }
.alumni-generation-rail {
  position:relative; display:flex; align-items:flex-start; flex:1; gap:0; min-width:0;
  overflow-x:auto; overflow-y:hidden; padding:1rem .3rem .25rem;
  scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none;
  -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
}
.alumni-generation-rail::-webkit-scrollbar { display:none; }
.alumni-generation-rail::before {
  content:""; position:absolute; top:30px; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,#a9c4d1 4%,#a9c4d1 96%,transparent);
  pointer-events:none;
}
.alumni-generation-item {
  position:relative; isolation:isolate; flex:0 0 88px; min-height:78px;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.22rem;
  padding:0 .2rem; border:0; border-radius:0; background:transparent; color:#173b56;
  box-shadow:none; scroll-snap-align:center; transition:transform .25s ease,color .25s ease;
}
.alumni-generation-item:hover { transform:translateY(-3px); }
.alumni-rail-node {
  position:relative; z-index:1; width:26px; height:26px; display:grid; place-items:center;
  border:2px solid #9eb8c7; border-radius:50%; background:#fff;
  transition:width .25s ease,height .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.alumni-rail-crest { display:block; width:18px; height:18px; object-fit:contain; border-radius:50%; }
.alumni-rail-year { margin-top:.28rem; font-size:.9rem; font-weight:800; line-height:1.1; }
.alumni-rail-title { max-width:84px; overflow:hidden; color:#82919d; font-size:.62rem; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.alumni-generation-item[aria-pressed="true"] { color:#0785ad; transform:translateY(-4px) scale(1.05); }
.alumni-generation-item[aria-pressed="true"] .alumni-rail-node {
  width:34px; height:34px; margin-top:-4px; border:2px solid #fff;
  background:#e9f9fd; box-shadow:0 0 0 3px #159bc4,0 7px 18px rgba(21,155,196,.2);
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-crest { width:24px; height:24px; }
.alumni-generation-item[aria-pressed="true"] .alumni-rail-year { color:#0785ad; }
.alumni-timeline-help { margin:.2rem 0 0; text-align:center; color:#8a9aa6; font-size:.75rem; }
.alumni-empty-state[hidden],.alumni-timeline-controls[hidden],.alumni-timeline-help[hidden] { display:none!important; }
@media(max-width:767.98px) {
 .alumni-archive .students-intro { padding-inline:.5rem; }
 .alumni-archive .students-intro .lead { font-size:.94rem; line-height:1.55; }
 .alumni-timeline-experience { margin-top:.7rem; padding:.8rem .55rem .65rem; border-radius:19px; }
 .alumni-feature-photo-wrap { height:clamp(205px,60vw,330px); padding:0 2.25rem; }
 .alumni-feature-photo { border-radius:9px; }
 .alumni-feature-photo img { border-radius:9px; }
 .alumni-stage-arrow { width:32px; height:32px; font-size:.8rem; }
 .alumni-stage-prev { left:.15rem; } .alumni-stage-next { right:.15rem; }
 .alumni-feature-caption { margin:.55rem auto .3rem; padding:.35rem .1rem .7rem; gap:.4rem; }
 .alumni-feature-title h3 { font-size:1.2rem; }
 .alumni-feature-title p { font-size:.85rem; }
 .alumni-photo-count { padding:.4rem .55rem; font-size:.7rem; }
 .alumni-timeline-controls { gap:.25rem; margin-top:.35rem; }
 .alumni-rail-arrow { flex-basis:28px; width:28px; height:28px; font-size:.72rem; }
 .alumni-generation-rail { padding:.7rem .1rem .1rem; }
 .alumni-generation-rail::before { top:23px; }
 .alumni-generation-item { flex-basis:68px; min-height:65px; }
 .alumni-rail-node { width:21px; height:21px; }
 .alumni-rail-crest { width:14px; height:14px; }
 .alumni-rail-year { font-size:.77rem; }
 .alumni-rail-title { max-width:66px; font-size:.56rem; }
 .alumni-generation-item[aria-pressed="true"] .alumni-rail-node { width:29px; height:29px; }
 .alumni-generation-item[aria-pressed="true"] .alumni-rail-crest { width:20px; height:20px; }
 .alumni-timeline-help { font-size:.66rem; }
}
@media(prefers-reduced-motion:reduce) {
 .alumni-feature-photo,.alumni-feature-photo img,.alumni-stage-arrow,.alumni-generation-item,.alumni-rail-node { transition:none!important; }
 .alumni-generation-rail { scroll-behavior:auto!important; }
}
/* Ajuste solicitado: la ficha de promoción va debajo de la línea de tiempo */
.alumni-feature-caption {
  order:3;
  margin:.25rem auto .1rem;
  padding:.8rem .2rem .15rem;
  border-top:1px solid #e4ebf0;
  border-bottom:0;
}
.alumni-timeline-controls { order:2; }
.alumni-timeline-help { order:4; }
.alumni-timeline-experience { display:flex; flex-direction:column; }
.alumni-feature-stage { order:1; }
@media(max-width:767.98px) {
  .alumni-feature-caption { margin:.15rem auto 0; padding:.65rem .1rem .1rem; }
}


/* Ajustes de interacción: un solo escudo visible y navegación precisa */
.alumni-photo-count { display:none !important; }
.alumni-feature-caption { justify-content:flex-start; }
.alumni-generation-item .alumni-rail-crest {
  opacity:0;
  transform:scale(.55);
  transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1);
}
.alumni-generation-item .alumni-rail-node {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s ease,box-shadow .25s ease;
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-crest {
  opacity:1;
  transform:scale(1);
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-node {
  transform:translateY(-7px);
}
.alumni-generation-item[aria-pressed="true"] {
  transform:translateY(-3px);
}
.alumni-timeline-help {
  margin:.05rem 0 0;
  padding-top:.15rem;
}
@media(max-width:767.98px) {
  .alumni-feature-caption { margin:.1rem auto 0; padding:.45rem .1rem .05rem; }
  .alumni-timeline-help { margin:0; padding-top:.05rem; line-height:1.35; }
}
@media(prefers-reduced-motion:reduce) {
  .alumni-generation-item .alumni-rail-crest,
  .alumni-generation-item .alumni-rail-node { transition:none!important; }
}


/* Línea de tiempo determinista: un solo registro por promoción */
.alumni-generation-rail { scroll-snap-type:x proximity; }
.alumni-generation-item { scroll-snap-align:center; }
.alumni-generation-item .alumni-rail-crest {
  opacity:0;
  visibility:hidden;
  transform:scale(.55);
  transition:opacity .22s ease,transform .28s ease,visibility .22s ease;
}
.alumni-generation-item .alumni-rail-node {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-crest {
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-node {
  transform:translateY(-7px);
}
.alumni-generation-item[aria-pressed="true"] {
  transform:translateY(-3px);
}
@media(prefers-reduced-motion:reduce) {
  .alumni-generation-item .alumni-rail-crest { transition:none!important; }
}


/* Selección minimalista: sin recuadro ni tarjeta azul */
.alumni-generation-item,
.alumni-generation-item[aria-pressed="true"],
.alumni-generation-item:hover {
  border:1px solid transparent !important;
  background:transparent !important;
  box-shadow:none !important;
}
.alumni-generation-item[aria-pressed="true"] {
  transform:translateY(-5px) scale(1.025);
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-node {
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.alumni-generation-item[aria-pressed="true"] .alumni-rail-year {
  color:#0785ad;
}
.alumni-generation-item:focus-visible {
  outline:2px solid #0785ad;
  outline-offset:3px;
  border-radius:8px;
}


/* Ajuste exclusivo para móvil: escudo centrado y desplazamiento horizontal estable */
@media (max-width:767.98px) {
  .alumni-timeline-controls {
    display:flex;
    width:100%;
    min-width:0;
    gap:.3rem;
    overflow:visible;
  }
  .alumni-rail-arrow {
    position:relative;
    z-index:2;
    flex:0 0 30px;
    width:30px;
    height:30px;
    padding:0;
  }
  .alumni-generation-rail {
    flex:1 1 0;
    width:0;
    min-width:0;
    height:94px;
    padding:1.25rem .15rem .45rem;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-padding-inline:calc(50% - 34px);
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    touch-action:pan-x;
  }
  .alumni-generation-rail::before { top:25px; }
  .alumni-generation-item {
    flex:0 0 68px;
    min-width:68px;
    min-height:72px;
    padding:0 .1rem;
    transform:none!important;
    scroll-snap-align:center;
  }
  .alumni-generation-item[aria-pressed="true"] {
    transform:none!important;
    color:#0785ad;
  }
  .alumni-generation-item .alumni-rail-node {
    flex:0 0 25px;
    width:25px;
    height:25px;
    margin:0;
    transform:none;
    overflow:visible;
  }
  .alumni-generation-item[aria-pressed="true"] .alumni-rail-node {
    width:32px;
    height:32px;
    margin-top:-3px;
    transform:translateY(-2px);
    border:2px solid #fff;
    background:#e9f9fd;
    box-shadow:0 0 0 3px #159bc4,0 5px 14px rgba(21,155,196,.2);
  }
  .alumni-generation-item .alumni-rail-crest {
    width:18px;
    height:18px;
    max-width:none;
    opacity:0;
    visibility:hidden;
    transform:scale(.55);
  }
  .alumni-generation-item[aria-pressed="true"] .alumni-rail-crest {
    width:23px;
    height:23px;
    opacity:1;
    visibility:visible;
    transform:scale(1);
  }
  .alumni-generation-item .alumni-rail-year {
    margin-top:.25rem;
    line-height:1.15;
  }
  .alumni-feature-photo img {
    animation:alumniMobilePhotoIn .32s cubic-bezier(.2,.75,.25,1) both;
  }
}
@keyframes alumniMobilePhotoIn {
  from { opacity:.65; transform:translateX(9px) scale(.99); }
  to { opacity:1; transform:translateX(0) scale(1); }
}
@media (max-width:767.98px) and (prefers-reduced-motion:reduce) {
  .alumni-feature-photo img { animation:none!important; }
  .alumni-generation-rail { scroll-behavior:auto!important; }
}


/* Exalumnos: identificación de promoción en una sola línea */
.alumni-feature-caption {
  justify-content:center!important;
  align-items:center!important;
  text-align:center;
  padding:.55rem .2rem .35rem!important;
  margin:.25rem auto .1rem!important;
}
.alumni-feature-title-inline { width:100%; }
.alumni-promotion-line {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  column-gap:.42em;
  row-gap:.12em;
  margin:0!important;
  line-height:1.35;
  font-size:clamp(.98rem,2vw,1.2rem);
}
.alumni-promotion-line .alumni-feature-kicker {
  color:#1595bd;
  font-size:inherit;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
.alumni-promotion-name {
  color:#111820;
  font-weight:800;
}
.alumni-promotion-year {
  color:#84919b;
  font-weight:400;
}
.alumni-feature-title-inline .alumni-provisional-label {
  display:block;
  margin-top:.25rem;
  text-align:center;
}
.alumni-generation-item .alumni-rail-node,
.alumni-generation-item[aria-pressed="true"] .alumni-rail-node {
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.alumni-generation-item .alumni-rail-crest {
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
@media(max-width:767.98px) {
  .alumni-feature-caption { padding:.45rem .1rem .2rem!important; }
  .alumni-promotion-line { column-gap:.34em; font-size:.96rem; }
}
