/* ==========================================================================
   LABCOR Experimenta · capa de marca para labcor.mx
   Paleta tomada del logotipo: azul marino #223057, naranja del pulso #e87820,
   azul del pulso #1f4e9c. Para cambiar la identidad basta editar este bloque.
   ========================================================================== */
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-semi-condensed-600.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-semi-condensed-700.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-400.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-sans-3-600.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-sans-3-700.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500.woff2) format("woff2")}

:root{
  --lb-navy:#223057;
  --lb-navy-deep:#101834;
  --lb-blue:#1f4e9c;
  --lb-blue-soft:#e8eef8;
  --lb-orange:#e87820;
  --lb-orange-hot:#f08a24;
  --lb-orange-ink:#a8520a;
  --lb-ink:#1b2540;
  --lb-muted:#56627f;
  --lb-line:#dbe1ec;
  --lb-paper:#f3f5fa;
  --lb-head:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif;
  --lb-body:"Source Sans 3","Segoe UI",Arial,sans-serif;
  --lb-mono:"IBM Plex Mono",Consolas,monospace;
}

/* ---------- Base tipográfica ---------- */
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--lb-body);font-size:16px;line-height:1.6;color:var(--lb-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background-image:none!important}
h1,h2,h3,h4,.museum-head h2,.section-head h2{font-family:var(--lb-head);font-weight:700;letter-spacing:0;line-height:1.08}
h1{font-size:clamp(2.3rem,4.4vw,3.7rem)}
h2{font-size:clamp(1.8rem,3vw,2.4rem)}
h3{font-size:1.35rem;font-weight:600}
button,input,select,textarea{font-family:var(--lb-body)}
code,kbd,samp,pre,.mono{font-family:var(--lb-mono)}
p,li{max-width:75ch}
.eyebrow,.premium-kicker{font-family:var(--lb-body);font-size:.95rem;font-weight:700;letter-spacing:.01em;text-transform:none}
:focus-visible{outline:3px solid var(--lb-orange);outline-offset:3px;border-radius:4px}
.lb-skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--lb-navy);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;transition:top .15s}
.lb-skip:focus{top:12px}

