/* ============================================================
   Corporación San Francisco Javier — sitio público
   Paleta y tipografía tomadas de la maqueta original.
   ============================================================ */

:root{
  --verde-900:#0e3a2c; --verde-800:#14532d; --verde-700:#1a6b3c;
  --verde-medio:#228b54; --verde-claro:#2fbf71;
  --verde-100:#dcf5e7; --verde-50:#f0fbf4;
  --blanco:#fff; --gris-100:#f5f7f6; --gris-200:#e6ebe8;
  --texto:#22332a; --texto-suave:#5d6f65;
  --ambar-50:#fff8e6; --ambar-700:#8a5a00;
  --rojo-50:#fdf0ef; --rojo-700:#9b2c22;
  --ancho-max:1180px; --altura-cabecera:76px;
  --sombra-suave:0 10px 30px rgba(14,58,44,.08);
  --radio:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--altura-cabecera) + 16px)}
body{
  margin:0; background:var(--blanco); color:var(--texto);
  font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--verde-700)}
h1,h2,h3,h4{line-height:1.2; margin:0 0 .5em; font-weight:700; letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}
h3{font-size:1.15rem}
p{margin:0 0 1rem}
.contenedor{width:100%; max-width:var(--ancho-max); margin:0 auto; padding:0 20px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--verde-claro); outline-offset:2px; border-radius:6px}

