/* SESPIN Lab visual narrative: SESPIN assets and technical content remain authoritative. */
body.visual-lab{--lv-night:#071a24;--lv-ink:#12323b;--lv-cyan:#8ed3d0;--lv-sand:#eac27c;--lv-paper:#f2f3ee;--lv-line:#aebfbb;background:var(--lv-paper);color:var(--lv-ink)}
body.visual-lab *,body.visual-lab *::before,body.visual-lab *::after{box-sizing:border-box}
body.visual-lab .lab-header{background:#06151e!important;border-bottom:1px solid #ffffff2b!important;min-height:76px!important;box-shadow:none!important}
body.visual-lab .lab-header a,body.visual-lab .lab-header button{letter-spacing:.045em}
body.visual-lab .lab-header .lab-logo,body.visual-lab .lab-header .brand{font-weight:900!important;letter-spacing:.2em!important}
body.visual-lab .lab-header .lab-badge{background:var(--lv-sand)!important;color:#071a24!important}
body.visual-lab :is(main h1,main h2,main h3){letter-spacing:-.06em!important;text-wrap:balance}
body.visual-lab main h1{font-size:clamp(3.2rem,6.2vw,7.1rem)!important;line-height:.97!important;font-weight:800!important}
body.visual-lab main h2{font-size:clamp(2.2rem,4.5vw,5.3rem)!important;line-height:1.04!important;font-weight:760!important}
body.visual-lab main p{line-height:1.65}
body.visual-lab :is(.lab-kicker,.eyebrow,.caso-hero__franja,.step){letter-spacing:.19em!important;text-transform:uppercase!important;font-size:.7rem!important;font-weight:850!important}
body.visual-lab :is(a,button):focus-visible{outline:3px solid var(--lv-sand)!important;outline-offset:4px!important}
body.visual-lab :is(.lab-btn,.hero-primary,.hero-secondary,.caso-hero__accion,.dga-labdga__button){border-radius:2px!important;transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important}
body.visual-lab :is(.lab-btn,.hero-primary,.hero-secondary,.caso-hero__accion,.dga-labdga__button):hover{transform:translateY(-3px)}

/* Full-bleed openings create one visual entry for every Lab route. */
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero){position:relative!important;isolation:isolate;overflow:hidden!important;background:#071a24!important;color:#fff!important;border:0!important;min-height:clamp(690px,84vh,970px)!important}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero)::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#071a24ef 0%,#0a2934cc 48%,#0d36405c 100%);z-index:0;pointer-events:none}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero)>:not(img){position:relative;z-index:1}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero) :is(h1,h1 *,p){color:#fff!important}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero) h1 em{font-style:normal!important;color:var(--lv-sand)!important}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero) :is(.lab-kicker,.eyebrow,.caso-hero__franja){color:var(--lv-sand)!important}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero) p:not(.lab-kicker):not(.eyebrow){color:#d9e8e8!important;font-size:clamp(1.05rem,1.42vw,1.4rem)!important;max-width:56ch}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero) :is(.lab-btn,.hero-primary,.dga-labdga__button--primary){background:var(--lv-sand)!important;color:#071a24!important;border-color:var(--lv-sand)!important;box-shadow:0 14px 34px #0004!important}
body.visual-lab :is(.lab-home-hero,.hero,.campaign-hero,.caso-hero,.dga-labdga__hero) :is(.lab-btn.secondary,.hero-secondary){background:transparent!important;color:#fff!important;border:1px solid #ffffff85!important}

/* Home: photographic, wide opening and calm chapter sequence. */
body.visual-lab .lab-home-hero{display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;align-items:center!important;gap:clamp(48px,6vw,110px)!important;padding:clamp(100px,10vw,170px) max(5vw,calc((100vw - 1450px)/2))!important}
body.visual-lab .lab-home-hero>div{max-width:780px!important}
body.visual-lab .lab-home-hero h1{max-width:14ch!important;margin:30px 0!important}
body.visual-lab .lab-home-hero figure{position:relative!important;width:100%!important;min-height:520px!important;margin:0!important;align-self:stretch!important;box-shadow:24px 24px 0 #eac27c3b!important}
body.visual-lab .lab-home-hero figure img{width:100%!important;height:100%!important;min-height:520px!important;object-fit:cover!important;filter:saturate(.82) contrast(1.05)}
body.visual-lab .lab-home-hero figure figcaption{background:#071a24e8!important;color:#f3e8d1!important;border-left:4px solid var(--lv-sand)!important;padding:12px 18px!important}
body.visual-lab :is(.lab-overview,.study-strip,.story-intro,.case-cards,.lab-close){padding-block:clamp(90px,9vw,160px)!important}
body.visual-lab .lab-overview{background:var(--lv-paper)!important;color:var(--lv-ink)!important}
body.visual-lab .lab-overview__head{margin-bottom:clamp(48px,6vw,90px)!important}
body.visual-lab .lab-overview__head h2{max-width:19ch!important}
body.visual-lab .lab-overview__grid>*{border-radius:0!important;border-top:5px solid var(--lv-sand)!important;box-shadow:0 19px 48px #0b303418!important;transition:transform .22s ease!important}
body.visual-lab .lab-overview__grid>*:hover{transform:translateY(-6px)}
body.visual-lab .lab-dga-hero{padding-block:clamp(100px,10vw,170px)!important;background:#0d3740!important}
body.visual-lab .lab-dga-hero h2{max-width:14ch!important}
body.visual-lab .study-strip{background:#e4eae4!important}
body.visual-lab .case-cards{background:#e5ece8!important}

/* Interactive station: frame the existing WebGL experience without moving controls. */
body.visual-lab #app>.hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)!important;gap:clamp(45px,6vw,110px)!important;align-items:center!important;padding:clamp(100px,9vw,155px) max(5vw,calc((100vw - 1450px)/2))!important}
body.visual-lab #app>.hero h1{max-width:15ch!important}
body.visual-lab #app>.hero .hero-film{border:1px solid #ffffff4d!important;box-shadow:25px 25px 0 #eac27c2e!important}
body.visual-lab .workspace{background:#e7eae5!important;padding-block:clamp(70px,7vw,120px)!important}
body.visual-lab .scene{border:1px solid #bccac6!important;border-radius:2px!important;box-shadow:0 20px 55px #102e361d!important}

/* Evidence stories: retain chronology, figures, captions and all source facts. */
body.visual-lab .campaign-hero{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;padding:clamp(90px,8vw,140px) max(5vw,calc((100vw - 1450px)/2))!important;gap:clamp(45px,6vw,110px)!important}
body.visual-lab .campaign-hero>img{width:100%!important;height:clamp(520px,67vh,760px)!important;object-fit:cover!important;grid-column:2;grid-row:1;box-shadow:22px 22px 0 #eac27c44!important}
body.visual-lab .campaign-hero>div{grid-column:1;grid-row:1;max-width:740px!important}
body.visual-lab .campaign-hero h1{max-width:13ch!important}
body.visual-lab :is(.editorial-flow,.story-split,.featured-viewer,.story-gallery,.decision-band,.single-decision){padding-block:clamp(80px,8vw,150px)!important}
body.visual-lab :is(.editorial-flow,.story-split,.featured-viewer,.story-gallery) figure{border-radius:2px!important;box-shadow:18px 18px 0 #eac27c33!important}
body.visual-lab :is(.editorial-flow,.story-split) h2{max-width:19ch!important}
body.visual-lab .story-intro{background:var(--lv-paper)!important;color:var(--lv-ink)!important}
body.visual-lab .story-intro h2{max-width:19ch!important}

/* Case family and DGA Lab: common chapter hierarchy, with graphics and links intact. */
body.visual-lab .caso-hero{display:flex!important;align-items:center!important;padding:clamp(90px,8vw,145px) max(5vw,calc((100vw - 1450px)/2))!important}
body.visual-lab .caso-hero__rejilla{width:100%!important;max-width:1450px!important;margin:auto!important;gap:clamp(45px,6vw,110px)!important}
body.visual-lab .caso-hero h1{max-width:15ch!important}
body.visual-lab .caso-hero__media,body.visual-lab .caso-hero__imagen{box-shadow:22px 22px 0 #eac27c36!important}
body.visual-lab .main--caso>section.contenedor,body.visual-lab .main--caso>.momentos{padding-block:clamp(75px,8vw,140px)!important}
body.visual-lab .main--caso>section.contenedor:nth-of-type(even){background:#e6ece8!important}
body.visual-lab .main--caso>section.contenedor:nth-of-type(even) :is(h2,p,li,span,strong){color:#12323b!important}
body.visual-lab .main--caso>section.contenedor:nth-of-type(even) :is(.step,.eyebrow){color:#93631e!important}
body.visual-lab #app .workspace .panel p:not(.eyebrow){color:#e0eeef!important}
body.visual-lab .main--caso>section.contenedor h2{max-width:21ch!important}
body.visual-lab .dga-labdga__hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)!important;align-items:center!important;gap:6vw!important;padding:clamp(90px,8vw,145px) max(5vw,calc((100vw - 1450px)/2))!important}
body.visual-lab .dga-labdga__hero h1{max-width:14ch!important}
body.visual-lab .dga-labdga__hero .dga-labdga__asset{border:1px solid #ffffff4d!important;background:#103a42!important;box-shadow:22px 22px 0 #eac27c36!important}
body.visual-lab :is(.dga-labdga__block,.dga-labdga__dark){padding-block:clamp(80px,8vw,150px)!important}
body.visual-lab .dga-labdga__block:nth-of-type(even){background:#e6ece8!important}
body.visual-lab .dga-labdga__card{border-radius:2px!important;border-top:4px solid var(--lv-sand)!important}

@media(max-width:900px){body.visual-lab :is(.lab-home-hero,#app>.hero,.campaign-hero,.dga-labdga__hero){grid-template-columns:1fr!important;gap:55px!important}body.visual-lab .campaign-hero>img,body.visual-lab .campaign-hero>div{grid-column:1!important;grid-row:auto!important}body.visual-lab .campaign-hero>div{grid-row:1!important}body.visual-lab .campaign-hero>img{grid-row:2!important}}
@media(max-width:700px){body.visual-lab .lab-header{min-height:66px!important}body.visual-lab main h1{font-size:clamp(2.85rem,11vw,4.5rem)!important}body.visual-lab main h2{font-size:clamp(2.15rem,8.5vw,4rem)!important}body.visual-lab :is(.lab-home-hero,#app>.hero,.campaign-hero,.caso-hero,.dga-labdga__hero){min-height:0!important;padding:80px 22px 95px!important}body.visual-lab .lab-home-hero figure,body.visual-lab .lab-home-hero figure img{min-height:260px!important;max-height:360px!important}body.visual-lab .campaign-hero>img{height:310px!important}body.visual-lab :is(.lab-overview,.study-strip,.story-intro,.case-cards,.lab-close,.editorial-flow,.story-split,.featured-viewer,.story-gallery,.decision-band,.single-decision){padding-block:70px!important}body.visual-lab .caso-hero__rejilla{display:block!important}body.visual-lab .caso-hero__media{margin-top:40px!important}}
@media(prefers-reduced-motion:reduce){body.visual-lab *,body.visual-lab *::before,body.visual-lab *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
