/* =====================================================================
   TeX Gyre Pagella, recortada al repertorio de este sitio (59 KB las tres).
   Licencia GUST (LPPL 1.3c); ver fuentes/GUST-FONT-LICENSE.txt. La familia
   va renombrada porque la licencia lo pide para las obras derivadas.
   Aquí viven las cifras elzevirianas: el 3 y el 4 bajan del renglón, el 8
   sube el palo. No dependen de la máquina de quien lee.
   ===================================================================== */
@font-face{font-family:"Pagella Sitio";src:url("fuentes/pagella-sitio-regular.woff") format("woff");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Pagella Sitio";src:url("fuentes/pagella-sitio-italic.woff") format("woff");
  font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Pagella Sitio";src:url("fuentes/pagella-sitio-bold.woff") format("woff");
  font-weight:700;font-style:normal;font-display:swap}

/* =====================================================================
   gente.itam.mx/pablo.castaneda — hoja única
   Generado por generar.py. No editar a mano: se sobrescribe.
   ===================================================================== */
:root{
  --noche:#05080A; --capa:#0B1114; --hueco:#040708;
  --itam:#136354; --itam-luz:#2FA98E; --itam-claro:#7EDCC3;
  --texto:#E9EEEF; --suave:#B9C6C6; --apagado:#7E8F90; --linea:#16262A;
  --agua:#4FA3D6; --gas:#E8C24A; --aceite:#D6552B;
  --serif:"Pagella Sitio","TeX Gyre Pagella",Palatino,"Palatino Linotype","Palatino LT STD",
          "Book Antiqua","URW Palladio L",P052,Georgia,serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --pad:1.375rem; --rail:0rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;
  /* Antes había un solo corte, en 62rem: todo lo de abajo usaba 16 px y
     un contenedor de 41rem, así que en un teléfono ancho o una tableta
     quedaba letra diminuta con márgenes enormes. Ahora la raíz crece de
     forma continua, y como el contenedor está en rem, crece con ella. */
  font-size:clamp(1rem, 0.43rem + 2.86vw, 2.125rem)}
body{margin:0;background:var(--noche);color:var(--texto);font-family:var(--serif);
  font-size:1.0625rem;line-height:1.62;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(38rem 26rem at 62% -4%, rgba(47,169,142,.115), transparent 68%),
    radial-gradient(30rem 30rem at 99% 22%, rgba(19,99,84,.115),  transparent 66%),
    radial-gradient(40rem 22rem at 30% 104%, rgba(19,99,84,.085), transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(180,210,205,.075) .5px,transparent .5px);
  background-size:14px 14px;
  -webkit-mask-image:radial-gradient(70rem 50rem at 25% 0%,#000,transparent 75%);
          mask-image:radial-gradient(70rem 50rem at 25% 0%,#000,transparent 75%)}
#lienzo{position:relative;z-index:1}
main{padding-top:calc(var(--barra,7rem) + 1.4rem)}
[id]{scroll-margin-top:calc(var(--barra,7rem) + 1.8rem)}

a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--itam-claro);outline-offset:3px;border-radius:2px}
.salta{position:absolute;left:-9999px;background:var(--itam-claro);color:#04140F;padding:.6rem 1rem;z-index:99}
.salta:focus{left:.5rem;top:.5rem}
.caja{max-width:41rem;margin:0 auto;padding:0 var(--pad)}
.sangra{margin-left:var(--rail)}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- barra de navegación ---------- */
#rail{position:fixed;z-index:30;left:0;right:0;top:0;
  display:flex;flex-wrap:wrap;align-items:stretch;gap:0;
  padding:.35rem .3rem .2rem;
background:rgba(5,8,10,.82);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--linea);box-shadow:inset 0 1px 0 rgba(126,220,195,.07);
  overflow-x:auto;scrollbar-width:none}
#rail::-webkit-scrollbar{display:none}
/* --- nivel 1: las seis secciones del sitio. Color fuerte: dicen DÓNDE
       ESTÁS EN EL SITIO, que es la orientación primaria. --- */
/* Las seis caben siempre en un renglón: se reparten el ancho. Antes,
   con ancho fijo, en un teléfono angosto se partían en dos y la barra
   se comía una cuarta parte de la pantalla. */
#rail .sec{flex:0 0 auto;width:calc(100%/6);min-width:0;
  display:flex;flex-direction:column;align-items:center;gap:.2rem;
  padding:.45rem .1rem;text-decoration:none;color:var(--apagado);
  font-size:.6875rem;line-height:1.15;text-align:center;border-radius:8px;
  transition:color .18s,background .18s;order:1;
  hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