/* ---------- Cabecera ---------- */
.cabecera{
  position:sticky; top:0; z-index:60; background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--gris-200);
}
.cabecera__fila{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; min-height:var(--altura-cabecera);
}
.marca{display:flex; align-items:center; text-decoration:none; color:inherit; flex:0 0 auto; max-width:260px}
.marca strong{display:block; font-size:1rem; line-height:1.2}
.marca span{display:block; font-size:.68rem; letter-spacing:.14em; color:var(--texto-suave); text-transform:uppercase}
.menu{display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0}
.menu a{
  display:block; padding:8px 11px; border-radius:999px; text-decoration:none;
  color:var(--texto); font-size:.85rem; font-weight:500; white-space:nowrap;
}
.menu a:hover{background:var(--acento-50,var(--verde-50)); color:var(--acento-800,var(--verde-800))}
.menu a.activo{background:var(--acento-800,var(--verde-800)); color:#fff}
.menu .destacado{background:var(--verde-700); color:#fff}
.menu .destacado:hover{background:var(--verde-800); color:#fff}
/* Acceso de funcionarios: presente, pero sin competir con el de apoderados */
.menu .secundario{
  border:1.5px solid var(--gris-200); color:var(--texto-suave); padding:6px 12px;
}
.menu .secundario:hover{
  background:transparent; border-color:var(--acento-700,var(--verde-700));
  color:var(--acento-800,var(--verde-800));
}
.menu-boton{
  display:none; border:1px solid var(--gris-200); background:var(--gris-100);
  width:44px; height:44px; border-radius:12px; font-size:1.3rem; cursor:pointer; color:var(--verde-900);
}
@media (max-width:1150px){
  .menu-boton{display:block}
  .menu{
    position:absolute; left:0; right:0; top:100%; flex-direction:column;
    align-items:stretch; gap:0; background:#fff; border-bottom:1px solid var(--gris-200);
    padding:8px 20px 20px; box-shadow:var(--sombra-suave); display:none;
  }
  .menu.abierto{display:flex}
  .menu a{padding:14px 6px; border-radius:10px; font-size:1rem}
  .menu .secundario{padding:12px 14px; display:inline-block}
}

/* ---------- Bloques ---------- */
.seccion{padding:clamp(56px,8vw,96px) 0}
.seccion--gris{background:var(--gris-100)}
.seccion--verde{background:var(--verde-900); color:#fff}
.seccion--verde h2,.seccion--verde h3{color:#fff}
.seccion--verde p{color:#d5e6dd}
.etiqueta{
  display:inline-block; background:var(--verde-100); color:var(--verde-800);
  font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  padding:6px 14px; border-radius:999px; margin-bottom:16px;
}
.seccion--verde .etiqueta{background:rgba(255,255,255,.14); color:#bff0d5}
.centrado{text-align:center}
.centrado .plomo{max-width:720px; margin-left:auto; margin-right:auto}
.plomo{color:var(--texto-suave); font-size:1.05rem}
.seccion--verde .plomo{color:#cfe5da}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:13px 26px;
  border-radius:999px; text-decoration:none; font-weight:600; font-size:.95rem;
  border:1.5px solid transparent; cursor:pointer; transition:.18s ease; line-height:1.2;
}
.btn--primario{background:#fff; color:var(--verde-900)}
.btn--primario:hover{background:var(--verde-100)}
.btn--solido{background:var(--verde-700); color:#fff}
.btn--solido:hover{background:var(--verde-800)}
.btn--borde{border-color:rgba(255,255,255,.55); color:#fff}
.btn--borde:hover{background:rgba(255,255,255,.12)}
.btn--borde-verde{border-color:var(--gris-200); color:var(--verde-800); background:#fff}
.btn--borde-verde:hover{background:var(--verde-50); border-color:var(--verde-claro)}
.btn--peligro{background:var(--rojo-50); color:var(--rojo-700); border-color:#f0cdc9}
.btn--peligro:hover{background:#f9dfdc}
.btn--chico{padding:8px 16px; font-size:.85rem}

/* ---------- Portada ---------- */
.portada{
  background:linear-gradient(135deg,var(--verde-900) 0%,var(--verde-800) 55%,var(--verde-700) 100%);
  color:#fff; padding:clamp(56px,8vw,104px) 0;
}
.portada__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center}
.portada h1{color:#fff; margin-bottom:20px}
.portada p{color:#d5e6dd; font-size:1.06rem; max-width:56ch}
.portada__acciones{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
.portada__foto{border-radius:24px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.28)}
.portada__foto img{width:100%; height:auto; display:block}
@media (max-width:880px){ .portada__grid{grid-template-columns:1fr} }

/* ---------- Tarjetas ---------- */
.grilla{display:grid; gap:20px}
.grilla--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grilla--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grilla--4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tarjeta{
  background:#fff; border:1px solid var(--gris-200); border-radius:var(--radio);
  padding:26px; box-shadow:var(--sombra-suave); transition:.18s ease;
}
.tarjeta h3{margin-bottom:8px}
.tarjeta p{color:var(--texto-suave); font-size:.94rem; margin-bottom:0}
.tarjeta__icono{
  width:44px; height:44px; border-radius:12px; background:var(--verde-100);
  color:var(--verde-800); display:grid; place-items:center; font-size:1.25rem; margin-bottom:16px;
}
a.tarjeta{text-decoration:none; color:inherit; display:block}
a.tarjeta:hover{transform:translateY(-3px); border-color:var(--verde-claro); box-shadow:0 16px 38px rgba(14,58,44,.13)}

.cifras{display:flex; flex-wrap:wrap; gap:20px; margin-top:32px}
.cifra{flex:1 1 200px; background:#fff; border:1px solid var(--gris-200); border-radius:var(--radio); padding:26px; text-align:center}
.cifra strong{display:block; font-size:2.4rem; color:var(--verde-700); line-height:1}
.cifra span{color:var(--texto-suave); font-size:.9rem}

/* ---------- Documentos ---------- */
.filtros{
  background:#fff; border:1px solid var(--gris-200); border-radius:var(--radio);
  padding:20px; box-shadow:var(--sombra-suave); margin-bottom:32px;
}
.filtros__fila{display:flex; flex-wrap:wrap; gap:10px; align-items:center}
.filtros__fila + .filtros__fila{margin-top:14px; padding-top:14px; border-top:1px solid var(--gris-200)}
.filtros__titulo{font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--texto-suave); width:100%; margin:0}
.chip{
  display:inline-block; padding:8px 16px; border-radius:999px; text-decoration:none;
  font-size:.88rem; font-weight:500; border:1px solid var(--gris-200);
  background:var(--gris-100); color:var(--texto);
}
.chip:hover{border-color:var(--verde-claro); background:var(--verde-50)}
.chip.activo{background:var(--verde-800); border-color:var(--verde-800); color:#fff}
.buscador{display:flex; gap:8px; flex:1 1 260px}
.buscador input{
  flex:1; padding:10px 16px; border:1px solid var(--gris-200); border-radius:999px;
  font:inherit; font-size:.92rem; background:var(--gris-100);
}
.buscador input:focus{background:#fff}

.doc-grupo{margin-bottom:44px}
.doc-grupo__titulo{
  display:flex; align-items:center; gap:12px; margin-bottom:18px;
  font-size:1.25rem; color:var(--verde-900); font-weight:700;
  cursor:pointer; list-style:none; user-select:none;
  padding:6px 4px; border-radius:10px;
}
.doc-grupo__titulo::-webkit-details-marker{display:none}
.doc-grupo__titulo::after{content:""; flex:1; height:1px; background:var(--gris-200)}
.doc-grupo__titulo:hover{background:var(--acento-50,var(--verde-50))}
.doc-grupo__titulo:focus-visible{outline:3px solid var(--verde-claro); outline-offset:2px}
.doc-grupo__nombre{flex:0 0 auto}
/* Flecha que gira al abrir y cerrar */
.doc-grupo__flecha{
  flex:0 0 auto; width:22px; height:22px; border-radius:6px;
  background:var(--acento-100,var(--verde-100)); position:relative;
  transition:transform .18s ease;
}
.doc-grupo__flecha::before{
  content:""; position:absolute; left:7px; top:8px;
  width:6px; height:6px; border-right:2px solid var(--acento-800,var(--verde-800));
  border-bottom:2px solid var(--acento-800,var(--verde-800));
  transform:rotate(45deg);
}
details.doc-grupo[open] > .doc-grupo__titulo .doc-grupo__flecha{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){ .doc-grupo__flecha{transition:none} }
.doc-lista{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.doc{
  display:flex; gap:16px; background:#fff; border:1px solid var(--gris-200);
  border-radius:var(--radio); padding:20px; text-decoration:none; color:inherit; transition:.18s ease;
}
.doc:hover{transform:translateY(-2px); border-color:var(--verde-claro); box-shadow:0 14px 34px rgba(14,58,44,.12)}
.doc__icono{
  flex:0 0 auto; width:46px; height:46px; border-radius:12px;
  background:var(--acento-100,var(--verde-100)); color:var(--acento-800,var(--verde-800));
  display:grid; place-items:center; transition:.18s ease;
}
.doc:hover .doc__icono{background:var(--acento-700,var(--verde-700)); color:#fff}
.doc__cuerpo{min-width:0}
.doc__cuerpo h3{font-size:1rem; margin-bottom:6px}
.doc__cuerpo p{font-size:.88rem; color:var(--texto-suave); margin:0 0 10px}
.doc__meta{display:flex; flex-wrap:wrap; gap:8px; font-size:.74rem; color:var(--texto-suave)}
.doc__meta span{background:var(--gris-100); border-radius:999px; padding:3px 10px}
.doc__meta .est-colegio{background:var(--verde-100); color:var(--verde-800)}
.doc__meta .est-hospitalaria{background:#e7f0fb; color:#1c4f8a}
.doc__meta .est-ambos{background:var(--ambar-50); color:var(--ambar-700)}

.vacio{
  background:var(--gris-100); border:1px dashed var(--gris-200); border-radius:var(--radio);
  padding:44px; text-align:center; color:var(--texto-suave);
}

/* ---------- Visor de documento ---------- */
.visor{border:1px solid var(--gris-200); border-radius:var(--radio); overflow:hidden; background:var(--gris-100)}
.visor iframe{width:100%; height:min(78vh,900px); border:0; display:block}
.visor__aviso{padding:20px; text-align:center; color:var(--texto-suave); font-size:.9rem}
.migas{font-size:.86rem; color:var(--texto-suave); margin-bottom:20px}
.migas a{color:var(--verde-700); text-decoration:none}
.migas a:hover{text-decoration:underline}

/* ---------- Contacto / ubicación ---------- */
.info-lista{list-style:none; margin:0; padding:0; display:grid; gap:20px}
.info-lista li{display:flex; gap:14px}
.info-lista .ico{
  flex:0 0 auto; width:38px; height:38px; border-radius:10px; background:var(--verde-100);
  color:var(--verde-800); display:grid; place-items:center; font-size:1rem;
}
.info-lista strong{display:block; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--texto-suave)}
.info-lista a{color:var(--verde-700); text-decoration:none; word-break:break-word}
.info-lista a:hover{text-decoration:underline}
.mapa{border-radius:var(--radio); overflow:hidden; border:1px solid var(--gris-200); min-height:340px}
.mapa iframe{width:100%; height:100%; min-height:340px; border:0; display:block}

/* ---------- Pie ---------- */
.pie{background:var(--verde-900); color:#cfe5da; padding:56px 0 28px}
.pie__grid{display:grid; grid-template-columns:1.5fr 1.1fr .8fr 1fr; gap:32px}
.pie .marca strong,.pie .marca span{color:#fff}
.pie .marca span{color:#9dc7b3}
.pie h4{color:#fff; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px}
.pie ul{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.pie a{color:#cfe5da; text-decoration:none; font-size:.92rem}
.pie a:hover{color:#fff; text-decoration:underline}
.pie__base{
  margin-top:36px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14);
  font-size:.82rem; color:#9dc7b3; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
}
@media (max-width:1000px){ .pie__grid{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .pie__grid{grid-template-columns:1fr} }

/* ---------- Avisos ---------- */
.aviso{border-radius:12px; padding:14px 18px; font-size:.92rem; margin-bottom:20px}
.aviso--ok{background:var(--verde-50); border:1px solid var(--verde-100); color:var(--verde-800)}
.aviso--error{background:var(--rojo-50); border:1px solid #f0cdc9; color:var(--rojo-700)}
.aviso--info{background:var(--ambar-50); border:1px solid #f2e3bd; color:var(--ambar-700)}

/* ---------- Panel de administración ---------- */
.admin{background:var(--gris-100); min-height:100vh; padding:32px 0 64px}
.admin-caja{background:#fff; border:1px solid var(--gris-200); border-radius:var(--radio); padding:26px; box-shadow:var(--sombra-suave); margin-bottom:24px}
.campo{margin-bottom:16px}
.campo label{display:block; font-size:.8rem; font-weight:600; color:var(--texto-suave); margin-bottom:6px}
.campo input[type=text],.campo input[type=number],.campo input[type=file],.campo select,.campo textarea{
  width:100%; padding:11px 14px; border:1px solid var(--gris-200); border-radius:10px;
  font:inherit; font-size:.94rem; background:#fff;
}
.campo textarea{min-height:88px; resize:vertical}
.campo-fila{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px}
.tabla{width:100%; border-collapse:collapse; font-size:.9rem}
.tabla th{text-align:left; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--texto-suave); padding:10px 12px; border-bottom:2px solid var(--gris-200)}
.tabla td{padding:12px; border-bottom:1px solid var(--gris-200); vertical-align:top}
.tabla tr:hover td{background:var(--verde-50)}
.pill{display:inline-block; font-size:.72rem; padding:3px 10px; border-radius:999px; background:var(--gris-100); color:var(--texto-suave)}
.pill--on{background:var(--verde-100); color:var(--verde-800)}
.pill--off{background:var(--gris-200); color:var(--texto-suave)}
.acciones-fila{display:flex; flex-wrap:wrap; gap:6px}
.tabla-scroll{overflow-x:auto}

@media print{
  .cabecera,.pie,.filtros,.btn{display:none !important}
  /* Al imprimir, todos los grupos van abiertos */
  details.doc-grupo > .doc-lista{display:grid !important}
  .doc-grupo__flecha{display:none}
}

/* ============================================================
   IDENTIDAD POR ESTABLECIMIENTO
   El Colegio usa el verde institucional; las Escuelas
   Hospitalarias usan azul. Cada bloque del sitio hereda su
   color desde --acento, así el visitante siempre sabe de cuál
   de los dos está leyendo.
   ============================================================ */

:root{
  --azul-900:#0d2f52; --azul-800:#14446f; --azul-700:#1c5a91;
  --azul-medio:#2a7ab8; --azul-100:#dceaf7; --azul-50:#f1f7fd;
}

/* Contexto: Colegio (verde, por defecto) */
.ctx-colegio{
  --acento-900:var(--verde-900); --acento-800:var(--verde-800);
  --acento-700:var(--verde-700); --acento-100:var(--verde-100);
  --acento-50:var(--verde-50);
}
/* Contexto: Escuelas Hospitalarias (azul) */
.ctx-hospitalaria{
  --acento-900:var(--azul-900); --acento-800:var(--azul-800);
  --acento-700:var(--azul-700); --acento-100:var(--azul-100);
  --acento-50:var(--azul-50);
}
/* Contexto: transversal a los dos */
.ctx-ambos{
  --acento-900:#5a4a10; --acento-800:var(--ambar-700);
  --acento-700:#a06a0a; --acento-100:#fbecc6; --acento-50:var(--ambar-50);
}

/* Piezas que toman el color del contexto */
.ctx-colegio .etiqueta,.ctx-hospitalaria .etiqueta,.ctx-ambos .etiqueta{
  background:var(--acento-100); color:var(--acento-800);
}
.ctx-colegio .tarjeta__icono,.ctx-hospitalaria .tarjeta__icono,.ctx-ambos .tarjeta__icono{
  background:var(--acento-100); color:var(--acento-800);
}
.ctx-hospitalaria .btn--solido{background:var(--azul-700)}
.ctx-hospitalaria .btn--solido:hover{background:var(--azul-800)}
.ctx-hospitalaria .btn--borde-verde{color:var(--azul-800)}
.ctx-hospitalaria .btn--borde-verde:hover{background:var(--azul-50); border-color:var(--azul-medio)}
.ctx-hospitalaria a{color:var(--azul-700)}
.ctx-hospitalaria .doc:hover{border-color:var(--azul-medio); box-shadow:0 14px 34px rgba(13,47,82,.14)}
.ctx-hospitalaria a.tarjeta:hover{border-color:var(--azul-medio); box-shadow:0 16px 38px rgba(13,47,82,.14)}
.ctx-hospitalaria .doc-grupo__titulo{color:var(--azul-900)}
.ctx-hospitalaria .info-lista .ico{background:var(--azul-100); color:var(--azul-800)}
.ctx-hospitalaria .cifra strong{color:var(--azul-700)}

/* Portada en azul para el mundo hospitalario */
.portada--hospitalaria{
  background:linear-gradient(135deg,var(--azul-900) 0%,var(--azul-800) 55%,var(--azul-700) 100%);
}
.seccion--azul{background:var(--azul-900); color:#fff}
.seccion--azul h2,.seccion--azul h3{color:#fff}
.seccion--azul p{color:#d3e4f4}
.seccion--azul .etiqueta{background:rgba(255,255,255,.14); color:#bcdcf7}
.seccion--azul .plomo{color:#cbdff2}

/* ---------- Selector de establecimiento ---------- */
.selector{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:20px}
.selector__opcion{
  display:block; text-decoration:none; color:inherit; border-radius:var(--radio);
  padding:32px; border:2px solid var(--gris-200); background:#fff;
  box-shadow:var(--sombra-suave); transition:.18s ease; position:relative; overflow:hidden;
}
.selector__opcion::before{
  content:""; position:absolute; inset:0 auto 0 0; width:6px; background:var(--acento-700);
}
.selector__opcion:hover{transform:translateY(-4px); border-color:var(--acento-700); box-shadow:0 20px 44px rgba(14,58,44,.14)}
.selector__opcion h3{font-size:1.35rem; color:var(--acento-900); margin-bottom:6px}
.selector__opcion .sub{
  display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  background:var(--acento-100); color:var(--acento-800); padding:5px 12px; border-radius:999px; margin-bottom:14px;
}
.selector__opcion p{color:var(--texto-suave); font-size:.94rem}
.selector__opcion .flecha{display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--acento-700); font-size:.92rem}
.selector__datos{display:flex; gap:20px; flex-wrap:wrap; margin:16px 0; font-size:.84rem; color:var(--texto-suave)}
.selector__datos b{display:block; font-size:1.4rem; color:var(--acento-700); line-height:1.1}

/* ---------- Bloque de establecimiento en Documentos ---------- */
.bloque-est{
  border:1px solid var(--gris-200); border-radius:var(--radio); background:#fff;
  box-shadow:var(--sombra-suave); overflow:hidden; margin-bottom:32px;
}
.bloque-est__cabecera{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;
  padding:22px 26px; background:var(--acento-800); color:#fff;
}
.bloque-est__cabecera h2{margin:0; font-size:1.3rem; color:#fff}
.bloque-est__cabecera p{margin:4px 0 0; font-size:.88rem; color:rgba(255,255,255,.82)}
.bloque-est__conteo{
  background:rgba(255,255,255,.18); border-radius:999px; padding:6px 16px;
  font-size:.82rem; font-weight:600; white-space:nowrap;
}
.bloque-est__cuerpo{padding:26px}
.bloque-est .doc-grupo{margin-bottom:28px}
.bloque-est .doc-grupo:last-child{margin-bottom:0}
.bloque-est .doc-grupo__titulo{font-size:1rem; color:var(--acento-900)}

.marca-compartido{
  background:var(--ambar-50); color:var(--ambar-700); border:1px solid #f2e3bd;
  font-size:.7rem; font-weight:600; padding:2px 9px; border-radius:999px; white-space:nowrap;
}

/* ---------- Equipo ---------- */
.equipo{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.persona{
  background:#fff; border:1px solid var(--gris-200); border-radius:var(--radio);
  padding:24px; text-align:center; box-shadow:var(--sombra-suave);
}
.persona__foto,.persona__inicial{
  width:84px; height:84px; border-radius:50%; margin:0 auto 14px; object-fit:cover; display:block;
}
.persona__inicial{
  display:grid; place-items:center; background:var(--acento-100); color:var(--acento-800);
  font-size:1.6rem; font-weight:700; letter-spacing:.02em;
}
.persona h3{font-size:1.02rem; margin-bottom:4px}
.persona .cargo{
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--acento-700); margin-bottom:8px;
}
.persona .escuela{font-size:.82rem; color:var(--texto-suave); margin-bottom:8px}
.persona a{font-size:.85rem; word-break:break-word}

@media (max-width:620px){
  .bloque-est__cabecera{padding:18px}
  .bloque-est__cuerpo{padding:18px}
  .selector__opcion{padding:24px}
}

/* ---------- Áreas en desarrollo ---------- */
.proximo{
  display:flex; gap:22px; align-items:flex-start;
  background:#fff; border:1px solid var(--gris-200); border-radius:var(--radio);
  padding:28px; box-shadow:var(--sombra-suave);
}
.proximo + .proximo{margin-top:18px}
.proximo__icono{
  flex:0 0 auto; width:58px; height:58px; border-radius:16px;
  background:var(--verde-100); display:grid; place-items:center; font-size:1.6rem;
}
.proximo__texto h2{font-size:1.4rem; margin:6px 0 8px}
.proximo__texto p{color:var(--texto-suave); margin:0; max-width:62ch}
.proximo__marca{
  display:inline-block; background:var(--ambar-50); color:var(--ambar-700);
  border:1px solid #f2e3bd; border-radius:999px; padding:4px 13px;
  font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
}
@media (max-width:620px){
  .proximo{flex-direction:column; gap:16px; padding:22px}
}
