/* ==========================================================================
   lab-editorial.css · F13 · Rediseño visual del subdominio LAB
   Capa final (se carga después de lab-tokens.css). Solo presentación: no cambia
   texto, argumentos ni el orden del contenido. Lenguaje "editorial industrial":
   ritmo OMICRON CPX 200 (bandas a sangre alternando tinta / claro, titulares
   grandes alineados a la izquierda, mucho aire) + retícula tipo bento para los
   grupos de tarjetas. Sin píldoras: esquinas rectas de 2–6 px en todo el sitio.
   ========================================================================== */
:root{
  --ed-ink:#070b10; --ed-ink2:#0c1520; --ed-navy:#0b2744; --ed-paper:#ffffff; --ed-mist:#f2f4f7;
  --ed-line-d:rgba(232,238,243,.12); --ed-line-l:#dde3ea;
  --ed-text-d:#eef3f7; --ed-muted-d:#a7b6c4; --ed-text-l:#0a0f14; --ed-muted-l:#46525e;
  --ed-gold:#e5b866; --ed-gold-deep:#8f6414; --ed-cyan:#59d8dc;
  --ed-wrap:1240px; --ed-gutter:clamp(20px,5vw,64px);
  --ed-space:clamp(72px,9vw,136px);
  --ed-h1:clamp(2.6rem,5.6vw,5rem); --ed-h2:clamp(2rem,3.7vw,3.25rem); --ed-h3:clamp(1.25rem,1.6vw,1.5rem);
  --ed-body:clamp(1rem,.35vw + .92rem,1.125rem);
  --ed-r:4px;
}

/* ---------- 1 · Base ---------- */
html{scroll-padding-top:84px}
body{background:var(--ed-ink)!important;color:var(--ed-text-d);font-family:Manrope,system-ui,sans-serif;font-size:var(--ed-body);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main h1{font-family:Sora,Manrope,sans-serif!important;font-size:var(--ed-h1)!important;line-height:1.02!important;font-weight:800!important;letter-spacing:-.04em!important;text-wrap:balance}
main h2{font-family:Sora,Manrope,sans-serif!important;font-size:var(--ed-h2)!important;line-height:1.06!important;font-weight:800!important;letter-spacing:-.032em!important;text-wrap:balance}
main h3{font-family:Sora,Manrope,sans-serif!important;font-size:var(--ed-h3)!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.015em!important}
main h1 em,main h2 em{font-style:normal;color:var(--ed-gold)!important}
main p{max-width:68ch}
/* rótulos (kickers) : oro, versales espaciadas, con trazo */
.eyebrow,.lab-kicker,.kicker,[class*="__kicker"],[class*="-kicker"],.caso-hero .etiqueta,.cg-kicker{font:700 12px/1.3 Manrope,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase;color:var(--ed-gold)!important}

/* ---------- 2 · Header ---------- */
.lab-header{background:rgba(7,11,16,.92)!important;border-bottom:1px solid var(--ed-line-d)!important;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.lab-header-inner{max-width:var(--ed-wrap)!important;padding:14px var(--ed-gutter)!important}
.lab-wordmark{font:800 15px/1 Sora,sans-serif!important;letter-spacing:.2em!important;color:var(--ed-text-d)!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:10px}
.lab-wordmark span{color:var(--ed-ink)!important;background:var(--ed-gold);padding:3px 6px 2px;border-radius:2px;font-size:11px;letter-spacing:.16em}
.lab-menu a{font:600 14px/1.3 Manrope,sans-serif!important;color:var(--ed-muted-d)!important;position:relative;padding:6px 0}
.lab-menu a:hover,.lab-menu a[aria-current=page]{color:var(--ed-text-d)!important}
.lab-menu a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--ed-gold)}
.lab-header a.lab-contact{border:0!important;border-radius:var(--ed-r)!important;background:var(--ed-gold)!important;color:var(--ed-ink)!important;padding:9px 16px!important;font-weight:800!important}
.lab-header a.lab-contact::after{display:none}
.lab-menu-toggle{border-radius:var(--ed-r)!important;border:1px solid var(--ed-line-d)!important;color:var(--ed-text-d)!important;background:transparent!important;font:700 13px Manrope,sans-serif!important;letter-spacing:.06em}
.lab-menu.is-open{background:var(--ed-ink)!important;border-bottom:1px solid var(--ed-line-d)!important;padding:18px var(--ed-gutter) 24px!important}
.lab-menu.is-open a{padding:12px 0;border-bottom:1px solid var(--ed-line-d);font-size:16px!important}
.lab-menu.is-open a.lab-contact{margin-top:8px;text-align:center;padding:14px!important;border-bottom:0}