#rail .sec svg{width:clamp(20px,3.1vw,31px);height:clamp(20px,3.1vw,31px);display:block}
#rail .sec:hover{color:var(--itam-claro)}
#rail .sec[aria-current]{color:var(--itam-claro);
  background:linear-gradient(180deg,rgba(47,169,142,.19),rgba(47,169,142,.05));
  box-shadow:inset 0 1px 0 rgba(126,220,195,.20)}

/* --- nivel 2: las secciones de esta página. Marca discreta: dicen DÓNDE
       VAS EN LA PÁGINA, que cambia al desplazarse y no debe competir. --- */
#rail .subs{order:9;flex:0 0 100%;display:flex;gap:.1rem;margin:.15rem 0 0;padding:0 .1rem;
  list-style:none;overflow-x:auto;scrollbar-width:none;
  border-top:1px solid #101C20;
  /* este renglón sí puede correr: el borde se desvanece para avisarlo */
  -webkit-mask-image:linear-gradient(to right,#000 94%,transparent 100%);
          mask-image:linear-gradient(to right,#000 94%,transparent 100%)}
#rail .subs::-webkit-scrollbar{display:none}
#rail .subs a{flex:1 0 auto;display:flex;flex-direction:row;align-items:center;gap:.3rem;
  padding:.3rem .5rem;text-decoration:none;border:0;
  color:#6E7F80;font-size:clamp(10px,2.1vw,21px);white-space:nowrap;border-radius:5px;
  transition:color .16s}
#rail .subs a svg{width:clamp(15px,2.5vw,25px);height:clamp(15px,2.5vw,25px);
  display:block;flex:0 0 auto}
