/*
  IngSoft V84.42 — Consolidación visual premium, cabecera/hero y auditoría integral de no regresión.
  Capa de estabilización visual no destructiva. No modifica motores científicos, Observatorio,
  Plotly, NASA/JPL, selector geográfico, agentes ni simuladores.
*/
:root{
  --v8442-navy-980:#010711;
  --v8442-navy-950:#020A16;
  --v8442-navy-900:#06152A;
  --v8442-blue-700:#064FC4;
  --v8442-blue-600:#0B73D9;
  --v8442-cyan-400:#22D8FF;
  --v8442-cyan-200:#8BD4FF;
  --v8442-ice-100:#EAF8FF;
  --v8442-silver-200:#DCEBFA;
  --v8442-silver-300:#C7D7E8;
  --v8442-white:#FFFFFF;
  --v8442-red:#E41E2B;
  --v8442-header-shadow:0 22px 44px rgba(0,0,0,.34),0 0 34px rgba(34,216,255,.16);
  --v8442-logo-glow:0 0 22px rgba(34,216,255,.28),0 18px 36px rgba(0,0,0,.34);
  --v8442-card-border:rgba(139,212,255,.30);
}

/* Cabecera institucional: logo legible, menú estable y selector universal sin congestión. */
.site-header.v8099-site-header,
.site-header{
  min-height:78px!important;
  background:
    radial-gradient(circle at 10% 0%,rgba(34,216,255,.12),transparent 28%),
    linear-gradient(180deg,rgba(1,7,17,.992),rgba(2,10,22,.988))!important;
  border-bottom:1px solid rgba(139,212,255,.28)!important;
  box-shadow:var(--v8442-header-shadow)!important;
  backdrop-filter:blur(18px)!important;
}
.header-inner.v8099-header-inner,
.header-inner{
  min-height:78px!important;
  gap:clamp(.65rem,1.2vw,1.2rem)!important;
  align-items:center!important;
}
.site-header .brand,
.v8099-brand{
  min-width:clamp(190px,21vw,292px)!important;
  width:clamp(190px,21vw,292px)!important;
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
.site-header .brand img[src*="logo-ingsoft-header-premium-dark"],
.site-header .brand img,
.brand img.header-logo{
  width:clamp(190px,21vw,292px)!important;
  max-width:292px!important;
  height:auto!important;
  max-height:74px!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:14px!important;
  background:#020A16!important;
  border:1px solid rgba(139,212,255,.22)!important;
  box-shadow:var(--v8442-logo-glow)!important;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.30))!important;
}
.site-header .nav,
.site-header .nav-hierarchical{
  gap:.14rem!important;
  align-items:center!important;
}
.site-header .nav a,
.site-header .nav-hierarchical .nav-link,
.site-header .nav-hierarchical .nav-parent{
  color:#F7FBFF!important;
  -webkit-text-fill-color:#F7FBFF!important;
  font-weight:850!important;
  letter-spacing:-.012em!important;
  text-shadow:none!important;
  border:1px solid transparent!important;
}
.site-header .nav a:hover,
.site-header .nav a:focus-visible,
.site-header .nav a[aria-current="page"]{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(139,212,255,.32)!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.v8099-langbar{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(139,212,255,.26)!important;
  border-radius:999px!important;
  padding:.22rem!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.v8099-langbar button,
.v8099-langbar select,
.v8099-langbar .v8099-ai{
  min-height:30px!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:rgba(139,212,255,.28)!important;
  text-shadow:none!important;
}
.v8099-langbar button[aria-pressed="true"]{
  background:#FFFFFF!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  border-color:#B7D8EE!important;
}
.v8099-langbar select,
.v8099-langbar select option{
  background:#FFFFFF!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
}

/* Hero institucional: protagonista visual premium, sin exceso de marca ni opacidad sobre texto crítico. */
.premium-hero-3d,
.v91-hero,
.hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.premium-hero-3d::after{
  background:url('/assets/img/ingsoft/brand/logo-ingsoft-isotipo-dark.png?v=84.42') center/contain no-repeat!important;
  opacity:.075!important;
  filter:drop-shadow(0 0 34px rgba(34,216,255,.22)) saturate(1.02)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.premium-hero-3d > *,
.v91-hero > *,
.hero > *{position:relative!important;z-index:1!important;}
body.page-home:not(.page-datasets):not(.page-contacto):not(.page-observatorio):not(.page-laboratorio) .v91-title::before{
  width:min(430px,76vw)!important;
  height:clamp(112px,16vw,224px)!important;
  margin:0 0 1rem 0!important;
  background:url('/assets/img/ingsoft/brand/logo-ingsoft-horizontal-dark.png?v=84.42') left center/contain no-repeat!important;
  opacity:.98!important;
  filter:drop-shadow(0 22px 42px rgba(0,0,0,.38)) drop-shadow(0 0 18px rgba(34,216,255,.14))!important;
}
.v91-title,
.hero h1,
.section-head h1{
  text-wrap:balance!important;
}
.v91-subtitle,
.hero-lead,
.section-head p,
.v91-card p,
.lab84-card p,
.publication p,
.contact-clean-section p{
  line-height:1.58!important;
}
.v91-actions .btn,
.hero-actions .btn,
.btn{
  min-height:44px!important;
  text-shadow:none!important;
}
.btn-primary,
.v91-actions .btn-primary{
  background:linear-gradient(135deg,#075EAB,#0B73D9 55%,#0A94E8)!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:rgba(139,212,255,.38)!important;
  box-shadow:0 16px 32px rgba(11,115,217,.30)!important;
}
.btn-secondary,
.v91-actions .btn-secondary{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:rgba(199,215,232,.48)!important;
  background:rgba(255,255,255,.08)!important;
}
.section-light .btn-secondary,
.surface-light .btn-secondary{
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  background:#FFFFFF!important;
  border-color:#9EC8E8!important;
}

/* Superficies y contraste: reglas finales de V84.42. */
.surface-dark,
.section-dark,
.v91-section.surface-dark,
.feature-band,
.contact-card{
  color:#FFFFFF!important;
}
.surface-dark p,
.section-dark p,
.feature-band p,
.contact-card p,
.v91-card:not(.surface-light-card):not(.card--light) p{
  color:#EAF6FF!important;
}
.surface-dark a,
.section-dark a,
.feature-band a,
.contact-card a{
  color:#BFEAFF!important;
  text-decoration-color:rgba(34,216,255,.52)!important;
}
.surface-light,
.section-light,
.card--light,
.surface-light-card,
.panel,
.publication,
.contact-clean-section,
.ingsoft-contact-card-clean,
.pub-criteria-content{
  color:#06152A!important;
}
.surface-light p,
.section-light p,
.card--light p,
.surface-light-card p,
.panel p,
.publication p,
.contact-clean-section p,
.ingsoft-contact-card-clean p{
  color:#243A54!important;
}
.surface-light a,
.section-light a,
.card--light a,
.panel a,
.publication a,
.contact-clean-section a{
  color:#064FC4!important;
}
.eyebrow,
.v91-kicker,
.tag,
.badge,
.v91-chip,
.lab84-badge{
  text-shadow:none!important;
}
.section-light .eyebrow,
.surface-light .eyebrow,
.v91-card .eyebrow{
  background:#FFFFFF!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  border-color:#9EC8E8!important;
}
input,textarea,select,
.field input,.field textarea,.field select,
.ingsoft-contact-field-clean input,
.ingsoft-contact-field-clean textarea{
  background:#FFFFFF!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  border:1px solid #9EC8E8!important;
  caret-color:#06152A!important;
}
input::placeholder,textarea::placeholder{
  color:#5B6B7F!important;
  opacity:1!important;
}
select option{
  background:#FFFFFF!important;
  color:#06152A!important;
}

/* Logo en footer: se mantiene oficial completo, pero con lectura controlada. */
.site-footer .footer-logo{
  width:min(260px,72vw)!important;
  max-height:150px!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
  background:#020A16!important;
  border:1px solid rgba(139,212,255,.22)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.34),0 0 18px rgba(34,216,255,.12)!important;
}
.site-footer,
.site-footer p,
.site-footer a,
.footer-bottom{
  color:#EAF6FF!important;
}
.site-footer a:hover{color:#FFFFFF!important;}

/* Laboratorio: preservar Celso-AQ como marca propia y limpiar densidad visual. */
body[class*="page-laboratorio"] .premium-hero-3d::after,
body .lab84-section::after{
  opacity:.045!important;
}
.lab84-section,
.lab84-grid,
.lab84-matrix,
.lab84-card,
.v91-sim-cards{
  scroll-margin-top:104px!important;
}
.lab84-card,
.lab84-flow-item,
.v91-card,
.publication,
.contact-clean-card,
.ingsoft-contact-card-clean{
  border-color:var(--v8442-card-border)!important;
}

/* Responsive: móvil limpio, logo compacto, menú sin solapamientos. */
@media (min-width:1201px){
  .site-header .nav a,
  .site-header .nav-hierarchical .nav-link,
  .site-header .nav-hierarchical .nav-parent{
    font-size:.76rem!important;
    padding:.50rem .42rem!important;
  }
}
@media (max-width:1200px){
  .site-header,.site-header.v8099-site-header{min-height:72px!important;}
  .header-inner.v8099-header-inner,.header-inner{min-height:72px!important;}
  .site-header .brand,.v8099-brand{min-width:clamp(168px,42vw,230px)!important;width:clamp(168px,42vw,230px)!important;}
  .site-header .brand img[src*="logo-ingsoft-header-premium-dark"],
  .site-header .brand img{
    width:clamp(168px,42vw,230px)!important;
    max-height:58px!important;
    border-radius:12px!important;
  }
  .site-header .nav.is-open,
  .site-header .nav-hierarchical.is-open{
    background:#06152A!important;
    border:1px solid rgba(139,212,255,.34)!important;
    box-shadow:0 24px 52px rgba(0,0,0,.44)!important;
  }
}
@media (max-width:720px){
  .site-header .brand,.v8099-brand{min-width:158px!important;width:158px!important;}
  .site-header .brand img[src*="logo-ingsoft-header-premium-dark"],
  .site-header .brand img{width:158px!important;max-height:48px!important;}
  .v8099-langbar{max-width:100%;overflow-x:auto;border-radius:16px!important;}
  body.page-home:not(.page-datasets):not(.page-contacto):not(.page-observatorio):not(.page-laboratorio) .v91-title::before{
    width:min(286px,78vw)!important;
    height:84px!important;
    margin-bottom:.75rem!important;
  }
  .premium-hero-3d::after{opacity:.04!important;}
  .v91-actions,.hero-actions{gap:.72rem!important;}
  .v91-actions .btn,.hero-actions .btn,.btn{width:100%;max-width:340px;}
}
