/*  Navegación internacional */
.site-header {
  border-bottom:1px solid rgba(183,216,238,.8);
}
.header-inner {
  gap:1rem;
}
.nav-hierarchical .nav-link,
.nav-hierarchical .nav-parent,
.nav-hierarchical .lang-switch {
  min-height:44px;
  font-size:.92rem;
}
.nav-hierarchical .nav-link:hover,
.nav-hierarchical .nav-parent:hover,
.nav-hierarchical .lang-switch:hover,
.nav-group:focus-within > .nav-parent {
  background:var(--ingsoft-soft);
  color:var(--ingsoft-blue);
}
.nav-dropdown {
  transform-origin:top left;
  animation:navDrop .16s ease-out;
}
@keyframes navDrop {
  from { opacity:0; transform:translateY(-4px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.lab-secondary-nav {
  border-top:1px solid rgba(183,216,238,.45);
}
.lab-secondary-inner a {
  transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.lab-secondary-inner a:hover,
.lab-secondary-inner a:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(11,115,217,.16);
}

/*  Corrección global de contraste en submenús */
.site-header .nav-hierarchical .nav-dropdown,
.site-header .nav-dropdown,
.nav-hierarchical .nav-dropdown,
.nav-dropdown {
  background:#FFFFFF !important;
  color:#06152A !important;
  border:1px solid #9DC6E6 !important;
  opacity:1 !important;
  filter:none !important;
  backdrop-filter:none !important;
  box-shadow:0 24px 70px rgba(3,13,27,.32) !important;
}
.site-header .nav-hierarchical .nav-dropdown a,
.site-header .nav-dropdown a,
.nav-hierarchical .nav-dropdown a,
.nav-dropdown a {
  color:#06152A !important;
  background:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
  font-weight:950 !important;
}
.site-header .nav-hierarchical .nav-dropdown a:hover,
.site-header .nav-hierarchical .nav-dropdown a:focus-visible,
.site-header .nav-hierarchical .nav-dropdown a[aria-current="page"],
.nav-dropdown a:hover,
.nav-dropdown a:focus-visible,
.nav-dropdown a[aria-current="page"] {
  background:#EAF7FF !important;
  color:#075EAB !important;
}
html.aq-high-contrast .nav-dropdown,
html.aq-high-contrast .site-header .nav-dropdown {
  background:#FFFFFF !important;
  border-color:#003E7E !important;
}
html.aq-high-contrast .nav-dropdown a {
  color:#000814 !important;
}

/*  Revisión de contraste de submenús */
.site-header .nav-dropdown,
.nav-hierarchical .nav-dropdown {
  background:#FFFFFF !important;
  color:#06152A !important;
}
.site-header .nav-dropdown a,
.nav-hierarchical .nav-dropdown a,
.nav-dropdown a {
  color:#06152A !important;
  opacity:1 !important;
}

/*  Corrección visual del Laboratorio Celso-AQ detectada en captura */
.site-header .nav-hierarchical .nav-group.is-section-active > .nav-parent,
.site-header .nav-hierarchical .nav-link[aria-current="page"],
.site-header .nav a[aria-current="page"] {
  background:#FFFFFF !important;
  color:#06152A !important;
  -webkit-text-fill-color:#06152A !important;
  border:1px solid #B7D8EE !important;
  box-shadow:inset 0 -3px 0 #E41E2B, 0 12px 28px rgba(3,13,27,.16) !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.site-header .nav-hierarchical .nav-group.is-section-active > .nav-parent span,
.site-header .nav-hierarchical .nav-link[aria-current="page"] span {
  color:#075EAB !important;
  -webkit-text-fill-color:#075EAB !important;
  opacity:1 !important;
}
.site-header .nav-hierarchical .nav-group.is-section-active > .nav-parent:hover,
.site-header .nav-hierarchical .nav-group.is-section-active:focus-within > .nav-parent {
  background:#EAF7FF !important;
  color:#06152A !important;
  -webkit-text-fill-color:#06152A !important;
}
.lab-secondary-nav {
  z-index:72 !important;
  overflow:hidden !important;
}
.lab-secondary-inner {
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:1rem !important;
}
.lab-secondary-inner strong {
  white-space:nowrap !important;
}
.lab-secondary-inner > div,
.lab-secondary-scroll {
  display:flex !important;
  align-items:center !important;
  gap:.48rem !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:.18rem .2rem .34rem !important;
  scroll-snap-type:x proximity !important;
  scrollbar-width:thin !important;
}
.lab-secondary-inner > div::-webkit-scrollbar,
.lab-secondary-scroll::-webkit-scrollbar {
  height:8px;
}
.lab-secondary-inner > div::-webkit-scrollbar-thumb,
.lab-secondary-scroll::-webkit-scrollbar-thumb {
  background:#9DC6E6;
  border-radius:999px;
}
.lab-secondary-inner a {
  flex:0 0 auto !important;
  scroll-snap-align:start !important;
  color:#06152A !important;
  -webkit-text-fill-color:#06152A !important;
  background:#FFFFFF !important;
  border-color:#B7D8EE !important;
  font-weight:950 !important;
  opacity:1 !important;
  white-space:nowrap !important;
}
.lab-secondary-inner a:hover,
.lab-secondary-inner a:focus-visible,
.lab-secondary-inner a[aria-current="page"] {
  background:#075EAB !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border-color:#075EAB !important;
}
.lab-page .hero > .wide.hero-grid,
.lab-hub .hero > .wide.hero-grid {
  padding-top:3.2rem !important;
  padding-bottom:3.4rem !important;
  align-items:start !important;
}
.lab-hub-brand,
.lab-brand-lockup {
  border-radius:30px !important;
  background:#FFFFFF !important;
  box-shadow:0 20px 54px rgba(3,13,27,.16) !important;
  border:1px solid #B7D8EE !important;
}
.lab-hub-brand {
  padding:1rem 1.25rem !important;
  width:min(720px,100%) !important;
  margin:0 0 1.15rem !important;
}
.lab-hub-brand::after,
.lab-brand-lockup::after {
  inset:12px !important;
  border-color:rgba(11,115,217,.18) !important;
}
.lab-hub-brand .lab-official-logo,
.lab-brand-lockup .lab-official-logo,
.lab-official-logo {
  width:100% !important;
  max-width:640px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}
@media (max-width:980px) {
  .lab-secondary-inner {
    grid-template-columns:1fr !important;
    gap:.45rem !important;
  }
  .lab-secondary-inner strong {
    font-size:.95rem !important;
  }
  .lab-page .hero > .wide.hero-grid,
  .lab-hub .hero > .wide.hero-grid {
    padding-top:2.2rem !important;
  }
}

/*  Preservación de corrección visual  del Laboratorio Celso-AQ */
.site-header .nav-hierarchical .nav-group.is-section-active > .nav-parent,
.site-header .nav-hierarchical .nav-link[aria-current="page"],
.site-header .nav a[aria-current="page"] {
  background:#FFFFFF !important;
  color:#06152A !important;
  -webkit-text-fill-color:#06152A !important;
  border:1px solid #B7D8EE !important;
  box-shadow:inset 0 -3px 0 #E41E2B, 0 12px 28px rgba(3,13,27,.16) !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.lab-secondary-inner {
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
}
.lab-secondary-scroll {
  display:flex !important;
  gap:.48rem !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:thin !important;
}
.lab-secondary-inner a {
  color:#06152A !important;
  -webkit-text-fill-color:#06152A !important;
  background:#FFFFFF !important;
  border-color:#B7D8EE !important;
  font-weight:950 !important;
  opacity:1 !important;
  white-space:nowrap !important;
}
.lab-secondary-inner a:hover,
.lab-secondary-inner a:focus-visible,
.lab-secondary-inner a[aria-current="page"] {
  background:#075EAB !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
.lab-hub-brand .lab-official-logo,
.lab-brand-lockup .lab-official-logo,
.lab-official-logo {
  filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}

/* Menú y layout proporcionados */

/* 1) Menús desplegables estables: sin desaparición al bajar el mouse */
.site-header,
.header-inner,
.nav-hierarchical {
  overflow:visible !important;
}
.nav-hierarchical {
  position:relative !important;
  z-index:900 !important;
  gap:.22rem !important;
}
.nav-group {
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  z-index:920 !important;
}
.nav-group::after {
  content:"" !important;
  position:absolute !important;
  left:-18px !important;
  right:-18px !important;
  top:100% !important;
  height:26px !important;
  background:transparent !important;
  pointer-events:auto !important;
}
.nav-hierarchical .nav-link,
.nav-hierarchical .nav-parent,
.nav-hierarchical .lang-switch {
  min-height:34px !important;
  padding:.46rem .62rem !important;
  font-size:clamp(.72rem,.72vw,.86rem) !important;
  line-height:1.05 !important;
  border-radius:999px !important;
}
.nav-dropdown,
.site-header .nav-dropdown,
.nav-hierarchical .nav-dropdown {
  position:absolute !important;
  left:0 !important;
  top:calc(100% + .08rem) !important;
  z-index:9999 !important;
  display:block !important;
  min-width:245px !important;
  max-width:330px !important;
  padding:.54rem !important;
  border:1px solid #9DC6E6 !important;
  border-radius:18px !important;
  background:#FFFFFF !important;
  color:#06152A !important;
  box-shadow:0 28px 76px rgba(3,13,27,.34) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-4px) scale(.985) !important;
  transition:opacity .12s ease, visibility .12s ease, transform .12s ease !important;
  filter:none !important;
  backdrop-filter:none !important;
}
.nav-group:hover > .nav-dropdown,
.nav-group:focus-within > .nav-dropdown,
.nav-group.is-open > .nav-dropdown,
.nav-group[data-open="true"] > .nav-dropdown {
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
.nav-dropdown::before {
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:-22px !important;
  height:24px !important;
  background:transparent !important;
}
.nav-dropdown a {
  display:block !important;
  padding:.56rem .66rem !important;
  border-radius:12px !important;
  color:#06152A !important;
  background:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
  line-height:1.2 !important;
  font-size:clamp(.76rem,.76vw,.9rem) !important;
  font-weight:920 !important;
}
.nav-dropdown a:hover,
.nav-dropdown a:focus-visible,
.nav-dropdown a[aria-current="page"] {
  background:#EAF7FF !important;
  color:#075EAB !important;
}

/* 2) Encabezado y navegación más compactos: menos espacio muerto arriba */
.topbar {
  min-height:32px !important;
  padding:.32rem 0 !important;
  font-size:clamp(.76rem,.78vw,.9rem) !important;
}
.site-header {
  min-height:auto !important;
}
.header-inner {
  min-height:82px !important;
  padding:.62rem 0 !important;
  gap:.75rem !important;
}
.brand img,
.header-logo,
.site-header .brand img {
  max-height:72px !important;
  width:auto !important;
}
@media (min-width:1100px) {
  .header-inner {
    display:grid !important;
    grid-template-columns:minmax(220px,320px) minmax(0,1fr) !important;
    align-items:center !important;
  }
  .nav-hierarchical {
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
  }
}

/* 3) Hero institucional compacto, visible en una pantalla estándar */
.hero,
.hero.section,
.hero.hero-home {
  padding-block:clamp(1.4rem,3.2vh,2.8rem) !important;
}
.hero-grid,
.hero .hero-grid,
.main .hero-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr) !important;
  gap:clamp(1rem,2.3vw,2rem) !important;
  align-items:center !important;
}
.hero h1,
.hero-title,
h1 {
  font-size:clamp(2.45rem,5.2vw,4.95rem) !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
  margin-block:.62rem .76rem !important;
}
.hero-lead,
.hero p,
.main .hero-lead {
  font-size:clamp(.98rem,1.18vw,1.18rem) !important;
  line-height:1.42 !important;
  max-width:72ch !important;
  margin-block:.35rem .85rem !important;
}
.eyebrow {
  min-height:34px !important;
  padding:.44rem .82rem !important;
  font-size:clamp(.72rem,.84vw,.92rem) !important;
  line-height:1.2 !important;
  border-radius:999px !important;
}
.hero-actions,
.gateway-actions,
.cta-row {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.7rem !important;
  margin-top:.9rem !important;
}
.btn,
button.btn,
.hero-actions .btn {
  min-height:42px !important;
  padding:.68rem 1rem !important;
  border-radius:16px !important;
  font-size:clamp(.82rem,.9vw,.98rem) !important;
  line-height:1.12 !important;
}
.kpi-grid,
.hero-kpis,
.metrics-grid,
.gateway-kpis {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:.62rem !important;
  margin-top:.92rem !important;
}
.kpi-card,
.hero-kpi,
.metric-card,
.gateway-kpi {
  padding:.72rem .86rem !important;
  min-height:74px !important;
  border-radius:18px !important;
}
.kpi-card h3,
.hero-kpi h3,
.metric-card h3,
.gateway-kpi h3 {
  font-size:clamp(.92rem,1vw,1.08rem) !important;
  margin:0 0 .18rem !important;
}
.kpi-card p,
.hero-kpi p,
.metric-card p,
.gateway-kpi p {
  font-size:clamp(.76rem,.8vw,.88rem) !important;
  line-height:1.32 !important;
  margin:0 !important;
}
.brand-stage,
.lab-brand-lockup,
.hero-media,
.hero-visual,
.device-frame {
  max-width:min(100%,560px) !important;
  justify-self:center !important;
}
.brand-stage img,
.lab-brand-lockup img,
.hero-media img,
.hero-visual img {
  max-height:clamp(150px,28vh,330px) !important;
  object-fit:contain !important;
}
.version-card,
.brand-stage-caption {
  padding:.6rem .8rem !important;
  min-height:auto !important;
}
.brand-stage-caption strong,
.version-card strong {
  font-size:clamp(.78rem,.86vw,1rem) !important;
  line-height:1.25 !important;
}
.brand-stage-caption span,
.version-card span {
  font-size:clamp(.66rem,.72vw,.82rem) !important;
}

/* 4) Secciones completas en una pantalla: reduce exceso vertical global */
.section {
  padding-block:clamp(1.6rem,4.2vh,3.6rem) !important;
}
.section-head,
.split-heading {
  margin-bottom:clamp(.9rem,2vh,1.4rem) !important;
}
.section-head h2,
.split-heading h2,
.section h2 {
  font-size:clamp(1.75rem,3.2vw,3.15rem) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  margin:.25rem 0 .6rem !important;
}
.section-head p,
.split-heading p {
  font-size:clamp(.95rem,1.05vw,1.08rem) !important;
  line-height:1.42 !important;
}

/* 5) Simuladores: controles y lienzo visibles juntos en escritorio */
@media (min-width:980px) {
  .projectile-layout,
  .kinematics-layout,
  .energy-layout,
  .circular-layout,
  .wave-layout,
  .interference-layout,
  .doppler-layout,
  .em-layout,
  .field-layout,
  .circuit-layout,
  .magnetic-layout,
  .induction-layout,
  .optics-layout,
  .mirror-layout,
  .refraction-layout {
    grid-template-columns:minmax(250px,330px) minmax(0,1fr) !important;
    gap:.9rem !important;
    align-items:start !important;
  }
  .projectile-controls,
  .kinematics-controls,
  .energy-controls,
  .circular-controls,
  .wave-controls,
  .interference-controls,
  .doppler-controls,
  .em-controls,
  .field-controls,
  .circuit-controls,
  .magnetic-controls,
  .induction-controls,
  .optics-controls,
  .mirror-controls,
  .refraction-controls {
    gap:.48rem !important;
  }
  .projectile-control,
  .kinematics-control,
  .energy-control,
  .circular-control,
  .wave-control,
  .interference-control,
  .doppler-control,
  .em-control,
  .field-control,
  .circuit-control,
  .magnetic-control,
  .induction-control,
  .optics-control,
  .mirror-control,
  .refraction-control {
    padding:.52rem .6rem !important;
    border-radius:14px !important;
  }
  .projectile-control label,
  .kinematics-control label,
  .energy-control label,
  .circular-control label,
  .wave-control label,
  .interference-control label,
  .doppler-control label,
  .em-control label,
  .field-control label,
  .circuit-control label,
  .magnetic-control label,
  .induction-control label,
  .optics-control label,
  .mirror-control label,
  .refraction-control label {
    font-size:clamp(.76rem,.8vw,.9rem) !important;
    line-height:1.15 !important;
  }
  .projectile-buttons,
  .kinematics-buttons,
  .energy-buttons,
  .circular-buttons,
  .wave-actions,
  .interference-actions,
  .doppler-actions,
  .em-actions,
  .field-actions,
  .circuit-actions,
  .magnetic-actions,
  .induction-actions,
  .optics-actions,
  .mirror-actions,
  .refraction-actions,
  .lab-actions {
    gap:.45rem !important;
    margin-top:.62rem !important;
  }
  .projectile-buttons .btn,
  .kinematics-buttons .btn,
  .energy-buttons .btn,
  .circular-buttons .btn,
  .wave-actions button,
  .interference-actions button,
  .doppler-actions button,
  .em-actions button,
  .field-actions button,
  .circuit-actions button,
  .magnetic-actions button,
  .induction-actions button,
  .optics-actions button,
  .mirror-actions button,
  .refraction-actions button,
  .lab-actions button {
    min-height:36px !important;
    padding:.5rem .68rem !important;
    font-size:.82rem !important;
    border-radius:13px !important;
  }
  .projectile-readout,
  .kinematics-readout,
  .energy-readout,
  .circular-readout,
  .wave-readout,
  .interference-readout,
  .doppler-readout,
  .em-readout,
  .field-readout,
  .circuit-readout,
  .magnetic-readout,
  .induction-readout,
  .optics-readout,
  .mirror-readout,
  .refraction-readout {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:.48rem !important;
  }
  .readout,
  .projectile-readout .readout,
  .mirror-readout-card,
  .refraction-readout-card,
  .optics-readout-card {
    padding:.55rem .62rem !important;
    min-height:58px !important;
    border-radius:15px !important;
  }
  .readout span,
  .mirror-readout-card span,
  .refraction-readout-card span,
  .optics-readout-card span {
    font-size:.62rem !important;
  }
  .readout strong,
  .mirror-readout-card strong,
  .refraction-readout-card strong,
  .optics-readout-card strong {
    font-size:.9rem !important;
  }
  .projectile-canvas,
  .projectile-graph,
  #reflectionRefractionCanvas,
  #sphericalMirrorCanvas,
  #thinLensCanvas,
  canvas[data-canvas],
  canvas[data-graph] {
    min-height:clamp(240px,37vh,390px) !important;
  }
  .projectile-canvas-wrap,
  .refraction-canvas-wrap,
  .mirror-canvas-wrap,
  .optics-canvas-wrap {
    padding:.65rem !important;
    border-radius:20px !important;
  }
  .projectile-canvas-wrap h3 {
    font-size:clamp(.95rem,1.05vw,1.15rem) !important;
    margin:.05rem 0 .45rem !important;
  }
  .projectile-note,
  .mirror-note,
  .refraction-note,
  .optics-note {
    font-size:.82rem !important;
    line-height:1.35 !important;
  }
}

/* 6) Pantallas 1366×768 / laptops: objetivo de una pantalla completa */
@media (min-width:1000px) and (max-height:820px) {
  .topbar { min-height:28px !important; padding:.22rem 0 !important; }
  .header-inner { min-height:66px !important; padding:.42rem 0 !important; }
  .brand img,
  .site-header .brand img { max-height:58px !important; }
  .nav-hierarchical .nav-link,
  .nav-hierarchical .nav-parent,
  .nav-hierarchical .lang-switch {
    min-height:30px !important;
    padding:.38rem .54rem !important;
    font-size:.74rem !important;
  }
  .hero { padding-block:1.2rem !important; }
  .hero-grid { gap:1rem !important; }
  .hero h1,
  h1 {
    font-size:clamp(2.25rem,4.55vw,4.25rem) !important;
    line-height:.91 !important;
    margin-block:.38rem .52rem !important;
  }
  .hero-lead,
  .hero p {
    font-size:.98rem !important;
    line-height:1.36 !important;
    margin-bottom:.55rem !important;
  }
  .brand-stage,
  .lab-brand-lockup,
  .hero-media,
  .hero-visual,
  .device-frame { max-width:500px !important; }
  .brand-stage img,
  .lab-brand-lockup img,
  .hero-media img,
  .hero-visual img { max-height:245px !important; }
  .btn { min-height:38px !important; padding:.58rem .82rem !important; }
  .kpi-grid,
  .hero-kpis,
  .gateway-kpis { gap:.5rem !important; margin-top:.64rem !important; }
  .kpi-card,
  .hero-kpi,
  .gateway-kpi {
    min-height:62px !important;
    padding:.58rem .68rem !important;
  }
  .section { padding-block:1.6rem !important; }
  .section h2 { font-size:clamp(1.65rem,2.8vw,2.75rem) !important; }
  .projectile-canvas,
  .projectile-graph,
  #reflectionRefractionCanvas,
  #sphericalMirrorCanvas,
  #thinLensCanvas,
  canvas[data-canvas],
  canvas[data-graph] {
    min-height:260px !important;
  }
}

/* 7) Evita que el botón flotante Aa tape lectura de simuladores */
.accessibility-float,
.a11y-toggle,
[data-accessibility-toggle] {
  z-index:760 !important;
}

/* Menú desplegable estable */

/* Estado base: absolutamente invisible y sin sombra. Esto corrige las "sombras" visibles sin interacción. */
.site-header .nav-hierarchical .nav-group > .nav-dropdown,
.site-header .nav-group > .nav-dropdown,
.nav-hierarchical .nav-group > .nav-dropdown,
.nav-group > .nav-dropdown {
  display:block !important;
  position:absolute !important;
  left:0 !important;
  top:calc(100% + .18rem) !important;
  z-index:-1 !important;
  min-width:245px !important;
  max-width:330px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-8px) scale(.98) !important;
  clip-path:inset(0 0 100% 0 round 18px) !important;
  max-height:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  transition:
    opacity .12s ease,
    visibility .12s ease,
    transform .12s ease,
    clip-path .12s ease,
    max-height .12s ease !important;
}

/* Solo el grupo activo muestra opciones. Se elimina la sombra fantasma y la superposición de grupos inactivos. */
.site-header .nav-hierarchical .nav-group:hover > .nav-dropdown,
.site-header .nav-hierarchical .nav-group:focus-within > .nav-dropdown,
.site-header .nav-hierarchical .nav-group.is-open > .nav-dropdown,
.site-header .nav-hierarchical .nav-group[data-open="true"] > .nav-dropdown,
.site-header .nav-group:hover > .nav-dropdown,
.site-header .nav-group:focus-within > .nav-dropdown,
.site-header .nav-group.is-open > .nav-dropdown,
.site-header .nav-group[data-open="true"] > .nav-dropdown {
  z-index:10050 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
  clip-path:inset(0 0 0 0 round 18px) !important;
  max-height:70vh !important;
  overflow:visible !important;
  box-shadow:0 28px 76px rgba(3,13,27,.34) !important;
}

/* Neutraliza reglas antiguas tipo .nav-group:hover .nav-dropdown { display:block } sin visibilidad controlada. */
.nav-hierarchical:not(:hover):not(:focus-within) .nav-dropdown:not(:hover),
.site-header:not(:hover):not(:focus-within) .nav-dropdown:not(:hover) {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:-1 !important;
  box-shadow:none !important;
  max-height:0 !important;
}

/* Evita que dos submenús queden abiertos visualmente por estados heredados. */
.nav-hierarchical:has(.nav-group.is-open) .nav-group:not(.is-open) > .nav-dropdown,
.nav-hierarchical:has(.nav-group[data-open="true"]) .nav-group:not([data-open="true"]) > .nav-dropdown {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:-1 !important;
  box-shadow:none !important;
  max-height:0 !important;
  clip-path:inset(0 0 100% 0 round 18px) !important;
}

/* Puente de hover solo en el grupo activo bajo el puntero, no como superficie permanente que active sombras. */
.nav-group::after {
  display:none !important;
}
.nav-group:hover::after,
.nav-group:focus-within::after,
.nav-group.is-open::after,
.nav-group[data-open="true"]::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:-14px !important;
  right:-14px !important;
  top:100% !important;
  height:24px !important;
  background:transparent !important;
  pointer-events:auto !important;
}

/* Asegura lectura limpia cuando el submenú sí está abierto. */
.nav-dropdown a {
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
  filter:none !important;
}

/* En pantallas pequeñas el menú se comporta como panel interno sin sombras fantasma. */
@media (max-width:980px) {
  .nav-hierarchical .nav-group > .nav-dropdown,
  .site-header .nav-group > .nav-dropdown {
    position:static !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
  }
  .nav-hierarchical .nav-group:not(.is-open):not([data-open="true"]) > .nav-dropdown {
    display:none !important;
  }
  .nav-hierarchical .nav-group.is-open > .nav-dropdown,
  .nav-hierarchical .nav-group[data-open="true"] > .nav-dropdown {
    display:block !important;
    max-height:none !important;
    clip-path:none !important;
  }
}