#rail .subs a:hover{color:var(--suave)}
#rail .subs a[aria-current]{color:var(--gas);background:rgba(232,194,74,.10)}
.ico{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- idioma ---------- */
.idioma{display:flex;gap:1.1rem;align-items:center;font-size:.8125rem;padding-top:1rem}
.idioma a{display:inline-flex;align-items:center;gap:.4rem;color:var(--apagado);
  text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}
.idioma a:hover{color:var(--texto)}
.idioma a[aria-current]{color:var(--texto);border-bottom-color:var(--itam-luz)}
.idioma img{width:17px;height:auto;display:block;border-radius:2px;opacity:.9}

/* ---------- portada ---------- */
.portada{display:grid;grid-template-areas:"idioma" "foto" "texto" "licencia" "cifras";gap:0}
.portada .idioma{grid-area:idioma}
.portada .cisneros{grid-area:foto}
.portada .bloque{grid-area:texto}
.portada .licencia{grid-area:licencia}
.portada .cifras{grid-area:cifras}
.cisneros{position:relative;margin:.9rem calc(var(--pad)*-1) 0}
.cisneros img{display:block;width:100%;height:auto;
  box-shadow:0 1.5rem 4rem -1rem rgba(0,0,0,.9),0 0 0 1px rgba(126,220,195,.10),
             0 0 6rem -2rem rgba(47,169,142,.5);
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 62%,transparent 100%)}
.firma{position:absolute;right:var(--pad);bottom:2.5rem;margin:0;z-index:3;
  font-size:.75rem;color:#6F8082}
.firma a{text-decoration:none;border-bottom:1px solid #22383A}
h1{position:relative;z-index:2;margin:-1rem 0 0;
  font-size:clamp(2.7rem,14.5vw,4rem);line-height:.93;font-weight:700;
  letter-spacing:-.025em;text-shadow:0 0 4rem rgba(47,169,142,.30)}
.presenta{display:flex;gap:1.15rem;align-items:flex-start;margin-top:1.4rem}
.presenta img{width:6.5rem;height:6.5rem;object-fit:cover;object-position:50% 22%;
  border-radius:3px;flex:0 0 auto;
  box-shadow:0 .7rem 2rem -.5rem rgba(0,0,0,.9),0 0 0 1px rgba(126,220,195,.16)}
.oficio{margin:0;font-size:1.125rem;color:var(--suave)}
.puesto{margin:1.1rem 0 0;font-size:.9375rem;color:var(--apagado)}
.puesto a,.datos a{text-decoration:none;border-bottom:1px solid #22383A}
.puesto a:hover,.datos a:hover{color:var(--itam-claro)}
.licencia{margin:1.5rem 0 0;padding:1rem 1.1rem;font-size:.9375rem;color:var(--suave);
  background:linear-gradient(100deg,rgba(19,99,84,.26),rgba(19,99,84,.05));
  border-left:2px solid var(--itam-luz);border-radius:0 4px 4px 0;
  box-shadow:inset 0 1px 0 rgba(126,220,195,.10)}

/* ---------- cifras elzevirianas ---------- */
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;
  margin:2.5rem 0 0;padding:1.5rem 1.1rem;background:var(--hueco);border-radius:5px;
  border-top:1px solid var(--linea);border-bottom:1px solid #0A1113;
  box-shadow:inset 0 2rem 3rem -2rem rgba(0,0,0,.95),inset 0 1px 0 rgba(126,220,195,.06)}
.cifra{margin:0}
.cifra b{display:block;font-size:2.6rem;line-height:1;font-weight:400;
  font-variant-numeric:oldstyle-nums proportional-nums;
  font-feature-settings:"onum" 1,"pnum" 1}
.cifra:nth-child(1) b{color:var(--agua);  text-shadow:0 0 2.5rem rgba(79,163,214,.55)}
.cifra:nth-child(2) b{color:var(--gas);   text-shadow:0 0 2.5rem rgba(232,194,74,.5)}
.cifra:nth-child(3) b{color:var(--aceite);text-shadow:0 0 2.5rem rgba(214,85,43,.5)}
.cifra .etq{display:block;margin-top:.45rem;font-size:.8125rem;color:var(--apagado);
  line-height:1.3;max-width:14ch}
.cifra b span{font:inherit;color:inherit;display:inline}

/* ---------- secciones ---------- */
section{padding-top:3.25rem}
h2{font-size:1.5rem;font-weight:400;margin:0 0 .8rem;letter-spacing:-.012em}
h3{font-size:1.1875rem;font-weight:400;margin:2.25rem 0 .6rem;color:var(--texto)}
.rotulo{font-size:1rem;font-weight:400;color:var(--apagado);margin:0 0 .4rem}
section p{margin:0 0 1.5rem;color:var(--suave);font-size:1rem}
.plomo{font-size:1.125rem;color:var(--suave);max-width:60ch}
a.enlace,section p a,main li a{color:var(--itam-claro);text-decoration:none;
  border-bottom:1px solid #235047}
a.enlace:hover,section p a:hover,main li a:hover{border-bottom-color:var(--itam-claro)}

/* ---------- encabezado de página interior ---------- */
.titulo-pagina{padding-top:.5rem}
.titulo-pagina h1{font-size:clamp(2.1rem,9vw,2.9rem);margin:.6rem 0 0;line-height:1;
  text-shadow:0 0 3rem rgba(47,169,142,.25)}
.migaja{font-size:.8125rem;color:var(--apagado);margin:0}
.migaja a{color:var(--apagado);text-decoration:none;border-bottom:1px solid #22383A}

/* ---------- triángulo ---------- */
figure{margin:0}
figure svg{display:block;width:100%;height:auto;max-width:22rem;
  filter:drop-shadow(0 0 3rem rgba(47,169,142,.30))}
figcaption{margin-top:.9rem;font-size:.8125rem;color:var(--apagado);max-width:46ch}
.tri-borde{fill:none;stroke:#2B4447;stroke-width:1.1}
.tri-vert{font-size:11px;fill:var(--apagado);font-family:var(--serif)}
.onda{fill:none;stroke-width:2.5;stroke-linecap:round}
.rarefaccion{stroke:var(--gas)} .choque{stroke:var(--aceite)}
.estado{fill:var(--noche);stroke:var(--texto);stroke-width:1.6}
.discont{stroke:#3A5356;stroke-width:1;stroke-dasharray:3 4}
@media (prefers-reduced-motion: no-preference){
  .onda{stroke-dasharray:100;stroke-dashoffset:100;animation:trazar 1.5s ease-out forwards}
  .rarefaccion{animation-delay:.4s}
  .choque{animation-delay:1.3s;animation-duration:.55s}
  .estado{opacity:0;animation:surge .4s ease-out forwards}
  .e1{animation-delay:.2s}.e2{animation-delay:1.25s}.e3{animation-delay:1.8s}
  @keyframes trazar{to{stroke-dashoffset:0}}
  @keyframes surge{to{opacity:1}}
}

/* ---------- tiras de película ---------- */
.negativo{margin:3.25rem 0 0;position:relative;overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.negativo::-webkit-scrollbar{display:none}
.negativo img{display:block;height:15rem;width:auto;max-width:none;
  box-shadow:0 1rem 3rem -1rem rgba(0,0,0,.9)}
.negativo figcaption{padding:0 var(--pad);max-width:44rem;margin:.9rem auto 0;
  position:sticky;left:0}

/* ---------- novedades ---------- */
.novedades ol{list-style:none;margin:0;padding:0}
.novedades li{display:grid;grid-template-columns:5.25rem 1fr;gap:.8rem;
  padding:.85rem 0;border-bottom:1px solid var(--linea);font-size:.9375rem}
.novedades li:first-child{border-top:1px solid var(--linea)}
.novedades time{color:var(--apagado);font-size:.8125rem;padding-top:.15rem;
  font-variant-numeric:oldstyle-nums}
.novedades li>div{max-width:66ch}

/* ---------- puertas ---------- */
.puertas{display:grid;gap:.6rem;margin-top:.25rem}
.puerta{display:grid;grid-template-columns:2rem 1fr;gap:.9rem;align-items:start;
  padding:1.1rem;text-decoration:none;border-radius:5px;
  background:linear-gradient(165deg,var(--capa),#070D10);border:1px solid var(--linea);
  box-shadow:inset 0 1px 0 rgba(126,220,195,.055),0 .6rem 1.5rem -.8rem rgba(0,0,0,.85);
  transition:border-color .2s,transform .2s,box-shadow .2s}
.puerta svg{width:22px;height:22px;color:var(--itam-luz);margin-top:.28rem;opacity:.95}
.puerta strong{display:block;font-size:1.1875rem;font-weight:400}
.puerta span{display:block;margin-top:.15rem;font-size:.875rem;color:var(--apagado);line-height:1.45}
.puerta:hover{border-color:#2C5A51;transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(126,220,195,.14),0 1rem 2rem -.8rem rgba(0,0,0,.9),
             0 0 3rem -1rem rgba(47,169,142,.65)}
.puerta:hover strong{color:var(--itam-claro)}

/* ---------- publicaciones ---------- */
.lista-pub{list-style:none;margin:0;padding:0;counter-reset:pub}
.lista-pub>li{position:relative;padding:1.1rem 0 1.1rem 2.9rem;
  border-bottom:1px solid var(--linea)}
.lista-pub>li::before{counter-increment:pub;content:counter(pub);
  position:absolute;left:0;top:1.15rem;width:2rem;text-align:right;
  color:#76847F;font-size:.9375rem;
  font-variant-numeric:oldstyle-nums;font-feature-settings:"onum" 1}
.pub-t{display:block;font-size:1.0625rem;color:var(--texto)}
.pub-a{display:block;margin-top:.2rem;font-size:.9375rem;color:var(--suave)}
.pub-d{display:block;margin-top:.15rem;font-size:.875rem;color:var(--apagado);font-style:italic}
.pub-yo{font-weight:700;font-style:normal}
.pub-liga{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.pub-liga a,.bib{font-size:.75rem;font-family:var(--mono);text-decoration:none;
  color:var(--apagado);border:1px solid var(--linea);border-radius:3px;
  padding:.18rem .5rem;background:#080E11}
.pub-liga a:hover,.bib:hover{color:var(--itam-claro);border-color:#2C5A51}
.bib{cursor:pointer;font-family:var(--mono)}
.oa{color:var(--itam-claro);border-color:#235047}
details.bibtex{margin-top:.55rem}
details.bibtex pre{margin:.5rem 0 0;padding:.8rem;overflow-x:auto;
  background:#030607;border:1px solid var(--linea);border-radius:4px;
  font-family:var(--mono);font-size:.75rem;line-height:1.55;color:var(--suave)}
details.bibtex summary{font-size:.75rem;font-family:var(--mono);color:var(--apagado);
  cursor:pointer;list-style:none}
details.bibtex summary::-webkit-details-marker{display:none}
details.bibtex summary::before{content:"BibTeX ▸";}
details.bibtex[open] summary::before{content:"BibTeX ▾";}
details.bibtex summary:hover{color:var(--itam-claro)}

/* ---------- listas de enlaces (docencia, divulgación) ---------- */
.recursos{list-style:none;margin:0;padding:0}
.recursos li{padding:.8rem 0;border-bottom:1px solid var(--linea);font-size:.9375rem}
.recursos li span{display:block;color:var(--apagado);font-size:.875rem;margin-top:.1rem}
.materias{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.materias li{font-size:.8125rem;color:var(--suave);padding:.28rem .6rem;
  border:1px solid var(--linea);border-radius:3px;background:#080E11}

/* ---------- tesis ---------- */
.tesis-l{list-style:none;margin:0;padding:0}
.tesis-l>li{padding:1.1rem 0;border-bottom:1px solid var(--linea)}
.tesis-n{display:block;font-size:1.0625rem}
.tesis-t{display:block;margin-top:.15rem;color:var(--suave);font-size:.9375rem}
.tesis-m{display:block;margin-top:.2rem;color:var(--apagado);font-size:.8125rem}
.marca{display:inline-block;font-size:.6875rem;font-family:var(--mono);
  color:var(--gas);border:1px solid #4A3E14;border-radius:3px;padding:.1rem .4rem;
  margin-left:.4rem;vertical-align:.1em}
.convoca{margin-top:1rem;padding:1.2rem;border-radius:5px;
  background:linear-gradient(165deg,rgba(19,99,84,.22),rgba(19,99,84,.04));
  border:1px solid #1E3C38;box-shadow:inset 0 1px 0 rgba(126,220,195,.10)}
.convoca ul{margin:.8rem 0 0;padding-left:1.1rem;color:var(--suave);font-size:.9375rem}
.convoca li{margin-bottom:.45rem}

/* ---------- cita ---------- */
blockquote{margin:2.25rem 0;padding-left:1.1rem;border-left:2px solid var(--itam);
  font-size:1.0625rem;color:var(--suave);font-style:italic}
blockquote footer{margin-top:.5rem;font-size:.875rem;color:var(--apagado);font-style:normal;
  padding:0;border:0}

/* ---------- lugares ---------- */
.lugares{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.lugares li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;align-items:center;
  padding:.9rem 1rem;border:1px solid var(--linea);border-radius:5px;background:#080E11}
.lugares img{max-width:3.5rem;max-height:2.4rem;width:auto;height:auto;
  filter:grayscale(.3) brightness(1.5);justify-self:center}
.lugares strong{display:block;font-weight:400;font-size:1rem}
.lugares span{display:block;font-size:.8125rem;color:var(--apagado)}

/* ---------- coautores ---------- */
.coautores{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.3rem .9rem}
.coautores li{font-size:.9375rem;color:var(--suave);padding:.25rem 0}
.coautores a{color:var(--suave);text-decoration:none;border-bottom:1px solid #223538}
.coautores a:hover{color:var(--itam-claro);border-bottom-color:var(--itam-claro)}
/* La marca dice a dónde va, no solo que va: más útil que un símbolo. */
.marca-id{font-family:var(--mono);font-size:.5625rem;color:#6E7F80;
  margin-left:.28rem;vertical-align:.35em;letter-spacing:.02em}
.coautores a:hover+.marca-id{color:var(--itam-luz)}

/* ---------- contacto ---------- */
footer{margin-top:3.25rem;padding:2rem 0 4rem;border-top:1px solid var(--linea)}
footer h2{font-size:1.25rem;margin-bottom:.9rem}
.datos div{margin-bottom:.35rem;font-size:.9375rem}
.abierto{margin-top:1rem;color:var(--itam-claro);font-size:.9375rem}
.ids{margin:1.75rem 0 0;padding:0;list-style:none;font-family:var(--mono);
  font-size:.8125rem;line-height:2.15}
.ids a{color:var(--suave);text-decoration:none;border-bottom:1px solid #223538}
.ids a:hover{color:var(--itam-claro)}
.sello{margin:1.75rem 0 0;font-size:.6875rem;color:#72807F}

/* ---------------------------------------------------------------------
   Solo móvil. Un teléfono puede reportar 900 px de ancho y repartirlos
   en seis pulgadas, así que lo que en una ventana de escritorio de 900
   se lee bien, en la mano es ilegible. Aquí crecen las letras chicas.
   Nada de esto alcanza a la versión de computadora.
   --------------------------------------------------------------------- */
@media (max-width:61.999rem){
  .ids{font-size:1rem;line-height:2}
  .sello{font-size:.875rem}
  .firma{font-size:.875rem}
  .migaja{font-size:.9375rem}
  .marca-id{font-size:.75rem}
  .novedades li{font-size:1.0625rem}
  .novedades time{font-size:.8125rem}     /* la fecha sí se queda chica */
  .novedades li>div{max-width:none}
  .cifra .etq{font-size:.9375rem;max-width:none}
  .puerta span{font-size:1rem}
  .recursos li span{font-size:1rem}
  .materias li{font-size:.9375rem}
  .tesis-m{font-size:.9375rem}
  .lugares span{font-size:.9375rem}
  figcaption{font-size:.9375rem}
  .pub-d{font-size:.9375rem}
  .pub-liga a,.bib,details.bibtex summary{font-size:.875rem}
  .paises li{font-size:1rem}
  section p,.datos div,.abierto{font-size:1.0625rem}
}

/* ---------- escritorio ---------- */
@media (min-width:62rem){
  :root{--rail:4.75rem;--pad:1.15rem}
  html{font-size:150%}
  body{font-size:1rem}
  .caja{max-width:68rem}
  main{padding-top:2.75rem}
  [id]{scroll-margin-top:2rem}
  #rail{top:0;bottom:0;right:auto;width:var(--rail);flex-direction:column;
    justify-content:center;gap:.3rem;padding:1rem .45rem;overflow:visible;
    border-bottom:0;border-right:1px solid var(--linea);
    box-shadow:inset -1px 0 0 rgba(126,220,195,.05)}
  /* En vertical el segundo nivel se abre DEBAJO de su sección, indentado
     y con una guía a la izquierda. El orden vuelve al del documento para
     que no se vaya al final de la columna. */
  #rail{flex-wrap:nowrap}
  #rail .subs{-webkit-mask-image:none;mask-image:none}
  #rail .sec,#rail .subs{order:0}
  #rail .sec{width:100%;min-width:0;padding:.5rem .1rem;font-size:.5625rem}
  #rail .sec svg{width:22px;height:22px}
  #rail .subs{flex:0 0 auto;width:auto;flex-direction:column;gap:0;
    margin:.2rem .1rem .5rem .5rem;padding:.15rem 0 .15rem .35rem;
    border-top:0;border-left:1px solid #1B3034;overflow:visible}
  /* Nombre debajo del icono, igual que el nivel 1. En fila no cabían:
     "Artículos" se salía del riel. */
  #rail .subs a{flex-direction:column;align-items:center;gap:.08rem;
    padding:.28rem .1rem;font-size:.5rem;white-space:normal;
    text-align:center;line-height:1.15;width:100%}
  #rail .subs a svg{width:15px;height:15px}
  #rail .subs a[aria-current]{color:var(--gas);background:rgba(232,194,74,.10)}
  #rail .subs li{position:relative}
  .portada{grid-template-columns:1.02fr .98fr;
    grid-template-areas:"idioma idioma" "foto texto" "cifras licencia";
    column-gap:3rem;align-items:start}
  /* Sin esto las columnas no bajan de su ancho mínimo de contenido y la
     portada se desborda en escritorios angostos: "Castañeda" a 4.25rem
     es una sola palabra de más de 500 px que no se puede partir. */
  .portada>*{min-width:0}
  h1{font-size:clamp(2.9rem,5.4vw,4.25rem)}
  .portada .idioma{justify-content:flex-end;margin-bottom:1.1rem}
  .cisneros{margin:0}
  .cisneros img{border-radius:3px}
  .firma{position:static;margin:.7rem 0 0;text-align:right}
  .portada .cifras,.portada .licencia{margin-top:1.75rem;align-self:stretch;
    display:flex;flex-direction:column;justify-content:center}
  .portada .cifras{display:grid;align-content:center}
  .idioma{padding-top:0}
  h1{margin-top:0;font-size:4.25rem}
  .titulo-pagina h1{font-size:clamp(2.2rem,4vw,3.1rem)}
  .presenta{display:block;margin-top:1.6rem}
  .presenta img{float:left;width:9.5rem;height:9.5rem;margin:.3rem 1.3rem .6rem 0}
  .puesto{clear:left}
  .cifras{gap:2rem;padding:1.9rem 2rem}
  .cifra b{font-size:3.35rem}
  .cifra .etq{max-width:none;margin-top:.55rem}
  .dosc{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  .puertas{grid-template-columns:1fr 1fr}
  .puerta:last-child{grid-column:1/-1}
  footer .dosc{gap:3rem}
  .ids{margin-top:0;font-size:.875rem}
  .negativo{overflow-x:visible}
  .negativo img{width:100%;height:auto}
  .lugares{grid-template-columns:1fr 1fr}
  .angosto{max-width:64ch}
}
