@font-face{font-family:"DM Mono";src:url("../fonts/dm-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url("../fonts/dm-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-latin.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}

:where(a,button,summary,input,select,[role="button"]):focus-visible{outline:3px solid #005f87;outline-offset:4px;box-shadow:0 0 0 6px rgba(255,255,255,.96)}
.nav-links{gap:20px}.nav-labs{display:inline-flex;align-items:center;gap:6px;color:#00688f!important}.nav-labs span{font-size:16px}.nav-labs::after{display:none!important}

.labs-home{position:relative;padding:120px 0;background:#071f31;color:#fff;overflow:hidden}
.labs-home::before{content:"";position:absolute;inset:-30% -10%;background:radial-gradient(circle at 80% 30%,rgba(0,159,227,.23),transparent 30%),linear-gradient(115deg,transparent 45%,rgba(120,195,221,.07) 45.1%,rgba(120,195,221,.07) 45.4%,transparent 45.5%);pointer-events:none}
.labs-home .shell{position:relative}.labs-home-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:58px}.labs-home h2{max-width:760px;margin:12px 0 0;font:600 clamp(43px,5vw,72px)/1 var(--display);letter-spacing:-.05em}.labs-home-copy{max-width:510px;margin:0;color:#b9d0d9;font-size:17px}.labs-home-copy strong{color:#fff}
.lab-preview-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1px;background:#355263;border:1px solid #355263}.lab-preview{position:relative;min-height:390px;padding:30px;background:#0b2f49;display:flex;flex-direction:column;overflow:hidden}.lab-preview:first-child{min-height:480px;background:#0b4267}.lab-preview::before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(159,219,239,.26);border-radius:50%;right:-70px;top:-60px;box-shadow:0 0 0 42px rgba(159,219,239,.04),0 0 0 84px rgba(159,219,239,.025)}.lab-preview span{position:relative;color:#8fcde2;font:500 10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.lab-preview h3{position:relative;max-width:390px;margin:70px 0 14px;font:500 clamp(28px,3vw,43px)/1 var(--display);letter-spacing:-.04em}.lab-preview p{position:relative;max-width:410px;color:#b9d0d9;font-size:14px}.lab-preview a{position:relative;margin-top:auto;display:inline-flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid rgba(185,208,217,.25);font-size:13px;font-weight:700}.lab-preview a b{color:#54c8f1;font-size:18px}.labs-home-all{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:28px;padding:20px 0;border-bottom:1px solid #4a6878;font-weight:700}.labs-home-all span{color:#72d4f4;font-size:20px}

.framework-labs,.editorial-labs{padding:95px 0;background:#e4f2f7}.framework-labs-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:45px}.framework-labs-header h2{max-width:700px;margin:0;font:600 clamp(38px,4.3vw,60px)/1.03 var(--display);letter-spacing:-.045em}.framework-labs-header p{max-width:520px;margin:0;color:#4e6975;font-size:17px}.framework-lab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#8eb2c0}.framework-lab{min-height:285px;padding:30px;background:#f5fbfd;display:flex;flex-direction:column}.framework-lab span{color:#00688f;font:500 10px var(--mono);text-transform:uppercase}.framework-lab h3{margin:44px 0 12px;font:500 31px/1.04 var(--display)}.framework-lab p{color:#58707a;font-size:14px}.framework-lab a{margin-top:auto;font-size:13px;font-weight:700;color:#00688f}.framework-lab a::after{content:" ↗"}

.evidence-atlas{padding:105px 0 125px}.evidence-atlas-head{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:55px}.evidence-atlas-head h2{margin:0;font:600 clamp(43px,5vw,69px)/1 var(--display);letter-spacing:-.05em}.evidence-atlas-head p{max-width:520px;margin:0;color:#536b76;font-size:17px}.evidence-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-auto-rows:minmax(280px,auto);gap:18px}.evidence-figure{position:relative;margin:0;background:#09283d;overflow:hidden;cursor:zoom-in;min-height:360px}.evidence-figure:nth-child(3n){grid-column:1/-1;min-height:420px}.evidence-figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform .6s ease,filter .4s ease}.evidence-figure:hover img,.evidence-figure:focus-visible img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}.evidence-figure figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 22px 18px;background:linear-gradient(transparent,rgba(4,24,38,.92));color:#d7e9ef;font-size:12px}.evidence-figure figcaption strong{display:block;margin-bottom:5px;color:#fff;font:500 21px var(--display)}.evidence-source{display:block;margin-top:5px;color:#8bcce4;font:9px var(--mono);text-transform:uppercase}
.evidence-dialog{width:min(94vw,1400px);max-height:92vh;padding:0;border:0;background:#071f31;color:#fff;box-shadow:0 25px 80px rgba(0,0,0,.5)}.evidence-dialog::backdrop{background:rgba(3,19,30,.84);backdrop-filter:blur(5px)}.evidence-dialog img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#fff}.evidence-dialog p{margin:0;padding:18px 60px 20px 20px;color:#c4dae2}.evidence-dialog button{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#006c99;color:#fff;font-size:25px;cursor:pointer}

.research-teaser-visual{position:relative;min-height:420px;background:#082b42;overflow:hidden}.research-teaser-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;opacity:.86;filter:saturate(.75) contrast(1.15)}.research-teaser-visual::after{content:"EVIDENCIA / ESTRUCTURA / ESCENARIOS";position:absolute;left:20px;bottom:18px;color:#d9edf3;font:10px var(--mono);letter-spacing:.08em}

.editorial-labs{background:#0b2f49;color:#fff}.editorial-labs .framework-labs-header p{color:#bfd6df}.editorial-labs .framework-lab-grid{background:#3e6678}.editorial-labs .framework-lab{background:#103c57}.editorial-labs .framework-lab p{color:#bdd2da}.editorial-labs .framework-lab a{color:#73d8f6}.editorial-labs .framework-lab span{color:#91d9ef}

.integration-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#87a8b5;margin-top:70px}.integration-strip a{min-height:190px;padding:26px;background:#eff8fa;display:flex;flex-direction:column}.integration-strip small{color:#4b7b8f;font:10px var(--mono)}.integration-strip strong{margin-top:auto;font:500 27px/1.04 var(--display)}.integration-strip i{font-style:normal;color:#006c99}
.lab-directory-hero{padding:95px 0 80px}.lab-directory-hero h1{max-width:1000px;margin:18px 0 25px;font:600 clamp(57px,7vw,98px)/.93 var(--display);letter-spacing:-.06em}.lab-directory-hero>p:last-child{max-width:720px;color:#4f6874;font-size:19px}.lab-directory{padding:80px 0 110px;background:#071f31;color:#fff}.lab-directory-group{display:grid;grid-template-columns:190px 1fr;gap:35px;padding:45px 0;border-top:1px solid #365363}.lab-directory-group h2{margin:0;color:#8fcde2;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.lab-directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#365363}.lab-directory-card{min-height:300px;padding:28px;background:#0b2f49;display:flex;flex-direction:column}.lab-directory-card span{color:#7ccfea;font:10px var(--mono)}.lab-directory-card h3{margin:48px 0 12px;font:500 34px/1 var(--display)}.lab-directory-card p{color:#bfd3db;font-size:14px}.lab-directory-card a{margin-top:auto;padding-top:15px;border-top:1px solid #3f6070;color:#fff;font-size:13px;font-weight:700}.lab-directory-card a::after{content:" ↗";color:#62d0f3}.lab-language-note{padding:24px;border:1px solid #3f6070;color:#bcd2da;font-size:13px}

@media(max-width:1000px){.nav-links{gap:15px}.lab-preview-grid{grid-template-columns:1fr 1fr}.lab-preview:first-child{grid-column:1/-1}.labs-home-head,.framework-labs-header,.evidence-atlas-head{grid-template-columns:1fr;gap:25px}.evidence-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.nav-labs{color:var(--ink)!important}.lab-preview-grid,.framework-lab-grid,.evidence-gallery,.lab-directory-grid{grid-template-columns:1fr}.lab-preview:first-child,.evidence-figure:nth-child(3n){grid-column:auto}.labs-home{padding-block:80px}.framework-labs,.editorial-labs,.evidence-atlas{padding-block:75px}.integration-strip{grid-template-columns:1fr}.evidence-figure{min-height:330px}.lab-directory-group{grid-template-columns:1fr}}
@media(max-width:560px){.lab-preview{min-height:315px!important;padding:24px}.lab-preview h3{margin-top:48px}.labs-home-all{align-items:flex-start}.framework-lab{min-height:255px;padding:24px}.evidence-figure,.evidence-figure:nth-child(3n){min-height:280px}.evidence-dialog p{padding-right:20px}}
@media(prefers-reduced-motion:reduce){.evidence-figure img{transition:none}}
/* Enlaces de tienda en las paginas de libros */
.store-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.store-link{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(18,37,50,.28);font-size:12px;font-weight:700;line-height:1.2;transition:background .2s,color .2s,border-color .2s}
.store-link span{font-size:13px}
.store-amazon{background:var(--ink);border-color:var(--ink);color:var(--white)}
.store-amazon:hover{background:#1d3a4c}
.store-b2r:hover{background:#dcecf1}
.store-soon{border-style:dashed;color:#5a727f;font-weight:600;cursor:default}
.book-actions .store-link{padding:10px 14px;font-size:13px}
@media(max-width:560px){.store-row{gap:6px}.store-link{padding:7px 10px;font-size:11px}}
/* Familias de laboratorios: identidad y filtro en el directorio en inglés */
.lab-filters{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 28px}
.lab-filter{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #9db4be;background:transparent;color:var(--ink);font:600 12.5px var(--sans);cursor:pointer;transition:background .18s,border-color .18s}
.lab-filter span{padding:1px 7px;border-radius:9px;background:rgba(18,37,50,.1);font:600 11px var(--mono)}
.lab-filter:hover{border-color:var(--ink)}
.lab-filter.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.lab-filter.is-on span{background:rgba(255,255,255,.18)}
.lab-directory-group[hidden]{display:none}
.lab-directory-group .phase-head{margin-bottom:20px}
.lab-directory-group .phase-kicker{margin:0 0 6px;color:#4a6a7c;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.09em}
.lab-directory-group .phase-desc{margin:6px 0 0;max-width:60ch;color:#556e7b;font-size:14px;line-height:1.5}
.lab-directory-group .phase-count{margin:9px 0 0;color:#556e7b;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.07em}
.lab-directory-card{border-left:3px solid transparent}
.lab-directory-card.fam-capire{border-left-color:#2f7d61}
.lab-directory-card.fam-structura{border-left-color:#2f6a94}
.lab-directory-card.fam-educacion{border-left-color:#63499c}
.lab-directory-card .app-fam{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.05em}
.lab-directory-card.fam-capire .app-fam{background:#dcf0e7;color:#215c47}
.lab-directory-card.fam-structura .app-fam{background:#dceaf4;color:#1f4c6c}
.lab-directory-card.fam-educacion .app-fam{background:#e6dff4;color:#453270}
