/* Red neuronal interactiva reutilizable en vistas secundarias.
   No modifica imágenes, fondos ni estilos originales. */
body.neural-site .neural-switch{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  flex:none;white-space:nowrap;min-height:44px;padding:6px 11px;
  border:1px solid #a1c8d4;border-radius:999px;background:#ecf7fa;color:#1d5164;
  font:650 12px/1.1 "Open Sans",Arial,sans-serif;cursor:pointer;
}
body.neural-site .neural-switch__track{
  display:block;position:relative;width:33px;height:19px;border-radius:14px;
  background:#91aab5;transition:background .2s;flex:none
}
body.neural-site .neural-switch__thumb{
  position:absolute;width:13px;height:13px;top:3px;left:3px;border-radius:50%;
  background:white;box-shadow:0 1px 3px #1c3a4a30;transition:transform .2s
}
body.neural-site .neural-switch[aria-checked=true]{background:#e7f9fa;border-color:#6fb0c1}
body.neural-site .neural-switch[aria-checked=true] .neural-switch__track{background:#187d96}
body.neural-site .neural-switch[aria-checked=true] .neural-switch__thumb{transform:translateX(14px)}
body.neural-site .neural-switch:focus-visible{outline:3px solid #02a6c6;outline-offset:3px}
body.neural-site .neural-switch .neural-switch__icon{font-size:16px;line-height:1}
body.neural-site .site-header__inner>.neural-switch{margin-left:2px}
body.neural-site .neural-zone{position:relative;isolation:isolate}
body.neural-site .neural-zone>canvas.neural-zone__canvas{
  position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;
  z-index:1;opacity:0;transition:opacity .24s
}
body.neural-site.neural-enabled .neural-zone>canvas.neural-zone__canvas{opacity:1}
body.neural-site .neural-zone>.shell,
body.neural-site .neural-zone>.container,
body.neural-site .neural-zone>.container-fluid,
body.neural-site .neural-zone>.footer-main,
body.neural-site .neural-zone>.footer-legal{
  position:relative;z-index:2
}
body.neural-site .neural-zone>canvas.neural-zone__canvas:focus{outline:none}
@media(max-width:1020px){
 body.neural-site .site-header__inner>.neural-switch{margin-left:auto}
}
@media(max-width:650px){
 body.neural-site .site-header__inner>.neural-switch{padding:7px 9px}
 body.neural-site .site-header__inner>.neural-switch .neural-switch__label{font-size:0;width:0;overflow:hidden}
}
@media(prefers-reduced-motion:reduce){
 body.neural-site .neural-zone>canvas.neural-zone__canvas,
 body.neural-site .neural-switch__track,body.neural-site .neural-switch__thumb{transition:none}
}

/* Un solo lienzo neuronal, también en la portada. */
body.page-institucional.neural-site .neural-zone>canvas.neural-zone__canvas{
  inset:auto;left:0;top:0;width:100%;pointer-events:none;
}

/* Selector de composiciones neuronales: accesible y compartido por las vistas. */
body.neural-site .neural-variant-picker{
  display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap;
  color:#315366;font:650 12px/1.2 "Open Sans",Arial,sans-serif;
}
body.neural-site .neural-variant-picker__select{
  appearance:auto;min-height:44px;max-width:146px;width:121px;
  border:1px solid #b9d2dd;border-radius:8px;
  background:#f4fafc;color:#20485f;padding:7px 7px;
  font:650 12px/1.3 "Open Sans",Arial,sans-serif;cursor:pointer;
}
body.neural-site .neural-variant-picker__select:focus-visible{
  outline:3px solid #177f9b;outline-offset:2px;
}
body.neural-site .neural-variant-picker__select:hover{border-color:#31839b}
body.neural-site .site-header__inner>.neural-switch{margin-left:0}
@media(max-width:1150px){
  body.neural-site .site-header__inner{gap:11px}
  body.neural-site .neural-variant-picker__label{display:none}
  body.neural-site .neural-variant-picker__select{width:110px}
}
@media(max-width:460px){
  body.neural-site .site-header__inner{flex-wrap:wrap;gap:6px 10px;padding:7px 0 8px}
  body.neural-site .site-header__logo{order:1;margin-right:auto}
  body.neural-site .nav-toggle{order:2}
  body.neural-site .site-nav{order:5}
  body.neural-site .site-header__inner>.neural-variant-picker{order:3;flex:1;justify-content:flex-end}
  body.neural-site .site-header__inner>.neural-switch{order:4}
  body.neural-site .site-header__inner>.neural-variant-picker .neural-variant-picker__select{width:119px}
  body.neural-site .site-header__inner>.neural-switch{padding:7px 8px;gap:4px}
  body.neural-site .site-header__logo img{max-width:min(192px,56vw)}
}
@media(max-width:350px){
  body.neural-site .site-header__inner>.neural-variant-picker .neural-variant-picker__select{width:105px}
  body.neural-site .site-header__logo img{max-width:160px}
}

/* El menú compacto siempre ocupa la misma banda en móvil, también si
   por pocos píxeles sus controles aún caben en una sola fila. */
@media(max-width:460px){
  body.neural-site.page-institucional .site-header {
    height:112px;min-height:112px;max-height:112px;
  }
  body.neural-site.page-institucional .site-header__inner {
    height:111px;min-height:111px;align-content:center;
  }
}


/* Controles institucionales de visualización: dos módulos del mismo sistema.
   El selector conserva un <select> nativo y el interruptor su semántica switch. */
body.page-institucional.neural-site {
  --visual-control-bg:#f3f8fa;
  --visual-control-border:#b8d2dc;
  --visual-control-ink:#21495e;
  --visual-control-highlight:#187d96;
}
body.page-institucional.neural-site .site-header__inner > :is(.neural-variant-picker,.neural-switch){
  box-sizing:border-box;
  display:inline-flex;
  flex:0 0 164px;
  width:164px;
  height:44px;
  min-height:44px;
  min-width:0;
  margin:0;
  padding:0 11px;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid var(--visual-control-border);
  border-radius:10px;
  color:var(--visual-control-ink);
  background:var(--visual-control-bg);
  box-shadow:0 1px 3px rgba(16,50,68,.055);
  font:650 12px/1.2 var(--sans,"Open Sans",Arial,sans-serif);
  white-space:nowrap;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
body.page-institucional.neural-site .site-header__inner > :is(.neural-variant-picker,.neural-switch):hover{
  background:#eaf4f7;
  border-color:#74afc0;
}
body.page-institucional.neural-site .site-header__inner > :is(.neural-variant-picker,.neural-switch):focus-visible,
body.page-institucional.neural-site .site-header__inner > .neural-variant-picker:focus-within{
  outline:2px solid var(--visual-control-highlight);
  outline-offset:2px;
  border-color:var(--visual-control-highlight);
}
body.page-institucional.neural-site .site-header__inner > .neural-switch{
  cursor:pointer;
}
body.page-institucional.neural-site .site-header__inner > .neural-switch[aria-checked="true"]{
  color:#174e61;
  border-color:#88c1cf;
  background:#eaf7f9;
}
body.page-institucional.neural-site .neural-switch__icon{display:none}
body.page-institucional.neural-site .neural-switch__label{
  display:block;
  flex:1 1 auto;
  width:auto;
  height:auto;
  font:inherit;
  text-align:left;
}
body.page-institucional.neural-site .neural-switch__track{
  flex:none;
  width:31px;
  height:18px;
}
body.page-institucional.neural-site .neural-switch__thumb{
  top:3px;left:3px;width:12px;height:12px;
}
body.page-institucional.neural-site .neural-switch[aria-checked="true"] .neural-switch__thumb{
  transform:translateX(13px);
}
body.page-institucional.neural-site .site-header__inner > .neural-variant-picker{
  position:relative;
  cursor:pointer;
}
body.page-institucional.neural-site .neural-variant-picker__label{
  display:block;
  flex:0 0 auto;
  color:inherit;
  font:inherit;
}
body.page-institucional.neural-site .neural-variant-picker__select{
  display:block;
  flex:1 1 auto;
  min-width:0;
  width:100%;
  max-width:none;
  height:42px;
  min-height:42px;
  padding:0 14px 0 2px;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:right;
  cursor:pointer;
}
body.page-institucional.neural-site .neural-variant-picker__select:focus-visible{
  outline:0;
}
body.page-institucional.neural-site .neural-variant-picker::after{
  content:"";
  position:absolute;
  top:17px;
  right:12px;
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  pointer-events:none;
}
@media(max-width:1150px){
  body.page-institucional.neural-site .site-header__inner > :is(.neural-variant-picker,.neural-switch){
    flex-basis:136px;width:136px;padding-inline:9px;font-size:11px;
  }
  body.page-institucional.neural-site .neural-variant-picker__label{display:none}
  body.page-institucional.neural-site .neural-variant-picker__select{text-align:left;padding-left:3px}
  body.page-institucional.neural-site .neural-variant-picker::after{right:10px}
}
@media(max-width:460px){
  /* Dos controles de igual ancho en una segunda fila estable, sin saltos. */
  body.page-institucional.neural-site .site-header__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:46px 44px;
    gap:5px 8px;
    align-content:center;
    padding:6px 0;
  }
  body.page-institucional.neural-site .site-header__logo{
    grid-column:1;grid-row:1;margin:0;justify-self:start;
  }
  body.page-institucional.neural-site .nav-toggle{
    grid-column:2;grid-row:1;justify-self:end;
  }
  body.page-institucional.neural-site .site-nav{display:none}
  body.page-institucional.neural-site .site-nav.is-open{display:block}
  body.page-institucional.neural-site .site-header__inner > .neural-variant-picker{
    grid-column:1;grid-row:2;
  }
  body.page-institucional.neural-site .site-header__inner > .neural-switch{
    grid-column:2;grid-row:2;
  }
  body.page-institucional.neural-site .site-header__inner > :is(.neural-variant-picker,.neural-switch){
    width:100%;height:44px;min-height:44px;
    padding-inline:9px;
    font-size:11px;
  }
  body.page-institucional.neural-site .neural-switch__label{
    font-size:11px;width:auto;height:auto;overflow:visible;
  }
}
@media(prefers-reduced-motion:reduce){
  body.page-institucional.neural-site .site-header__inner > :is(.neural-variant-picker,.neural-switch){transition:none}
}
/* La etiqueta sigue visible incluso en los breakpoints que antes ocultaban el texto del switch. */
@media(max-width:650px){
  body.page-institucional.neural-site .site-header__inner > .neural-switch .neural-switch__label{
    font-size:11px;
    line-height:1.2;
    width:auto;
    height:auto;
    overflow:visible;
  }
}

/* Menú de fondos: opciones con el mismo lenguaje visual que los controles.
   La lista nativa no permite estilizar el popup de forma fiable entre sistemas. */
body.page-institucional.neural-site .neural-variant-picker__select{
  position:absolute;
  width:1px;
  height:1px;
  min-height:0;
  padding:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
}
body.page-institucional.neural-site .neural-variant-picker__trigger{
  display:inline-flex;
  flex:1 1 auto;
  min-width:0;
  min-height:42px;
  padding:0 16px 0 2px;
  margin:0;
  align-items:center;
  justify-content:flex-end;
  border:0;
  outline:0;
  border-radius:inherit;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
body.page-institucional.neural-site .neural-variant-picker__value{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.page-institucional.neural-site .neural-variant-picker__options{
  position:absolute;
  z-index:310;
  top:calc(100% + 7px);
  right:0;
  box-sizing:border-box;
  width:max(100%,164px);
  max-width:min(220px,calc(100vw - 34px));
  padding:5px;
  border:1px solid var(--visual-control-border);
  border-radius:11px;
  background:#f7fbfd;
  box-shadow:0 14px 35px rgba(16,50,68,.17),0 2px 7px rgba(16,50,68,.07);
}
body.page-institucional.neural-site .neural-variant-picker__options[hidden]{display:none!important}
body.page-institucional.neural-site .neural-variant-picker__option{
  display:flex;
  width:100%;
  min-height:40px;
  padding:9px 12px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--visual-control-ink);
  font:650 12px/1.2 var(--sans,"Open Sans",Arial,sans-serif);
  text-align:left;
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease;
}
body.page-institucional.neural-site .neural-variant-picker__option:hover,
body.page-institucional.neural-site .neural-variant-picker__option:focus-visible{
  background:#e4f1f5;
  color:#145a71;
  outline:0;
}
body.page-institucional.neural-site .neural-variant-picker__option[aria-selected="true"]{
  background:#e2f3f6;
  color:#12647a;
}
body.page-institucional.neural-site .neural-variant-picker__option[aria-selected="true"]::after{
  content:"✓";
  flex:none;
  font-size:13px;
  font-weight:800;
}
@media(max-width:1150px){
  body.page-institucional.neural-site .neural-variant-picker__trigger{
    justify-content:flex-start;
    padding-left:3px;
  }
}
@media(prefers-reduced-motion:reduce){
  body.page-institucional.neural-site .neural-variant-picker__option{transition:none}
}
@media(max-width:460px){
  body.page-institucional.neural-site .neural-variant-picker__options{
    left:0;
    right:auto;
    width:100%;
    min-width:0;
  }
}
