
/* ======================================================================
   IngSoft V80.98 DEFINITIVA · Global premium header + 3D hero hardening
   Aplicación transversal: toda la plataforma, no solo Inicio.
   ====================================================================== */
:root{
  --v98-bg:#020A16;
  --v98-bg2:#06152A;
  --v98-panel:#071832;
  --v98-panel2:#0B2A4F;
  --v98-cyan:#1FD8FF;
  --v98-sky:#8BD4FF;
  --v98-white:#F7FBFF;
  --v98-ink:#06152A;
  --v98-red:#E41E2B;
  --v98-border:rgba(139,212,255,.32);
  --v98-header-h:76px;
}
html{scroll-padding-top:var(--v98-header-h)!important;background:#020A16!important;}
body{background:#020A16!important;color:var(--v98-white)!important;overflow-x:hidden!important;}
body::before{content:"";position:fixed;inset:0;z-index:-5;pointer-events:none;background:radial-gradient(circle at 72% 8%,rgba(31,216,255,.14),transparent 32%),radial-gradient(circle at 6% 30%,rgba(11,115,217,.18),transparent 36%),linear-gradient(180deg,#020A16 0%,#06152A 58%,#020A16 100%)!important;}
/* ================= Header global: logo · menú · idiomas, una sola línea ================= */
.site-header, header .site-header{position:sticky!important;top:0!important;z-index:5000!important;background:rgba(2,10,22,.94)!important;backdrop-filter:blur(22px) saturate(150%)!important;border-bottom:1px solid rgba(139,212,255,.20)!important;box-shadow:0 18px 48px rgba(0,0,0,.30)!important;min-height:var(--v98-header-h)!important;}
.site-header .wide.header-inner,.site-header .header-inner,header .wide.header-inner{width:min(96vw,1500px)!important;margin:0 auto!important;min-height:var(--v98-header-h)!important;height:var(--v98-header-h)!important;display:grid!important;grid-template-columns:220px minmax(560px,1fr) auto!important;grid-template-areas:"brand nav lang"!important;align-items:center!important;column-gap:1rem!important;padding:0!important;}
.site-header .brand{grid-area:brand!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;}
.site-header .brand img{display:block!important;width:205px!important;max-width:205px!important;max-height:58px!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 0 18px rgba(31,216,255,.20))!important;}
.site-header .menu-toggle{display:none!important;}
.site-header .nav,.site-header .nav-hierarchical{grid-area:nav!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(.45rem,.9vw,1rem)!important;flex-wrap:nowrap!important;overflow:visible!important;min-width:0!important;}
.site-header .nav a,.site-header .nav-link{white-space:nowrap!important;color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;font-size:clamp(.72rem,.78vw,.92rem)!important;font-weight:850!important;letter-spacing:-.01em!important;opacity:.98!important;text-decoration:none!important;padding:.52rem .35rem!important;border-radius:12px!important;line-height:1!important;}
.site-header .nav a:hover,.site-header .nav-link:hover,.site-header .nav a[aria-current="page"]{color:#8BD4FF!important;-webkit-text-fill-color:#8BD4FF!important;background:rgba(139,212,255,.08)!important;}
.site-header .v95-language-switch,.site-header .v94-language-switch,.site-header .v93-language-switch{grid-area:lang!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:.25rem!important;width:auto!important;max-width:430px!important;min-width:0!important;margin:0!important;padding:.28rem!important;border:1px solid rgba(139,212,255,.33)!important;border-radius:999px!important;background:rgba(7,24,50,.78)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 24px rgba(31,216,255,.08)!important;}
.site-header .v95-language-switch button,.site-header .v94-language-switch button,.site-header .v93-language-switch button{height:34px!important;min-width:36px!important;padding:0 .62rem!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;font-size:.72rem!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;}
.site-header .v95-language-switch button.is-active,.site-header .v94-language-switch button.is-active,.site-header .v93-language-switch button.is-active{background:linear-gradient(135deg,#0B73D9,#1FD8FF)!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;box-shadow:0 0 18px rgba(31,216,255,.35)!important;}
.site-header .v95-language-switch select,.site-header .v94-language-switch select,.site-header .v93-language-switch select{height:34px!important;min-width:74px!important;max-width:84px!important;padding:0 .45rem!important;border-radius:999px!important;border:1px solid rgba(139,212,255,.28)!important;background:#06152A!important;color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;font-size:.72rem!important;font-weight:900!important;outline:none!important;}
.site-header .v94-i18n-agent{height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;border-radius:999px!important;padding:0 .58rem!important;margin:0!important;border:1px solid rgba(228,30,43,.60)!important;background:rgba(228,30,43,.14)!important;color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;font-size:.68rem!important;font-weight:900!important;letter-spacing:.02em!important;}
/* ================= First screen: complete hero, real selected 3D lab image ================= */
main{background:transparent!important;}
.v91-hero,.hero,.page-hero,.section-hero{min-height:calc(100svh - var(--v98-header-h))!important;padding:clamp(.75rem,1.35vw,1.35rem) 0!important;display:flex!important;align-items:center!important;overflow:hidden!important;background:linear-gradient(180deg,rgba(2,10,22,.97),rgba(6,21,42,.96))!important;}
.v91-wrap,.wide{width:min(96vw,1500px)!important;}
.v91-hero-grid{display:grid!important;grid-template-columns:minmax(270px,.37fr) minmax(680px,1fr)!important;gap:clamp(.85rem,1.4vw,1.6rem)!important;align-items:stretch!important;min-height:calc(100svh - var(--v98-header-h) - 34px)!important;}
.v91-left{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.78rem!important;min-width:0!important;}
.v91-title,.hero h1{font-size:clamp(3.1rem,5.2vw,6.2rem)!important;line-height:.90!important;letter-spacing:-.07em!important;margin:0!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;text-shadow:0 10px 42px rgba(0,0,0,.42)!important;}
.v91-title span,.hero h1 span{color:#1FD8FF!important;-webkit-text-fill-color:#1FD8FF!important;}
.v91-lead{font-size:clamp(.95rem,1.05vw,1.22rem)!important;line-height:1.38!important;max-width:48rem!important;color:#DDF3FF!important;-webkit-text-fill-color:#DDF3FF!important;margin:.25rem 0!important;}
.v91-eyebrow,.eyebrow,.tagline,.section-tag{display:inline-flex!important;align-items:center!important;gap:.55rem!important;color:#9EE7FF!important;-webkit-text-fill-color:#9EE7FF!important;font-size:.76rem!important;font-weight:950!important;letter-spacing:.22em!important;text-transform:uppercase!important;line-height:1!important;}
.v91-eyebrow::before,.eyebrow::before,.section-tag::before{content:"";width:12px;height:12px;border-radius:50%;background:#E41E2B;box-shadow:0 0 18px rgba(228,30,43,.55);display:inline-block;}
.v91-actions{display:flex!important;flex-wrap:wrap!important;gap:.7rem!important;align-items:center!important;}
.v91-btn,.btn,.button,button:not(.menu-toggle){border-radius:18px!important;font-weight:900!important;text-decoration:none!important;}
.v91-btn.primary,.btn-primary,.button-primary{background:linear-gradient(135deg,#0B73D9,#1FD8FF)!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border:0!important;box-shadow:0 18px 44px rgba(11,115,217,.26)!important;}
.v91-card{border:1px solid rgba(139,212,255,.25)!important;background:rgba(7,24,50,.68)!important;box-shadow:0 20px 52px rgba(0,0,0,.22)!important;border-radius:24px!important;color:#F7FBFF!important;}
.v91-card *{color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;opacity:1!important;}
.v91-source-card{display:none!important;}
.v91-chiprow{display:flex!important;flex-wrap:wrap!important;gap:.55rem!important;}
.v91-chip{font-size:.82rem!important;border-radius:999px!important;padding:.52rem .75rem!important;border:1px solid rgba(139,212,255,.28)!important;background:rgba(139,212,255,.08)!important;color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;white-space:nowrap!important;}
.v91-feature,.v91-lab-page .v91-lab-hub>.v91-feature{position:relative!important;display:grid!important;grid-template-columns:minmax(270px,.34fr) minmax(560px,1fr)!important;align-items:stretch!important;gap:.8rem!important;min-height:calc(100svh - var(--v98-header-h) - 40px)!important;max-height:calc(100svh - var(--v98-header-h) - 22px)!important;overflow:hidden!important;border:1px solid rgba(139,212,255,.28)!important;border-radius:34px!important;background:linear-gradient(145deg,rgba(7,24,50,.90),rgba(11,42,79,.66))!important;box-shadow:0 28px 80px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.03)!important;padding:clamp(.95rem,1.4vw,1.35rem)!important;}
.v91-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 22%,rgba(31,216,255,.18),transparent 38%),linear-gradient(90deg,rgba(2,10,22,.42),transparent 45%);pointer-events:none;z-index:0;}
.v91-feature>.copy{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:.65rem!important;max-width:430px!important;}
.v91-feature h2{font-size:clamp(2.35rem,3.65vw,5.2rem)!important;line-height:.92!important;letter-spacing:-.06em!important;margin:0!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;}
.v91-feature h2 span{display:block!important;color:#1FD8FF!important;-webkit-text-fill-color:#1FD8FF!important;}
.v91-feature .v91-holo{position:relative!important;z-index:1!important;min-height:100%!important;width:100%!important;border-radius:28px!important;overflow:hidden!important;border:1px solid rgba(139,212,255,.25)!important;background-image:linear-gradient(90deg,rgba(2,10,22,.18),rgba(2,10,22,.04)),url('/assets/img/celso-aq/lab/pendulum-3d-integrated-only-v8099.svg?v=84.42')!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 54px rgba(31,216,255,.16)!important;}
.v91-feature .v91-holo::after{content:"DOI ZENODO · VALIDACIÓN FÍSICA · SIMULACIÓN 2D/3D";position:absolute;left:1rem;right:1rem;bottom:.85rem;padding:.55rem .9rem;border-radius:999px;background:rgba(2,10,22,.62);border:1px solid rgba(139,212,255,.28);color:#BDEBFF;-webkit-text-fill-color:#BDEBFF;font-size:.72rem;font-weight:950;letter-spacing:.14em;text-align:center;text-transform:uppercase;}
.v91-feature .v91-wave,.v91-feature .v91-bob{display:none!important;}
.v91-feature .v91-statgrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.45rem!important;width:100%!important;margin:.4rem 0!important;}
.v91-feature .v91-stat{min-height:auto!important;padding:.62rem!important;border-radius:16px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(139,212,255,.25)!important;overflow:visible!important;}
.v91-feature .v91-stat b{display:block!important;font-size:clamp(1.05rem,1.2vw,1.35rem)!important;line-height:1!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;white-space:normal!important;word-break:normal!important;}
.v91-feature .v91-stat span,.v91-feature .v91-stat small{display:block!important;font-size:.66rem!important;line-height:1.18!important;color:#DDF3FF!important;-webkit-text-fill-color:#DDF3FF!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
/* Special lab page: full visual above the fold */
.v91-lab-page .v91-hero .v91-lab-hub{display:grid!important;grid-template-columns:minmax(280px,.32fr) minmax(740px,1fr)!important;gap:1rem!important;align-items:stretch!important;min-height:calc(100svh - var(--v98-header-h) - 34px)!important;}
.v91-lab-page .v91-hero aside{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.75rem!important;}
.v91-lab-page .v91-feature{grid-template-columns:minmax(280px,.32fr) minmax(600px,1fr)!important;}
.v91-lab-page .v91-feature .v91-holo{background-image:linear-gradient(90deg,rgba(2,10,22,.20),rgba(2,10,22,.03)),url('/assets/img/celso-aq/lab/pendulum-3d-integrated-only-v8099.svg?v=84.42')!important;}
/* ================= Observatory, datasets and critical contrast ================= */
.obs-location-buttons,.v91-source-tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:.55rem!important;align-items:center!important;}
.obs-location-buttons button,.v91-source-tabs button{white-space:nowrap!important;padding:.62rem .72rem!important;border-radius:999px!important;line-height:1!important;font-size:.78rem!important;font-weight:900!important;color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;border:1px solid rgba(139,212,255,.35)!important;background:rgba(139,212,255,.10)!important;}
.observatory-layout{grid-template-columns:minmax(0,1fr) minmax(330px,380px)!important;gap:1.15rem!important;align-items:start!important;}
.plotly-shell,#observatoryChart{min-height:820px!important;height:820px!important;background:#06152A!important;border-radius:26px!important;border:1px solid rgba(139,212,255,.22)!important;overflow:hidden!important;}
#observatoryChart .js-plotly-plot,#observatoryChart .plot-container,#observatoryChart .svg-container{min-height:820px!important;height:820px!important;}
.observatory-side-card,.variables-card,.traceability-card,.sidebar-card,.summary-card{background:#FFFFFF!important;color:#06152A!important;border:1px solid #BED8EF!important;border-radius:22px!important;box-shadow:0 14px 36px rgba(7,24,50,.12)!important;}
.observatory-side-card *,.variables-card *,.traceability-card *,.sidebar-card *,.summary-card *{color:#06152A!important;-webkit-text-fill-color:#06152A!important;opacity:1!important;text-shadow:none!important;}
.section-light,.light-section,main .section-light,.v97-datasets .section-light{background:#F4F9FD!important;color:#06152A!important;}
.section-light *,.light-section *,.v97-datasets .section-light *{color:#06152A!important;-webkit-text-fill-color:#06152A!important;opacity:1!important;text-shadow:none!important;}
.section-light a,.light-section a{color:#005FAE!important;-webkit-text-fill-color:#005FAE!important;font-weight:900!important;}
.section-dark,.dark-section,.site-footer{background:#020A16!important;color:#F7FBFF!important;}
.section-dark *,.dark-section *,.site-footer *{color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;opacity:1!important;}
.card,.panel,.publication-card,.publication,.dataset-card,.contact-card,.v93-doi-panel,.quote-box,.citation-output{overflow:visible!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;}
.publication-card,.publication,.dataset-card,.citar-page .panel,.citar-page .card,.contacto-page .panel{background:#FFFFFF!important;color:#06152A!important;border:1px solid #C7DDF0!important;border-radius:24px!important;box-shadow:0 16px 42px rgba(7,24,50,.10)!important;}
.publication-card *,.publication *,.dataset-card *,.citar-page .panel *,.citar-page .card *,.contacto-page .panel *{color:#06152A!important;-webkit-text-fill-color:#06152A!important;opacity:1!important;text-shadow:none!important;}
.citar-page .section-dark .panel,.citar-page .section-dark .card{background:#071832!important;color:#F7FBFF!important;border:1px solid rgba(139,212,255,.34)!important;}
.citar-page .section-dark .panel *,.citar-page .section-dark .card *{color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;}
.contacto-page .contact-card{background:linear-gradient(145deg,#071832,#0B2A4F)!important;color:#F7FBFF!important;border:1px solid rgba(139,212,255,.42)!important;border-radius:26px!important;}
.contacto-page .contact-card *{color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;opacity:1!important;}
.contacto-page .contact-card input,.contacto-page .contact-card textarea{background:rgba(255,255,255,.12)!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;border:2px solid rgba(139,212,255,.58)!important;border-radius:16px!important;}
/* Floating accessibility control does not cover content */
.accessibility-panel-toggle{right:1rem!important;bottom:1rem!important;z-index:1600!important;}
/* ================= Responsive ================= */
@media (max-width:1280px){
  :root{--v98-header-h:88px;}
  .site-header .wide.header-inner,.site-header .header-inner{height:auto!important;min-height:88px!important;grid-template-columns:190px 1fr!important;grid-template-areas:"brand lang" "nav nav"!important;row-gap:.2rem!important;padding:.35rem 0!important;}
  .site-header .brand img{width:180px!important;max-width:180px!important;}
  .site-header .nav{justify-content:center!important;overflow-x:auto!important;padding-bottom:.15rem!important;}
  .v91-hero-grid,.v91-lab-page .v91-hero .v91-lab-hub{grid-template-columns:1fr!important;min-height:auto!important;}
  .v91-feature,.v91-lab-page .v91-feature{min-height:650px!important;max-height:none!important;grid-template-columns:minmax(280px,.35fr) minmax(500px,1fr)!important;}
  .obs-location-buttons,.v91-source-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .observatory-layout{grid-template-columns:1fr!important;}
}
@media (max-width:780px){
  :root{--v98-header-h:122px;}
  .site-header .wide.header-inner,.site-header .header-inner{grid-template-columns:1fr!important;grid-template-areas:"brand" "lang" "nav"!important;min-height:122px!important;padding:.35rem 0!important;}
  .site-header .brand{justify-content:center!important;}
  .site-header .v95-language-switch,.site-header .v94-language-switch,.site-header .v93-language-switch{justify-self:center!important;max-width:calc(100vw - 28px)!important;overflow-x:auto!important;}
  .site-header .nav{justify-content:flex-start!important;overflow-x:auto!important;}
  .v91-title,.hero h1{font-size:clamp(2.5rem,12vw,4rem)!important;}
  .v91-feature,.v91-lab-page .v91-feature{grid-template-columns:1fr!important;min-height:720px!important;padding:.85rem!important;}
  .v91-feature .v91-holo{min-height:390px!important;}
  .v91-feature .v91-statgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .obs-location-buttons,.v91-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .plotly-shell,#observatoryChart,#observatoryChart .js-plotly-plot,#observatoryChart .plot-container,#observatoryChart .svg-container{min-height:690px!important;height:690px!important;}
}