/* ---------- 3 · Botones: rectangulares, sin píldoras (misma especificidad que lab-tokens + html body) ---------- */
html body :is(.lab-btn,.boton,.boton--oro,.boton--linea,.dga-labdga__button,.hero-actions a,.lab-actions>a,.lab-close-actions a){
  border-radius:var(--ed-r)!important;min-height:50px!important;padding:14px 22px!important;font:800 15px/1.2 Manrope,system-ui,sans-serif!important;
  letter-spacing:.01em!important;text-decoration:none!important;box-shadow:none!important;gap:.6rem}
html body :is(.lab-btn:not(.secondary):not(.lab-btn--secondary),.boton:not(.boton--linea),.boton--oro,.dga-labdga__button--primary,.hero-actions .hero-primary){
  background:var(--ed-gold)!important;border:1px solid var(--ed-gold)!important;color:var(--ed-ink)!important}
html body :is(.lab-btn.secondary,.lab-btn--secondary,.boton--linea,.dga-labdga__button:not(.dga-labdga__button--primary),.hero-actions .hero-secondary,.lab-actions>a:not(.lab-btn)){
  background:transparent!important;border:1px solid rgba(238,243,247,.42)!important;color:var(--ed-text-d)!important}
html body :is(.lab-btn,.boton,.dga-labdga__button,.hero-actions a,.lab-actions>a):hover{filter:none!important;transform:translateY(-1px)}
html body :is(.lab-btn:not(.secondary):not(.lab-btn--secondary),.boton:not(.boton--linea),.hero-actions .hero-primary):hover{background:#f0c97f!important}
html body :is(.lab-btn.secondary,.lab-btn--secondary,.boton--linea,.hero-actions .hero-secondary,.lab-actions>a:not(.lab-btn)):hover{border-color:var(--ed-text-d)!important;background:rgba(238,243,247,.06)!important}
/* en bandas claras, el secundario es tinta */
html body :is(.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card) :is(.lab-btn.secondary,.lab-btn--secondary,.boton--linea,.dga-labdga__button:not(.dga-labdga__button--primary)){
  color:var(--ed-text-l)!important;border-color:rgba(10,15,20,.35)!important}
/* controles de herramienta (3D, recorrido, temas): rectos */
html body :is(.model-controls button,.exploration-mode button,.topic-grid button,#tour-navigation button,.model-selector button,.visor button,.sp-consent button,.sp-consent a){border-radius:var(--ed-r)!important}

/* ---------- 4 · Bandas a sangre (ritmo OMICRON) ---------- */
/* El fondo de cada sección se extiende a todo el ancho sin tocar su contenedor. */
main>section,main>div.aviso,main>div.contenedor{position:relative}
.ed-band,main>section{box-shadow:0 0 0 100vmax var(--band,transparent);clip-path:inset(0 -100vmax)}
main>section{--band:var(--ed-ink)}
/* Bandas claras: intros y bloques de lectura */
.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card{--band:var(--ed-mist)}
.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card{background:var(--ed-mist)!important;color:var(--ed-text-l)!important}
:is(.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card) :is(h1,h2,h3,h4,strong,b){color:var(--ed-text-l)!important}
:is(.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card) :is(p,li,dd,small,figcaption,span:not([class*="kicker"]):not(.eyebrow)){color:var(--ed-muted-l)!important}
:is(.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card) :is(.eyebrow,.lab-kicker,[class*="kicker"]){color:var(--ed-gold-deep)!important}
:is(.story-intro,.dga-labdga__block,.cg-section--soft,.momentos,.author-card) a:not([class]){color:var(--ed-text-l)!important;text-decoration-color:var(--ed-gold)!important;text-underline-offset:3px}
/* Bandas de énfasis (navy profundo) */
.dga-labdga__dark,.story-band,.decision-band,.lab-dga-hero{--band:var(--ed-navy)}
.dga-labdga__dark,.story-band,.decision-band,.lab-dga-hero{background:var(--ed-navy)!important}

/* Espaciado vertical uniforme */
main>section:not(.hero):not(.campaign-hero):not(.caso-hero):not(.cg-hero):not(.lab-home-hero):not(.dga-labdga__hero){padding-top:var(--ed-space)!important;padding-bottom:var(--ed-space)!important;margin-top:0!important;margin-bottom:0!important}

/* ---------- 5 · Tarjetas: retícula bento, sin sombras flotantes ---------- */
.case-cards article,.dga-labdga__three>*,.dga-labdga__two>*,.story-gallery figure,.evidencia__cols>*,.lab-close-proof>*,.cg-card,[class*="card"]:not(.author-card):not(.model-card){border-radius:6px!important;box-shadow:none!important}
.story-gallery figure{overflow:hidden;background:var(--ed-ink2)!important;border:1px solid var(--ed-line-d)!important}
.story-gallery figure img,.story-split figure img,.editorial-step img{border-radius:0!important}

/* ---------- 6 · Cierre (.lab-close): banda completa, sin caja redondeada ---------- */
.lab-close{border-radius:0!important;border:0!important;box-shadow:0 0 0 100vmax var(--ed-ink2)!important;clip-path:inset(0 -100vmax)!important;background:var(--ed-ink2)!important;border-top:1px solid var(--ed-line-d)!important;
  padding:var(--ed-space) var(--ed-gutter)!important;margin:0 auto!important}
.lab-close::before{display:none!important}
.lab-close h2{max-width:18ch!important}
.lab-next{border-top:1px solid var(--ed-line-d)!important;padding-top:22px!important;margin-top:28px!important}
.lab-next a{color:var(--ed-text-d)!important;font-weight:700;text-decoration:underline;text-decoration-color:var(--ed-gold);text-underline-offset:5px}

/* ---------- 7 · Footer ---------- */
.lab-footer{max-width:none!important;margin:0!important;background:var(--ed-ink)!important;border-top:2px solid var(--ed-gold)!important;
  padding:56px max(var(--ed-gutter),calc((100% - var(--ed-wrap))/2)) 64px!important;display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px 48px!important;color:var(--ed-muted-d)!important}
.lab-footer p{color:var(--ed-text-d)!important;font:600 18px/1.45 Sora,sans-serif!important;max-width:36ch!important;margin:18px 0 8px!important}
.lab-footer small{color:var(--ed-muted-d)!important;font-size:13px}
.lab-footer>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:12px;justify-self:end}
.lab-footer>div:last-child a{color:var(--ed-text-d)!important;font:700 14px Manrope,sans-serif!important;letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important;margin:0!important;border-bottom:1px solid transparent}
.lab-footer>div:last-child a:hover{border-bottom-color:var(--ed-gold)}

/* ---------- 8 · Aviso de almacenamiento: barra inferior compacta, rectangular ---------- */
.sp-consent{border-radius:6px!important}

/* ---------- 9 · Enlaces ---------- */
main a:not([class]){text-underline-offset:4px}

/* ---------- 10 · Móvil ---------- */
@media (max-width:760px){
  :root{--ed-space:64px}
  main h1{letter-spacing:-.035em!important}
  .lab-footer{grid-template-columns:1fr;padding:44px var(--ed-gutter) 96px!important}
  .lab-footer>div:last-child{justify-self:start;flex-direction:row;flex-wrap:wrap;gap:18px}
  .lab-btn,.hero-primary,.hero-secondary,.boton,.lab-btn--secondary,.dga-labdga__button{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){.lab-btn,.hero-primary,.boton{transition:none}}

/* ---------- 11 · Correcciones de contraste detectadas por sonda (WCAG) ---------- */
.secondary-links a,.lab-close a:not([class]){color:var(--ed-text-d)!important;text-decoration:underline;text-decoration-color:var(--ed-gold);text-underline-offset:4px}
.story-split figure figcaption,.editorial-step figcaption{color:var(--ed-muted-l)!important}
.story-gallery figcaption{color:var(--ed-muted-d)!important;background:transparent!important}
.lab-close :is(h2,h3){color:var(--ed-text-d)!important}
.lab-close :is(p,li){color:var(--ed-muted-d)!important}
.caso--trafoohm main>section:not(.momentos) :is(h2,h3):not(.trafo-diagrama *):not(.escena *){color:var(--ed-text-d)!important}
.caso--trafoohm main>section:not(.momentos) :is(li,p.suelto):not(.trafo-diagrama *){color:var(--ed-muted-d)!important}
.caso--trafoohm .trafo-diagrama p.suelto{color:var(--ed-muted-l)!important}
.cierre,.cierre *{color:var(--ed-text-d)!important}
.cierre p{color:var(--ed-muted-d)!important}
.aviso,.aviso *{color:var(--ed-text-d)!important}
.aviso{background:var(--ed-ink2)!important;border:0!important;border-left:3px solid var(--ed-gold)!important;border-radius:0!important}
body.pagina-cigre .cg-close :is(h2,p){color:var(--ed-text-d)!important}
body.pagina-cigre :is(.cg-kicker,.cg-note){color:var(--ed-muted-d)!important}
body.pagina-cigre .cg-section--soft .cg-kicker{color:var(--ed-gold-deep)!important}

/* ---------- 12 · Home ---------- */
.case-cards{background:transparent!important;border:0!important}
.case-cards article{background:var(--ed-ink2)!important;border:1px solid var(--ed-line-d)!important}
.lab-close-proof>div:empty{background:transparent!important;border:0!important}

/* ---------- 13 · FALLA: el video es el protagonista (texto arriba, película a todo el ancho debajo) ---------- */
html body.lab-unified main>.hero{display:block!important;max-width:var(--ed-wrap)!important;margin:0 auto!important;min-height:0!important;
  padding:clamp(56px,8vw,112px) var(--ed-gutter) clamp(48px,6vw,88px)!important}
html body.lab-unified main>.hero::before{display:none!important}
html body.lab-unified main>.hero>div:first-child{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px);align-items:end}
html body.lab-unified main>.hero>div:first-child>.eyebrow,html body.lab-unified main>.hero>div:first-child>h1{grid-column:1/-1}
html body.lab-unified main>.hero h1{font-size:clamp(2.8rem,6.4vw,6rem)!important;max-width:16ch;margin:.5rem 0 2rem!important}
html body.lab-unified main>.hero .lede{grid-column:1;margin:0!important;font-size:clamp(1.1rem,1.4vw,1.35rem)!important;color:var(--ed-muted-d)!important}
html body.lab-unified main>.hero .hero-actions{grid-column:2;justify-self:end;margin:0!important}
html body.lab-unified main>.hero .hero-film{margin:clamp(40px,5vw,72px) 0 0!important;width:100%!important;aspect-ratio:16/9;border-radius:4px!important;box-shadow:0 50px 120px -50px rgba(0,0,0,.9)!important;border:1px solid var(--ed-line-d)}
html body.lab-unified main>.hero .hero-film::after{background:linear-gradient(180deg,transparent 75%,rgba(7,11,16,.35))!important}
@media (max-width:900px){
  html body.lab-unified main>.hero>div:first-child{display:block}
  html body.lab-unified main>.hero .hero-actions{margin-top:24px!important}
  html body.lab-unified main>.hero .hero-film{margin:36px calc(-1*var(--ed-gutter)) 0!important;width:calc(100% + 2*var(--ed-gutter))!important;border-radius:0!important;border-inline:0}
}
.author-card{border:0!important;border-radius:0!important;padding:var(--ed-space) max(var(--ed-gutter),calc((100% - var(--ed-wrap))/2))!important;max-width:none!important;margin:0!important}
.author-card img{border-radius:4px!important}
/* CIGRE: sus tarjetas son oscuras; la banda "suave" pasa a tinta profunda con texto claro */
html body.pagina-cigre .cg-section--soft{--band:var(--ed-ink2);background:var(--ed-ink2)!important;border:0!important}
html body.pagina-cigre .cg-section--soft :is(h2,h3,b,strong){color:var(--ed-text-d)!important}
html body.pagina-cigre .cg-section--soft :is(p,.cg-bandrow__mode,.cg-bandrow__watch,.cg-note,li){color:var(--ed-muted-d)!important}
html body.pagina-cigre .cg-section--soft .cg-kicker{color:var(--ed-gold)!important}
html body.pagina-cigre .cg-bandrow,html body.pagina-cigre .cg-model{border-radius:6px!important;background:#0f1b27!important;border-color:var(--ed-line-d)!important}
html body.pagina-cigre .cg-bandrow__band{border-radius:0!important;color:var(--ed-text-d)!important}
html body.pagina-cigre .cg-bandrow__band span{color:var(--ed-muted-d)!important}
html body.pagina-cigre .cg-close{border-radius:4px!important;background:var(--ed-navy)!important}
html body.pagina-cigre .cg-close :is(h2,p){color:var(--ed-text-d)!important}
html body.pagina-cigre .cg-close .boton--linea{color:#fff!important;border-color:rgba(255,255,255,.6)!important}
html body.pagina-cigre .cg-note--anon{color:var(--ed-muted-d)!important}

/* Home: franja de estudios y panel teal → retícula bento con líneas finas */
html body .study-strip{background:var(--ed-line-d)!important;border:1px solid var(--ed-line-d)!important;border-radius:6px!important}
html body .study-strip a{background:var(--ed-ink2)!important;border-radius:0!important}
html body .study-strip a:hover{background:#101d2a!important}
.lab-close-proof>div:not(:has(*)){background:transparent!important;border:0!important}
html{background:var(--ed-ink)}
html body main>section.study-strip{padding:0!important;margin:clamp(40px,5vw,72px) auto!important;box-shadow:none!important;clip-path:none!important}
.lab-dga-entry{background:var(--ed-ink)!important;border-top:1px solid var(--ed-line-d);padding:16px max(var(--ed-gutter),calc((100% - var(--ed-wrap))/2))!important;margin:0!important;position:static!important}
.lab-dga-entry a{color:var(--ed-text-d)!important;font-weight:700;text-decoration:underline;text-decoration-color:var(--ed-gold);text-underline-offset:4px}
.contact-float{border-radius:var(--ed-r)!important}
html body.pagina-cigre .cg-bandrow__band span{color:rgba(238,243,247,.78)!important;opacity:1!important}

/* Portada DGA: secuencia visual de dato, metodo y evidencia. */
.lab-dga-hero .lab-dga-diagram{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-content:center;
  gap:12px;
  background:#0a2945;
}
.lab-dga-diagram>div{
  min-width:0;
  min-height:150px;
  padding:20px 18px;
  border:1px solid rgba(226,238,245,.26);
  border-top:3px solid var(--ed-gold);
  background:rgba(255,255,255,.05);
}
.lab-dga-diagram strong{
  display:block;
  margin-bottom:12px;
  color:#fff;
  font:700 clamp(1rem,1.3vw,1.2rem)/1.2 Manrope,system-ui,sans-serif;
}
.lab-dga-diagram span{
  display:block;
  color:#d7e8f4;
  font:500 .95rem/1.45 Manrope,system-ui,sans-serif;
}
.lab-dga-hero .lab-dga-diagram>p{
  grid-column:1/-1;
  max-width:none!important;
  margin:8px 0 0;
  color:#d7e8f4;
  font-size:.9rem;
}
@media(max-width:1100px){
  .lab-dga-hero .lab-dga-diagram{grid-template-columns:1fr}
  .lab-dga-diagram>div{min-height:0;padding:16px 18px}
  .lab-dga-diagram strong{margin-bottom:5px}
}