/* ---------- Cabecera unificada ---------- */
.lb-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--lb-line);color:var(--lb-navy)}
.lb-bar{max-width:1420px;margin:0 auto;padding:8px 24px;min-height:70px;display:flex;align-items:center;gap:22px}
.lb-brand{display:flex;align-items:center;gap:14px;flex:0 0 auto;color:var(--lb-navy)}
.lb-brand img{display:block;height:46px;width:auto}
.lb-brand span{font:700 1.15rem/1 var(--lb-head);color:var(--lb-navy);padding-left:14px;border-left:2px solid var(--lb-orange);white-space:nowrap}
.lb-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.lb-nav a{padding:9px 10px;border-radius:8px;font:600 1rem/1.1 var(--lb-body);color:var(--lb-navy);white-space:nowrap}
.lb-nav a:hover{background:var(--lb-blue-soft)}
.lb-nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--lb-orange);border-radius:8px 8px 0 0}
.lb-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.lb-nav-cta{display:none}
.lb-header .global-visitor-counter{position:static!important;transform:none!important;display:inline-flex;align-items:center;gap:6px;min-width:0;padding:6px 10px;border-radius:999px;background:var(--lb-blue-soft);border:1px solid var(--lb-line);color:var(--lb-navy);font:600 .8rem/1 var(--lb-body);box-shadow:none}
.lb-header .global-visitor-counter b{font:500 .8rem/1 var(--lb-mono);color:var(--lb-navy)}
.lb-header .global-visitor-counter .visitor-eye{width:8px;height:8px;border-radius:50%;background:var(--lb-orange);display:inline-block;box-shadow:none}
.lb-header .global-visitor-counter .visitor-eye::before,.lb-header .global-visitor-counter .visitor-eye::after{display:none}
.lb-toggle{display:none;border:1px solid var(--lb-line);background:#fff;color:var(--lb-navy);border-radius:10px;width:44px;height:44px;font:700 1.3rem/1 var(--lb-body);cursor:pointer}

.lb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 20px;font:700 1rem/1.1 var(--lb-body);border:2px solid transparent;cursor:pointer;text-align:center;transition:background .15s,border-color .15s,color .15s}
.lb-btn-primary{background:var(--lb-orange);color:var(--lb-navy-deep)}
.lb-btn-primary:hover{background:var(--lb-orange-hot)}
.lb-btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.lb-btn-ghost:hover{background:rgba(255,255,255,.12)}
.lb-btn-navy{background:var(--lb-navy);color:#fff}
.lb-btn-navy:hover{background:var(--lb-blue)}
.lb-btn-sm{padding:9px 16px;font-size:.95rem}

/* Barra secundaria: ruta de navegación y enlaces propios de cada página */
.lb-subbar{background:var(--lb-blue-soft);border-bottom:1px solid var(--lb-line)}
.lb-subbar-in{max-width:1420px;margin:0 auto;padding:9px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:.92rem;color:var(--lb-muted)}
.lb-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.lb-crumbs li{max-width:none;display:flex;align-items:center;gap:6px}
.lb-crumbs li+li::before{content:"/";color:#9aa5bf}
.lb-crumbs a{color:var(--lb-blue);font-weight:600}
.lb-crumbs a:hover{text-decoration:underline}
.lb-crumbs [aria-current]{color:var(--lb-navy);font-weight:700}
.lb-pagelinks{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.lb-pagelinks a{padding:5px 12px;border-radius:999px;border:1px solid var(--lb-blue);color:var(--lb-blue);font-weight:600;background:#fff}
.lb-pagelinks a:hover{background:var(--lb-blue);color:#fff}

@media (max-width:1320px){.lb-header .global-visitor-counter .visitor-label{display:none}}
@media (max-width:1100px){
  .lb-toggle{display:inline-flex;align-items:center;justify-content:center}
  .lb-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--lb-line);flex-direction:column;align-items:stretch;padding:10px 16px 16px;margin:0;box-shadow:0 18px 30px rgba(16,24,52,.12)}
  .lb-header.open .lb-nav{display:flex}
  .lb-nav a{padding:13px 12px;font-size:1.05rem}
  .lb-actions .lb-btn{display:none}
  .lb-nav-cta{display:block;margin-top:8px;background:var(--lb-orange);color:var(--lb-navy-deep)!important;text-align:center}
  .lb-toggle{margin-left:0}
  .lb-actions{margin-left:auto}
  .lb-header.open .lb-nav::after{content:"";display:block;height:0}
}
@media (max-width:560px){
  .lb-bar{padding:8px 14px;gap:12px}
  .lb-brand img{height:38px}
  .lb-brand span{display:none}
  .lb-subbar-in{padding:8px 14px}
  .lb-pagelinks{margin-left:0}
}

/* ---------- Portada: hero con diagrama de Evans ---------- */
.lb-hero{position:relative;margin:20px 0 0;border-radius:24px;background:var(--lb-navy);color:#fff;overflow:hidden}
.lb-hero-in{max-width:1420px;margin:0 auto;padding:56px 24px 64px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.lb-hero h1{margin:0 0 18px;color:#fff;max-width:18ch}
.lb-hero p.lb-lead{font-size:1.2rem;line-height:1.55;color:#d8def0;max-width:56ch;margin:0 0 26px}
.lb-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.lb-hero .lb-btn-ghost{color:#fff}
.lb-norms{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.lb-norms li{max-width:none;padding:5px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font:500 .8rem/1 var(--lb-mono);color:#e6ebf8}
.lb-figure{margin:0;background:#fff;border-radius:18px;padding:18px 18px 14px;color:var(--lb-ink);box-shadow:0 30px 60px rgba(8,12,30,.35)}
.lb-figure svg{display:block;width:100%;height:auto}
.lb-figure figcaption{font-size:.95rem;color:var(--lb-muted);padding:10px 4px 0;line-height:1.45}
.lb-figure figcaption a{color:var(--lb-blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ev-grid line{stroke:#e3e8f2;stroke-width:1}
.ev-axis{stroke:#56627f;stroke-width:1.6;fill:none}
.ev-txt{font:600 13px var(--lb-body);fill:#56627f}
.ev-txt-b{font:700 14px var(--lb-body)}
.ev-line{fill:none;stroke-width:3.5;stroke-linecap:round}
.ev-line.a{stroke:var(--lb-orange)}
.ev-line.c{stroke:var(--lb-blue)}
.ev-dash{fill:none;stroke-width:2.2;stroke-dasharray:6 6;opacity:.55}
.ev-dash.a{stroke:var(--lb-orange)}
.ev-dash.c{stroke:var(--lb-blue)}
.ev-guide{stroke:#8a94ad;stroke-width:1.3;stroke-dasharray:4 5;fill:none}
.ev-dot{fill:#fff;stroke:var(--lb-navy);stroke-width:3.5}
@media (prefers-reduced-motion:no-preference){
  .ev-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:ev-draw 1.5s .25s cubic-bezier(.4,.1,.2,1) forwards}
  .ev-draw.c{animation-delay:.1s}
  .ev-pop{opacity:0;animation:ev-pop .5s 1.5s ease-out forwards}
}
@keyframes ev-draw{to{stroke-dashoffset:0}}
@keyframes ev-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.ev-pop{transform-box:fill-box;transform-origin:center}
@media (max-width:900px){
  .lb-hero-in{grid-template-columns:1fr;padding:36px 18px 44px;gap:28px}
  .lb-hero h1{max-width:none}
}

/* Franja de cifras */
.lb-facts{max-width:1420px;margin:0 auto;padding:26px 24px 0;display:flex;flex-wrap:wrap;gap:12px 40px}
.lb-facts div{display:flex;align-items:baseline;gap:10px}
.lb-facts strong{font:700 2.2rem/1 var(--lb-head);color:var(--lb-navy)}
.lb-facts span{color:var(--lb-muted)}

/* ---------- Secciones heredadas de la portada ---------- */
.container{max-width:1420px}
.museum,.section-panel{border-radius:20px;background:#fff;border:1px solid var(--lb-line);box-shadow:0 6px 24px rgba(34,48,87,.06);backdrop-filter:none}
.museum-head h2,.section-head h2{font-size:clamp(1.8rem,3vw,2.3rem)}
.card,.room,.exp-card,.sim-card{border-radius:14px}
.btn,.btn.primary{font-family:var(--lb-body);font-weight:700;border-radius:10px}
.btn.primary,.btn-primary{background:var(--lb-orange);color:var(--lb-navy-deep);border-color:transparent}
.premium-hero,.hero{border-radius:20px}
.notice{border-radius:12px;font-size:.95rem}

/* ---------- Bloque comercial hacia labcor.mx ---------- */
.lb-cta{background:var(--lb-navy);color:#fff;margin:48px 0 0}
.lb-cta-in{max-width:1420px;margin:0 auto;padding:44px 24px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:center}
.lb-cta h2{margin:0 0 12px;color:#fff;font-size:clamp(1.7rem,2.8vw,2.3rem)}
.lb-cta p{margin:0 0 14px;color:#d8def0;font-size:1.08rem}
.lb-cta .lb-norms{margin-top:4px}
.lb-cta-actions{display:flex;flex-direction:column;gap:10px}
.lb-cta-actions .lb-btn-ghost{color:#fff}
.lb-cta-note{grid-column:1/-1;margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem!important;color:#b9c3e0!important;max-width:none!important}
@media (max-width:860px){.lb-cta-in{grid-template-columns:1fr;padding:34px 18px}}

/* ---------- Pie de página ---------- */
footer,.footer{font-family:var(--lb-body)}
.lb-foot{background:var(--lb-navy-deep);color:#c9d1ea}
.lb-foot-in{max-width:1420px;margin:0 auto;padding:30px 24px 26px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px 40px;font-size:.95rem}
.lb-foot strong{display:block;color:#fff;font:700 1.15rem/1.2 var(--lb-head);margin-bottom:6px}
.lb-foot p{margin:0;max-width:none}
.lb-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;align-content:flex-start}
.lb-foot li{max-width:none}
.lb-foot a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
.lb-foot a:hover{text-decoration-color:var(--lb-orange)}
@media (max-width:760px){.lb-foot-in{grid-template-columns:1fr}}

/* ---------- Botones sociales: más discretos ---------- */
.global-social-dock{right:14px!important;bottom:14px!important;gap:6px!important}
.global-social-btn{width:42px!important;height:42px!important;border-radius:12px!important;box-shadow:0 6px 16px rgba(16,24,52,.22)!important;font-size:14px!important}
.global-social-btn.facebook,.global-social-btn.linkedin{background:var(--lb-navy)!important}
.global-social-btn.youtube{background:var(--lb-navy)!important;color:#fff!important;font-size:15px!important}
.global-social-btn.whatsapp{background:#25d366!important}
@media (max-width:700px){.global-social-dock{flex-direction:row!important;right:10px!important;bottom:10px!important}}

/* ---------- Formularios ---------- */
.contact-panel-global{background:var(--lb-navy)!important;border-radius:20px!important}
.contact-form-global input,.contact-form-global select,.contact-form-global textarea{border-radius:10px;border:1px solid var(--lb-line);font-size:1rem}
.contact-form-global button[type=submit]{background:var(--lb-orange)!important;color:var(--lb-navy-deep)!important;font-weight:700;border-radius:10px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{.lb-header,.lb-subbar,.global-social-dock,.lb-cta,.lb-foot{display:none!important}}

/* ---------- Mapa de salas: familia azul marino, con naranja en corrosión y energía ---------- */
.lab-map .lab-tile{border-radius:18px;box-shadow:0 8px 24px rgba(34,48,87,.14)}
.lab-map .lab-tile.tension{background:linear-gradient(145deg,#141d3d,#1f4e9c)}
.lab-map .lab-tile.electro{background:linear-gradient(145deg,#141d3d,#2d5fb0)}
.lab-map .lab-tile.xrf{background:linear-gradient(145deg,#1a2548,#2a3f78)}
.lab-map .lab-tile.games{background:linear-gradient(145deg,#1a2548,#3a4f8c)}
.lab-map .lab-tile.learn{background:linear-gradient(145deg,#101834,#223057)}
.lab-map .lab-tile.lims{background:linear-gradient(145deg,#141d3d,#223057)}
.lab-map .lab-tile.battery{background:linear-gradient(145deg,#1a2548,#8f4a12)}
.lab-map .lab-tile.corrosion{background:linear-gradient(145deg,#1a2548,#a8520a)}
.lab-map .lab-tile.structure{background:linear-gradient(145deg,#1a2548,#8f4a12)}
.lab-map .lab-tile.energy{background:linear-gradient(145deg,#1a2548,#a8520a)}
.lab-tile .tile-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:10px;background:var(--lb-orange);color:var(--lb-navy-deep);font:700 1.1rem/1 var(--lb-head)}
.lab-tile h3{font-size:1.5rem}
.lab-tile p{font-size:.98rem;color:#e3e8f6}
.lab-tile:after{background:rgba(255,255,255,.06)}

/* ---------- Tarjetas del catálogo ---------- */
.card{border:1px solid var(--lb-line);box-shadow:0 4px 16px rgba(34,48,87,.06)}
.card-icon{background:var(--lb-blue-soft);color:var(--lb-navy);font-family:var(--lb-head);font-weight:700;border-radius:10px}
.card h3{font-size:1.3rem}
.card p{color:var(--lb-muted);font-size:1rem}
.tag{background:var(--lb-blue-soft);color:var(--lb-navy);border-radius:999px;font-weight:600}
.card-link{color:var(--lb-blue);font-weight:700}
.card-link:hover{color:var(--lb-orange-ink)}

/* ---------- Sección inmersiva ---------- */
.immersive{background:var(--lb-navy)!important;border-radius:20px!important;box-shadow:none!important}
.immersive h2{color:#fff}
.premium-btn.main{background:var(--lb-orange)!important;color:var(--lb-navy-deep)!important;box-shadow:none!important;font-weight:700}
.premium-btn.ghost{border:2px solid rgba(255,255,255,.7)!important;background:transparent!important;color:#fff!important}
.immersive-step{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.18)!important}
.immersive-step b{font-family:var(--lb-head);font-size:1.15rem}
.immersive-step span{font-size:1rem;color:#d8def0}

/* ---------- Ajustes de color y formularios ---------- */
.museum .eyebrow,.section-head .eyebrow,.same-company-panel .eyebrow{color:var(--lb-blue)!important}
.immersive .eyebrow,.contact-panel-global .eyebrow{color:var(--lb-orange-hot)!important}
.contact-form-global label{font-size:.92rem!important;font-weight:600!important;letter-spacing:0!important;color:#e3e8f6}
.contact-form-global input,.contact-form-global select,.contact-form-global textarea{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;padding:11px 12px}
.contact-form-global select option{color:#1b2540;background:#fff}
.contact-form-global ::placeholder{color:#b9c3e0}
.contact-note{font-size:.88rem!important;color:#c9d1ea!important}
.contact-panel-global .btn-light{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;font-weight:600}
.contact-panel-global .btn-light:hover{background:rgba(255,255,255,.2)!important}
.youtube-channel-btn{background:rgba(255,255,255,.1)!important;color:#fff!important}

/* ---------- Enlaces y etiquetas ---------- */
.lb-header a,.lb-subbar a,.lb-btn,.lb-cta a,.lb-brand,.lb-skip{text-decoration:none}
.lb-crumbs a:hover{text-decoration:underline}
.lb-cta a.lb-btn:hover{text-decoration:none}
.ey,.eye,.kicker{letter-spacing:.01em!important;font-size:.95rem!important;text-transform:none!important;font-weight:700!important}

/* Franja final del pie original, integrada con el pie de marca */
body > footer,footer.footer,body > .footer{max-width:none!important;margin:0!important;background:var(--lb-navy-deep);color:#9aa5c8!important;padding:14px max(24px,calc((100% - 1420px)/2 + 24px))!important;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem!important}
body > footer span,footer.footer span{max-width:none}
@media (min-width:701px){body > footer,footer.footer{padding-right:78px!important}}
.labcor-experimenta-return{display:none!important}
@media (max-width:700px){.global-social-btn:not(.whatsapp){display:none!important}}
