@import url('https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400;0,500;0,700;1,400;1,500&family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,300..700&family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');
:root{--bg:#f3f1ec;--ink:#111;--muted:#65625d;--line:rgba(17,17,17,.22);--red:#b32017;--pad:clamp(18px,2.2vw,38px);--serif:Alegreya,Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:clamp(18px,1.45vw,24px);line-height:1.34}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}img{display:block;max-width:100%}.brand{position:fixed;z-index:50;top:var(--pad);left:var(--pad);font-family:var(--sans);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.menu-toggle{position:fixed;z-index:70;top:calc(var(--pad) - 7px);right:var(--pad);width:48px;height:34px;border:0;background:transparent;padding:0;cursor:pointer;color:inherit}.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:.25s}.menu-toggle b{position:absolute;right:58px;top:9px;font:500 11px var(--sans);text-transform:uppercase;letter-spacing:.09em}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-menu{position:fixed;z-index:60;inset:0;background:#111;color:#f5f2eb;padding:clamp(80px,12vh,150px) var(--pad) var(--pad);display:grid;grid-template-columns:2fr 1fr;opacity:0;visibility:hidden;transition:.25s}.site-menu.is-open{opacity:1;visibility:visible}.menu-main{display:flex;flex-direction:column;align-items:flex-start}.menu-main a{font-size:clamp(38px,6vw,92px);line-height:.98}.menu-meta{align-self:end;display:flex;gap:18px;justify-content:flex-end;font:12px var(--sans);text-transform:uppercase;letter-spacing:.08em}.menu-meta span{opacity:.4}
.page{min-height:100vh;padding:clamp(110px,15vh,170px) var(--pad) 120px}.page-header{display:grid;grid-template-columns:minmax(130px,22vw) 1fr;gap:3vw;border-top:1px solid var(--ink);padding-top:14px;margin-bottom:clamp(38px,7vw,95px)}.eyebrow{font:11px var(--sans);text-transform:uppercase;letter-spacing:.1em;margin:0}.page h1{font-size:clamp(52px,8vw,130px);font-weight:400;letter-spacing:-.035em;line-height:.82;margin:0;max-width:1200px}.page-content{max-width:1280px;margin-left:auto}.page-content>p,.lead{font-size:clamp(26px,3.2vw,54px);line-height:1.14;max-width:1040px}.page-visual{margin:0 0 clamp(60px,9vw,140px);height:min(58vw,720px);overflow:hidden;border:1px solid var(--ink)}.page-visual img{width:100%;height:100%;object-fit:cover}.content-section{display:grid;grid-template-columns:minmax(180px,28%) 1fr;gap:5vw;padding:clamp(35px,5vw,70px) 0;border-top:1px solid var(--line)}.content-section h2{font:500 13px var(--sans);text-transform:uppercase;letter-spacing:.08em;margin:5px 0}.content-section>div,.content-section>p,.content-section>ul{max-width:850px}.content-section p:first-child{margin-top:0}.quote{font-size:clamp(28px,3vw,48px);line-height:1.17;margin:0}.quote cite{display:block;font:12px var(--sans);margin-top:18px}.question{font-size:clamp(32px,4.2vw,68px);line-height:1.06;font-style:italic;margin:0}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.chips li{border:1px solid var(--line);border-radius:999px;padding:7px 13px;font:12px var(--sans)}
.home{background:#0e0e0e;color:#f4f1ea}.home .brand,.home .menu-toggle{color:#f4f1ea}.hero{min-height:100vh;padding:var(--pad);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0;opacity:.42}.hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.88))}.hero-copy{position:relative;z-index:2;max-width:1300px}.hero h1{font-size:clamp(66px,12vw,190px);font-weight:400;letter-spacing:-.055em;line-height:.73;margin:0}.hero p{font-size:clamp(26px,3.2vw,54px);line-height:1.05;max-width:950px;margin:38px 0 0}.home-section{padding:clamp(80px,12vw,180px) var(--pad);border-top:1px solid rgba(255,255,255,.25)}.home-section.light{background:var(--bg);color:var(--ink)}.home-question{font-size:clamp(42px,7vw,110px);line-height:.98;max-width:1300px;font-weight:400;margin:0}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.28);margin-top:70px}.home-grid a{background:#0e0e0e;padding:28px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.home-grid span{font:11px var(--sans);text-transform:uppercase;letter-spacing:.1em}.home-grid h2{font-weight:400;font-size:clamp(31px,3.5vw,58px);line-height:1;margin:0}.home-grid p{font-size:18px;max-width:360px}.manifesto{display:grid;grid-template-columns:1fr 2fr;gap:7vw}.manifesto h2{font:12px var(--sans);text-transform:uppercase;letter-spacing:.1em}.manifesto p{font-size:clamp(26px,3.2vw,52px);line-height:1.15;margin-top:0}.home footer{background:var(--bg);color:var(--ink)}
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px) 2vw}.card{border-top:1px solid var(--ink);padding-top:12px}.card-image{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--ink)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card-image:hover img{transform:scale(1.015)}.card-kicker{font:10px var(--sans);text-transform:uppercase;letter-spacing:.1em;margin:18px 0 8px}.card h2{font-size:clamp(30px,3vw,48px);font-weight:400;margin:0;line-height:1}.card-subtitle{font-style:italic;margin:7px 0 20px}.card-copy>p:last-of-type{font-size:18px}.arrow-link{font:12px var(--sans);text-transform:uppercase;letter-spacing:.07em;display:inline-flex;gap:9px;margin-top:8px}
.index-list{border-top:1px solid var(--ink)}.index-row{display:grid;grid-template-columns:70px minmax(220px,1fr) 1.2fr auto;gap:25px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}.index-row .num{font:11px var(--sans)}.index-row h2{font-size:clamp(26px,2.8vw,45px);font-weight:400;margin:0}.index-row p{font-size:17px;margin:0;color:var(--muted)}.project-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:4vw;align-items:start}.project-hero img{border:1px solid var(--ink);width:100%;aspect-ratio:4/3;object-fit:cover}.project-meta{padding-top:10px}.project-meta .subtitle{font-size:clamp(27px,3vw,48px);font-style:italic;line-height:1.1}.external-button{display:inline-block;border:1px solid var(--ink);padding:10px 15px;font:12px var(--sans);text-transform:uppercase;letter-spacing:.07em;margin-top:20px}.external-button:hover{background:var(--ink);color:var(--bg)}
.notice{border:1px solid var(--line);padding:20px;font-size:16px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.contact-card{border-top:1px solid var(--ink);padding-top:16px}.contact-card h3{font:500 12px var(--sans);text-transform:uppercase;letter-spacing:.08em}.contact-card p{font-size:18px}footer{padding:22px var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;font:11px var(--sans);text-transform:uppercase;letter-spacing:.06em}
@media(max-width:820px){body{font-size:19px}.brand{top:20px;left:18px}.menu-toggle{top:13px;right:18px}.menu-toggle b{display:none}.site-menu{grid-template-columns:1fr;padding:90px 18px 22px}.menu-main a{font-size:46px}.menu-meta{justify-content:flex-start}.page{padding:95px 18px 90px}.page-header{grid-template-columns:1fr;gap:18px}.page h1{font-size:58px;line-height:.9}.page-visual{height:75vw}.content-section{grid-template-columns:1fr;gap:15px}.home-grid,.card-grid,.contact-grid{grid-template-columns:1fr}.home-grid a{min-height:220px}.manifesto{grid-template-columns:1fr}.index-row{grid-template-columns:36px 1fr auto}.index-row p{display:none}.project-hero{grid-template-columns:1fr}.hero{padding:18px}.hero h1{font-size:70px}.hero p{font-size:28px}.home-section{padding:90px 18px}.home-question{font-size:44px}footer{padding:18px;flex-direction:column;gap:8px}}


/* Revisión editorial 2026-07-25 */
.eyebrow,.card-kicker,.index-row .num{display:none!important}
.page-header{display:block;border-top:1px solid var(--ink);padding-top:18px;margin-bottom:clamp(34px,5vw,72px)}
.page-header h1{max-width:1100px}
.page-content{max-width:1180px;margin:0 auto}
.content-section{display:block;padding:clamp(34px,4vw,58px) 0;border-top:1px solid var(--line)}
.content-section>h2{display:none!important}
.content-section>div,.content-section>p,.content-section>ul{max-width:920px;margin-left:0}
.page-visual{max-width:1180px;height:auto;max-height:none;margin:0 auto clamp(48px,7vw,90px);overflow:visible;border:0}
.page-visual img{width:100%;height:auto;max-height:620px;object-fit:contain;border:1px solid var(--ink);background:#ebe8e1}
.index-list{border-top:1px solid var(--ink)}
.index-row{grid-template-columns:minmax(230px,.9fr) minmax(320px,1.1fr) auto;gap:clamp(24px,4vw,72px);align-items:start;padding:24px 0}
.index-row h2{font-family:var(--sans);font-size:clamp(22px,2vw,31px);font-weight:500;letter-spacing:-.025em;line-height:1.06;text-transform:none}
.index-row p{font-family:var(--serif);font-size:clamp(18px,1.5vw,23px);line-height:1.25;color:var(--muted)}
.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(46px,6vw,88px) clamp(24px,3vw,50px)}
.card-image{aspect-ratio:auto;min-height:260px;background:#ebe8e1;display:flex;align-items:center;justify-content:center;padding:0}
.card-image img{width:100%;height:auto;max-height:520px;object-fit:contain}
.project-hero{grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);gap:clamp(34px,5vw,78px)}
.project-hero>img{aspect-ratio:auto;height:auto;max-height:600px;object-fit:contain;background:#ebe8e1}

.home{background:var(--bg);color:var(--ink)}
.home .brand,.home>.menu-toggle{display:none}
.home-header{padding:20px var(--pad) 0;background:var(--bg)}
.home-nav{min-height:58px;border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:24px}
.home-logo{font:600 clamp(18px,1.5vw,26px) var(--sans);letter-spacing:-.025em;margin-right:auto}
.home-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,38px);font:500 11px var(--sans);text-transform:uppercase;letter-spacing:.02em}
.home-links .collaborate{color:#d42a1f}
.home-languages{display:flex;gap:18px;margin-left:18px;font:500 11px var(--sans)}
.home-languages a{color:inherit;text-decoration:none}
.home-languages a.is-active,.home-languages a[aria-current="page"]{color:var(--red)}
.home-mobile-menu{display:none}
.home-hero{padding:clamp(36px,4vw,65px) var(--pad);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,5vw,78px);align-items:center;border-bottom:1px solid var(--line)}
.home-hero-media{background:#ebe8e1;border:1px solid var(--line);min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.home-hero-media img{width:100%;height:100%;max-height:620px;object-fit:contain}
.home-hero-copy h1{font:400 clamp(46px,4.4vw,78px)/.98 var(--sans);letter-spacing:-.055em;margin:0 0 28px;max-width:850px}
.home-hero-copy p{font:400 clamp(18px,1.3vw,23px)/1.32 var(--serif);max-width:690px;margin:0 0 28px}
.home-directory{padding:0 var(--pad);display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--ink)}
.home-directory a{padding:22px 22px 28px 0;min-height:150px;display:flex;flex-direction:column;border-right:1px solid var(--line);margin-right:22px}
.home-directory a:last-child{border-right:0;margin-right:0}
.home-directory h2{font:500 12px var(--sans);text-transform:uppercase;letter-spacing:.03em;margin:0 0 10px}
.home-directory p{font-size:16px;line-height:1.28;margin:0;max-width:210px}
.home-directory span{color:#d42a1f;margin-top:auto;font:25px var(--sans)}
.home-featured{padding:18px var(--pad) 60px}
.home-featured-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.home-featured-header h2{font:500 16px var(--sans);margin:0}
.home-featured-header a{font:12px var(--sans);color:#d42a1f}
.home-projects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.home-project-card img{width:100%;height:clamp(150px,13vw,245px);object-fit:contain;background:#ebe8e1;border:1px solid var(--line)}
.home-project-card h3{font:500 clamp(15px,1.25vw,20px) var(--sans);text-transform:uppercase;margin:14px 0 7px}
.home-project-card p{font-size:16px;line-height:1.28;margin:0 0 22px}
.home-project-card small{font:11px var(--sans)}
.home footer{background:var(--bg);color:var(--ink)}

@media(max-width:1050px){
 .home-links{display:none}.home-mobile-menu{display:block;margin-left:auto;font:500 11px var(--sans);text-transform:uppercase}
 .home-hero{grid-template-columns:1fr}.home-hero-media{min-height:300px}.home-directory{grid-template-columns:repeat(3,1fr)}
 .home-projects{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
 .page-header{display:block}.page-content{max-width:none}.content-section{display:block}
 .index-row{grid-template-columns:1fr auto;gap:15px}.index-row p{display:block;grid-column:1/-1}
 .card-grid{grid-template-columns:1fr}.card-image{min-height:0}.project-hero{grid-template-columns:1fr}
 .home-header{padding:12px 18px 0}.home-nav{min-height:48px}.home-logo{font-size:18px}.home-languages{display:none}
 .home-hero{padding:28px 18px 44px;gap:28px}.home-hero-media{min-height:0}.home-hero-copy h1{font-size:44px}
 .home-directory{padding:0 18px;grid-template-columns:1fr 1fr}.home-directory a{min-height:135px}
 .home-featured{padding:18px 18px 50px}.home-projects{grid-template-columns:1fr}.home-project-card img{height:auto;max-height:400px}
}


/* Revisión de coherencia editorial 2026-07-25 */
body:not(.home) .page{padding-top:clamp(54px,6vw,88px)}
body:not(.home) .home-header{position:relative;z-index:80}
body:not(.home) .page,body:not(.home) footer{padding-left:var(--pad);padding-right:var(--pad)}
.page-content{max-width:none!important;margin-left:0!important;margin-right:0!important}
.page-header,.page-visual{margin-left:0!important;margin-right:0!important;max-width:none!important}
.content-section>div,.content-section>p,.content-section>ul{max-width:980px}
.card-kicker{display:block!important;font:500 16px/1.2 var(--serif)!important;text-transform:none!important;letter-spacing:0!important;color:var(--muted);margin:18px 0 7px}
.card h2{font-family:var(--sans);font-size:clamp(27px,2.5vw,42px);letter-spacing:-.025em}
.project-meta .card-kicker{font-size:18px!important}
@media(max-width:1050px){body:not(.home) .home-mobile-menu{display:block}}

/* Revisión sticky y composición lateral 2026-07-25 */
:root{
  --header-height:78px;
  --content-gap:clamp(46px,5.5vw,104px);
}

/* Cabecera idéntica y fija en escritorio */
.home-header{
  position:sticky!important;
  top:0;
  z-index:1000!important;
  padding:0 var(--pad)!important;
  background:rgba(243,241,236,.97)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.home-nav{
  min-height:var(--header-height)!important;
  padding:0!important;
  border-bottom:1px solid var(--ink)!important;
}

/* Misma alineación horizontal en cabecera, contenido y pie */
body:not(.home) .page{
  padding:clamp(38px,4.2vw,68px) var(--pad) 120px!important;
}
body:not(.home) footer{
  padding-left:var(--pad)!important;
  padding-right:var(--pad)!important;
}

/* La línea inferior de la cabecera sustituye a la línea sobre los títulos */
.page-header{
  border-top:0!important;
  padding-top:0!important;
  margin-top:0!important;
  margin-bottom:clamp(34px,4.5vw,66px)!important;
}

/* Páginas con texto a la izquierda e imagen fija a la derecha */
.page-with-aside .page-layout{
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(270px,.62fr);
  gap:var(--content-gap);
  align-items:start;
  width:100%;
}
.page-with-aside .page-main,
.page-with-aside .page-content{
  min-width:0;
  width:100%;
}
.page-with-aside .page-content{
  max-width:none!important;
  margin:0!important;
}
.page-with-aside .page-content>p,
.page-with-aside .content-section>div,
.page-with-aside .content-section>p,
.page-with-aside .content-section>ul{
  max-width:none!important;
}
.page-with-aside .page-aside{
  position:sticky;
  top:calc(var(--header-height) + clamp(28px,3vw,48px));
  align-self:start;
  min-width:0;
}
.page-with-aside .page-aside .page-visual{
  width:100%!important;
  max-width:460px!important;
  height:auto!important;
  margin:0 0 0 auto!important;
  border:0!important;
  overflow:visible!important;
}
.page-with-aside .page-aside .page-visual img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-height:calc(100vh - var(--header-height) - 96px)!important;
  object-fit:contain!important;
  object-position:center top;
  border:1px solid var(--line)!important;
  background:#ebe8e1;
}
.page-with-aside .project-meta{
  padding-top:0!important;
  margin:0 0 clamp(42px,5vw,76px);
  max-width:840px;
}
.page-with-aside .project-meta .subtitle{
  margin-top:0;
}

/* Las páginas sin imagen aprovechan mejor el ancho sin perder legibilidad */
body:not(.home) main.page:not(.page-with-aside) .page-content{
  max-width:1180px!important;
  margin:0!important;
}
body:not(.home) main.page:not(.page-with-aside) .content-section>div,
body:not(.home) main.page:not(.page-with-aside) .content-section>p,
body:not(.home) main.page:not(.page-with-aside) .content-section>ul{
  max-width:1080px!important;
}

@media(max-width:1050px){
  :root{--header-height:68px}
  .home-header{position:relative!important;padding:0 18px!important;backdrop-filter:none!important}
  .home-nav{min-height:var(--header-height)!important}
  .page-with-aside .page-layout{grid-template-columns:1fr;gap:34px}
  .page-with-aside .page-aside{position:relative;top:auto;order:-1}
  .page-with-aside .page-aside .page-visual{max-width:560px!important;margin:0!important}
  .page-with-aside .page-aside .page-visual img{max-height:560px!important}
}

@media(max-width:820px){
  body:not(.home) .page{padding:30px 18px 90px!important}
  .page-header{margin-bottom:30px!important}
  .page-with-aside .page-layout{gap:28px}
  .page-with-aside .page-aside .page-visual{max-width:none!important}
  .page-with-aside .page-aside .page-visual img{max-height:72vh!important}
}


/* Revisión 4: navegación activa, investigación editorial y archivo 2026-07-25 */
.home-links a{transition:color .18s ease}
.home-links .collaborate{color:inherit!important}
.home-links a.is-active,.home-links a[aria-current="page"]{color:var(--red)!important}

/* Todas las imágenes de tarjetas comparten marco, sin recortar el contenido */
.card-image{aspect-ratio:4/3!important;min-height:0!important;background:#ebe8e1!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.card-image img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.home-project-card img{aspect-ratio:4/3!important;height:auto!important;max-height:none!important;object-fit:contain!important}

/* Vídeo estable y minimalista */
.research-video{margin:0;width:100%;max-width:1120px}
.research-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;border:1px solid var(--ink)}
.research-video figcaption{font:12px/1.35 var(--sans);color:var(--muted);margin-top:10px}

/* Franja móvil de etiquetas clicables */
.tag-marquee{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:13px 0}
.tag-marquee::before,.tag-marquee::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:42px;pointer-events:none}
.tag-marquee::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.tag-marquee::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.tag-track{display:flex;width:max-content;gap:10px;animation:tag-scroll 42s linear infinite;padding-right:10px}
.tag-marquee:hover .tag-track,.tag-marquee:focus-within .tag-track{animation-play-state:paused}
.tag-button{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:8px 14px;font:500 12px/1 var(--sans);text-transform:uppercase;letter-spacing:.045em;cursor:pointer;white-space:nowrap}
.tag-button:hover,.tag-button:focus-visible,.tag-button.is-active{border-color:var(--red);color:var(--red);outline:none}
@keyframes tag-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.related-heading{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin:0 0 22px}
.related-heading h2{display:block!important;font:500 17px/1.2 var(--sans)!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}
.related-status{font:12px var(--sans);color:var(--muted);margin:0}
.research-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.research-result{border:1px solid var(--line);padding:20px;min-height:210px;display:flex;flex-direction:column;transition:border-color .18s ease,opacity .18s ease}
.research-result:hover{border-color:var(--ink)}
.research-result[hidden]{display:none}
.research-result .result-type{font:500 13px/1.2 var(--serif);color:var(--muted);margin:0 0 10px}
.research-result h3{font:500 clamp(22px,2vw,31px)/1.05 var(--sans);letter-spacing:-.025em;margin:0 0 10px}
.research-result p{font-size:17px;line-height:1.3;margin:0 0 20px}
.research-result a{font:12px var(--sans);text-transform:uppercase;letter-spacing:.06em;margin-top:auto}

/* Galerías documentales */
.document-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.document-gallery figure{margin:0}
.document-gallery img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#ebe8e1;border:1px solid var(--line)}
.document-gallery figcaption{font:12px/1.35 var(--sans);color:var(--muted);margin-top:8px}
.archive-image-caption{font:12px/1.35 var(--sans);color:var(--muted);margin-top:10px}

/* Índices compactos de actividades */
.activity-list{border-top:1px solid var(--ink)}
.activity-item{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,70px);padding:24px 0;border-bottom:1px solid var(--line)}
.activity-item h3{font:500 clamp(21px,2vw,30px)/1.08 var(--sans);letter-spacing:-.02em;margin:0}
.activity-item p{font-size:18px;line-height:1.32;margin:0;color:var(--muted)}

@media(prefers-reduced-motion:reduce){.tag-track{animation:none}.tag-marquee{overflow-x:auto}.tag-marquee::before,.tag-marquee::after{display:none}}
@media(max-width:820px){
 .research-results,.document-gallery{grid-template-columns:1fr}
 .activity-item{grid-template-columns:1fr;gap:9px}
 .tag-track{animation-duration:58s}
}


/* Revisión 5 — arquitectura editorial, medios sticky y tarjetas */
:root{--aside-width:clamp(390px,38vw,620px)}

/* Columna multimedia un tercio más ancha */
.page-with-aside .page-layout{
  grid-template-columns:minmax(0,1.28fr) minmax(360px,.92fr)!important;
  gap:clamp(38px,4.4vw,82px)!important;
}
.page-with-aside .page-aside .page-visual,
.page-with-aside .page-aside .research-video{
  width:100%!important;
  max-width:var(--aside-width)!important;
  margin:0 0 0 auto!important;
}
.page-with-aside .page-aside .page-visual img{
  max-height:calc(100vh - var(--header-height) - 76px)!important;
  border:1px solid var(--line)!important;
  background:transparent!important;
}
.research-aside{position:sticky;top:calc(var(--header-height) + clamp(28px,3vw,48px));align-self:start}
.research-aside .research-video video{width:100%;aspect-ratio:16/9;border:1px solid var(--line);background:#000}

/* Citas integradas */
.inline-quote{margin:0 0 clamp(28px,3.5vw,48px);font-style:italic;font-size:clamp(25px,2.45vw,41px);line-height:1.18;max-width:920px}
.inline-quote p{margin:0}
.inline-quote cite{display:block;margin-top:12px;font:italic 16px/1.3 var(--serif);color:var(--muted)}
.inline-quote-end{margin:clamp(28px,3.5vw,48px) 0}
.final-question{padding-top:clamp(52px,7vw,100px)!important}

/* Marquees: movimiento continuo de izquierda a derecha */
.tags-section{border-top:0!important;padding-top:clamp(24px,3vw,42px)!important;padding-bottom:clamp(24px,3vw,42px)!important}
.tag-track{animation-name:tag-scroll-positive!important;animation-duration:48s!important;animation-direction:normal!important}
@keyframes tag-scroll-positive{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tag-pill{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:500 12px/1 var(--sans);text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}

/* Tarjetas sin línea superior y con el borde ajustado a la imagen real */
.cards-section{border-top:0!important;padding-top:12px!important}
.card{border-top:0!important;padding-top:0!important}
.card-image{display:block!important;aspect-ratio:auto!important;min-height:0!important;background:transparent!important;border:0!important;overflow:visible!important}
.card-image img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;border:1px solid var(--line)!important;background:#ebe8e1!important}
.card-image:hover img{transform:none!important;border-color:var(--ink)!important}
.card-kicker{font-family:var(--serif)!important;font-style:normal!important}
.editorial-card-grid{align-items:start}
.editorial-card-grid .card-copy>p:last-of-type{font-size:18px}

/* Fichas relacionadas y cronología */
.related-section{border-top:0!important}
.timeline{border-top:1px solid var(--line)}
.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}
.timeline-item time{font:500 14px/1.2 var(--sans);color:var(--red)}
.timeline-item h3{font:500 clamp(22px,2vw,30px)/1.08 var(--sans);margin:0 0 8px}
.timeline-item p{margin:0;font-size:18px;color:var(--muted)}
.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.access-grid p{border:1px solid var(--line);padding:18px;margin:0;font-size:17px}
.institutional-logos{max-width:620px;margin-top:30px}

/* Los títulos de las tarjetas mantienen jerarquía editorial */
.card h2{font-family:var(--sans);font-size:clamp(25px,2.25vw,36px);font-weight:500;letter-spacing:-.025em;line-height:1.04}
.card-subtitle{font-family:var(--serif);font-size:20px}

@media(max-width:1050px){
  .page-with-aside .page-layout{grid-template-columns:1fr!important}
  .page-with-aside .page-aside,.research-aside{position:relative!important;top:auto!important;order:-1}
  .page-with-aside .page-aside .page-visual,.page-with-aside .page-aside .research-video{max-width:760px!important;margin:0!important}
}
@media(max-width:820px){
  .timeline-item{grid-template-columns:1fr;gap:7px}
  .access-grid{grid-template-columns:1fr}
  .inline-quote{font-size:28px}
  .tag-track{animation-duration:62s!important}
}
@media(prefers-reduced-motion:reduce){
  .tag-track{animation:none!important;transform:none!important}
}


/* Revisión 6 — navegación simplificada, filtros en Resultados y reproductor propio */
.home-links{margin-left:auto}
.home-mobile-menu{appearance:none;border:0;background:transparent;color:inherit;padding:0;cursor:pointer}
footer{justify-content:flex-start}

/* Filtros de Resultados */
.result-card[hidden]{display:none!important}
.result-grid{transition:min-height .2s ease}
.result-filter-marquee .tag-button{min-width:max-content}

/* Reproductor minimalista con búsqueda temporal real */
.minimal-player{width:100%;max-width:var(--aside-width);margin:0 0 0 auto;border:1px solid var(--line);background:#000}
.minimal-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;border:0!important}
.minimal-player-controls{display:grid;grid-template-columns:auto auto auto minmax(90px,1fr) auto auto auto auto;gap:9px;align-items:center;padding:9px 10px;background:var(--bg);border-top:1px solid var(--line);font:500 11px/1 var(--sans)}
.minimal-player-controls button{appearance:none;border:0;background:transparent;color:var(--ink);font:500 11px/1 var(--sans);padding:6px 5px;cursor:pointer;white-space:nowrap}
.minimal-player-controls button:hover,.minimal-player-controls button:focus-visible{color:var(--red);outline:none}
.media-time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
.media-seek{width:100%;accent-color:var(--red);cursor:pointer}
.minimal-player.is-playing .media-toggle{color:var(--red)}

/* Vimeo conserva la misma lógica sticky y el mismo marco */
.vimeo-player{position:relative;width:100%;max-width:var(--aside-width);margin:0 0 0 auto;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
.vimeo-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.project-links{display:flex;flex-wrap:wrap;gap:10px}
.project-links .external-button{margin-top:0}

/* La cronología vive ahora en Investigación */
.investigacion .timeline,.chronology-section .timeline{max-width:none}

/* Menú móvil funcional */
@media(max-width:1050px){
  .home-header{position:relative!important}
  .home-nav{flex-wrap:wrap;align-content:center}
  .home-mobile-menu{display:block!important;margin-left:auto;font:500 11px var(--sans);text-transform:uppercase;letter-spacing:.04em}
  .home-links{display:none!important;order:4;width:100%;flex-direction:column;align-items:flex-start;gap:0;padding:10px 0 16px;border-top:1px solid var(--line);margin-left:0}
  .home-links a{width:100%;padding:7px 0}
  .home-header.is-mobile-open .home-links{display:flex!important}
  .home-languages{margin-left:12px}
  .page-with-aside .page-aside .minimal-player,.page-with-aside .page-aside .vimeo-player{max-width:760px;margin:0}
}
@media(max-width:820px){
  .home-languages{display:none}
  .minimal-player-controls{grid-template-columns:auto auto 1fr auto auto;gap:6px}
  .minimal-player-controls .media-time:first-of-type,.minimal-player-controls .media-skip[data-media-skip="10"],.minimal-player-controls .media-mute{display:none}
  .project-links{display:grid;grid-template-columns:1fr}
  .project-links .external-button{text-align:center}
}


/* Revisión 7 — selección editorial y reproductor superpuesto */
.prose-block p{max-width:900px}
.result-grid,.editorial-card-grid{align-items:start}
.result-card .card-copy>p,.editorial-card-grid .card-copy>p{min-height:0}

.minimal-player{position:relative;overflow:hidden;border:1px solid var(--line);background:#000}
.minimal-player video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.minimal-player-controls{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto auto minmax(120px,1fr) auto minmax(92px,130px) auto;gap:11px;align-items:center;padding:34px 14px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));border:0;color:#fff;font:500 11px/1 var(--sans);transition:opacity .2s ease}
.minimal-player-controls button{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.6);padding:5px;border:0;background:transparent}
.minimal-player-controls button:hover,.minimal-player-controls button:focus-visible{color:#ff3b2f!important}
.minimal-player .media-time{color:rgba(255,255,255,.88);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000}
.media-volume{display:grid;grid-template-columns:auto minmax(65px,1fr);gap:5px;align-items:center}
.media-seek,.media-volume-range{-webkit-appearance:none;appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer;--range-progress:0%}
.media-seek::-webkit-slider-runnable-track,.media-volume-range::-webkit-slider-runnable-track{height:2px;border:0;border-radius:0;background:linear-gradient(90deg,#d12b20 0 var(--range-progress),rgba(255,255,255,.72) var(--range-progress) 100%)}
.media-seek::-moz-range-track,.media-volume-range::-moz-range-track{height:2px;border:0;border-radius:0;background:rgba(255,255,255,.72)}
.media-seek::-moz-range-progress,.media-volume-range::-moz-range-progress{height:2px;background:#d12b20}
.media-seek::-webkit-slider-thumb,.media-volume-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:11px;height:11px;margin-top:-4.5px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}
.media-seek::-moz-range-thumb,.media-volume-range::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}
.media-seek:focus-visible,.media-volume-range:focus-visible{outline:1px solid rgba(255,255,255,.8);outline-offset:2px}
.minimal-player:fullscreen{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;border:0;background:#000}
.minimal-player:fullscreen video{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.minimal-player:fullscreen .minimal-player-controls{position:absolute;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));padding-bottom:max(16px,env(safe-area-inset-bottom))}

@media(max-width:820px){
  .minimal-player-controls{grid-template-columns:auto auto minmax(70px,1fr) auto auto;padding:27px 9px 8px;gap:7px}
  .minimal-player-controls .media-time[data-media-current]{display:none}
  .media-volume{grid-template-columns:auto;width:28px}
  .media-volume-range{display:none}
}


/* Revisión 8 — árbol editorial, publicaciones y materiales 2026-07-25 */
.home-featured{border-top:1px solid var(--ink);margin-top:0}
.home-project-card img{background:#ebe8e1;border:1px solid var(--line)}
.home-links{gap:clamp(14px,1.45vw,26px)!important}
.home-links a{font-size:clamp(10px,.78vw,12px)!important}

.uniform-card .card-image{aspect-ratio:4/3!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--line)!important;background:#ebe8e1!important;overflow:hidden!important}
.uniform-card .card-image img{width:100%!important;height:100%!important;object-fit:contain!important;border:0!important;background:transparent!important}
.uniform-card .card-copy{padding-top:1px}

.expanded-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
.expanded-gallery figure{margin:0;min-width:0}
.expanded-gallery img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;border:1px solid var(--line);background:#ebe8e1}
.expanded-gallery figcaption{font:12px/1.35 var(--sans);color:var(--muted);margin-top:8px}
.resource-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.resource-links .external-button{margin-top:0}
.media-stack{display:grid;gap:24px}
.media-stack .minimal-player{max-width:none;margin:0}
.page-content .vimeo-player{max-width:100%;margin:0}

.page-header h1{overflow-wrap:anywhere}
.page-content .content-section:first-of-type{border-top:0}

@media(max-width:1180px){
  .home-links{gap:12px!important}
  .home-links a{font-size:10px!important}
}
@media(max-width:1050px){
  .home-links a{font-size:12px!important}
}
@media(max-width:820px){
  .expanded-gallery{grid-template-columns:1fr}
  .resource-links{display:grid;grid-template-columns:1fr}
  .resource-links .external-button{text-align:center}
}


/* Revisión 9 — portada en movimiento, títulos editoriales y galerías sticky */
.card h2,
.home-project-card h3,
.home-showcase-card h2{
  font-family:var(--serif)!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.card h2{font-size:clamp(29px,2.45vw,42px)!important;line-height:1.02!important}

/* Portada: resultados y publicaciones en una única banda continua */
.home-showcase{
  overflow:hidden;
  padding:clamp(22px,2.4vw,40px) 0 clamp(48px,5vw,76px);
  border-top:1px solid var(--ink);
}
.home-showcase-marquee{overflow:hidden;width:100%}
.home-showcase-track{
  display:flex;
  width:max-content;
  gap:clamp(18px,2vw,34px);
  padding-right:clamp(18px,2vw,34px);
  animation:home-showcase-positive 78s linear infinite;
  will-change:transform;
}
.home-showcase-card{
  display:block;
  width:clamp(250px,23vw,420px);
  flex:0 0 auto;
}
.home-showcase-image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#ebe8e1;
  border:1px solid var(--line);
}
.home-showcase-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.home-showcase-card h2{
  margin:12px 0 0;
  padding:0;
  font-size:clamp(24px,2vw,35px);
  line-height:1;
}
@keyframes home-showcase-positive{
  from{transform:translateX(-50%)}
  to{transform:translateX(0)}
}

/* Galería horizontal sticky: una imagen cada vez, sin recortar */
.sticky-gallery{
  position:relative;
  width:100%;
  max-width:var(--aside-width);
  margin-left:auto;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid var(--line);
  background:#ebe8e1;
}
.sticky-gallery-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease, visibility .8s ease;
}
.sticky-gallery-slide.is-active{
  opacity:1;
  visibility:visible;
}
.sticky-gallery-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border:0!important;
  background:#ebe8e1;
}
.timeline-item h3 a:hover{color:var(--red)}

@media(max-width:1050px){
  .sticky-gallery{max-width:760px;margin:0}
}
@media(max-width:820px){
  .home-showcase{padding-top:18px}
  .home-showcase-card{width:min(78vw,340px)}
}
@media(prefers-reduced-motion:reduce){
  .home-showcase-track{animation:none;transform:none}
  .home-showcase-marquee{overflow-x:auto}
  .sticky-gallery-slide{transition:none}
}

/* Revisión 10 — Alegreya + Quicksand y medios laterales unificados */

:root{
  --font-title:'Alegreya',Georgia,serif;
  --font-text:'Quicksand','Helvetica Neue',Arial,sans-serif;
  --serif:var(--font-title);
  --sans:var(--font-text);
  --media-aspect:16/9;
}

body{
  font-family:var(--font-text)!important;
  font-weight:400;
}

h1,h2,h3,h4,h5,h6,
.page h1,
.card h2,
.home-showcase-card h2,
.home-project-card h3,
.timeline-item h3,
.project-meta .subtitle{
  font-family:var(--font-title)!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

p,li,dd,dt,label,input,button,textarea,select,
.home-links,.home-languages,.home-mobile-menu,.home-logo,
.external-button,.arrow-link,.media-time{
  font-family:var(--font-text);
}

/* El mismo rectángulo 16:9 para imagen, vídeo y galerías laterales. */
.page-with-aside .page-aside{
  width:100%;
}
.page-with-aside .page-aside>.page-visual,
.page-with-aside .page-aside>.sticky-gallery,
.page-with-aside .page-aside>.minimal-player,
.page-with-aside .page-aside>.vimeo-player{
  width:100%!important;
  max-width:var(--aside-width)!important;
  aspect-ratio:var(--media-aspect)!important;
  margin:0 0 0 auto!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  background:#111!important;
}
.page-with-aside .page-aside>.page-visual{
  display:block!important;
  height:auto!important;
}
.page-with-aside .page-aside>.page-visual img,
.sticky-gallery-slide img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  background:#111!important;
}
.page-with-aside .page-aside>.minimal-player video,
.page-with-aside .page-aside>.vimeo-player iframe{
  width:100%!important;
  height:100%!important;
  aspect-ratio:var(--media-aspect)!important;
  object-fit:contain!important;
}

/* Navegación de galerías: aparece al pasar el cursor o con teclado. */
.sticky-gallery-controls{
  position:absolute;
  z-index:5;
  inset:50% 0 auto;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.sticky-gallery:hover .sticky-gallery-controls,
.sticky-gallery:focus-within .sticky-gallery-controls{
  opacity:1;
  pointer-events:auto;
}
.sticky-gallery-button{
  appearance:none;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(0,0,0,.38);
  color:#fff;
  font:500 25px/1 var(--font-text);
  cursor:pointer;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.sticky-gallery-button:hover,
.sticky-gallery-button:focus-visible{
  background:rgba(0,0,0,.72);
  border-color:#fff;
  outline:none;
}
.sticky-gallery-counter{
  position:absolute;
  z-index:5;
  right:12px;
  bottom:10px;
  margin:0;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.42);
  color:#fff;
  font:500 10px/1 var(--font-text);
  letter-spacing:.06em;
  opacity:0;
  transition:opacity .2s ease;
  pointer-events:none;
}
.sticky-gallery:hover .sticky-gallery-counter,
.sticky-gallery:focus-within .sticky-gallery-counter{opacity:1}

@media(max-width:1050px){
  .page-with-aside .page-aside>.page-visual,
  .page-with-aside .page-aside>.sticky-gallery,
  .page-with-aside .page-aside>.minimal-player,
  .page-with-aside .page-aside>.vimeo-player{
    max-width:760px!important;
    margin:0!important;
  }
}
@media(max-width:820px){
  .sticky-gallery-controls{opacity:1;pointer-events:auto}
  .sticky-gallery-counter{opacity:1}
  .sticky-gallery-button{width:38px;height:38px;font-size:22px}
}


/* Revisión 11 — enlaces, marcos llenos, carrusel arrastrable y logos */
.page-content a:not(.card-image),
.page-content .card h2 a,
footer a{
  color:var(--red)!important;
  transition:opacity .18s ease,color .18s ease;
}
.page-content a:not(.card-image):hover,
.page-content .card h2 a:hover,
footer a:hover{
  opacity:.38;
  color:var(--red)!important;
}
a.is-external:not(.home-logo):not(.home-showcase-card)::after{
  content:' ↗';
  display:inline;
  white-space:nowrap;
}
.home-links a.is-external::after,.home-languages a.is-external::after{content:none}

/* Los marcos visuales se llenan por completo. */
.card-image,
.home-showcase-image,
.expanded-gallery figure,
.document-gallery figure{
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  background:#ebe8e1!important;
}
.card-image img,
.home-showcase-image img,
.expanded-gallery img,
.document-gallery img,
.project-hero>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
}
.card-image{aspect-ratio:4/3!important}
.expanded-gallery figure,.document-gallery figure{aspect-ratio:16/10}
.expanded-gallery img,.document-gallery img{max-height:none!important}

/* Galerías sticky: el marco 16:9 queda totalmente ocupado. */
.sticky-gallery-slide img{
  object-fit:cover!important;
  background:#111!important;
}

/* Portada: carrusel manejado por JS, pausa al hover y arrastre horizontal. */
.home-showcase-marquee{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
}
.home-showcase-marquee::-webkit-scrollbar{display:none}
.home-showcase-marquee.is-dragging{cursor:grabbing}
.home-showcase-track{
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
}
.home-showcase-card{user-select:none;-webkit-user-drag:none}
.home-showcase-card img{pointer-events:none;user-select:none;-webkit-user-drag:none}

/* Qué es: logos institucionales a todo el ancho y texto legal sin recuadro. */
.institutional-logos-full{
  display:block;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:30px 0 26px!important;
}
.notice-unframed{
  border:0!important;
  padding:0!important;
  background:transparent!important;
}

/* En páginas de proyecto, la galería lateral conserva las flechas al hover. */
.page-aside>.sticky-gallery{isolation:isolate}

@media(max-width:820px){
  .home-showcase-marquee{touch-action:pan-x pan-y}
}


/* Revisión 12 — Bricolage Grotesque, Roboto Mono y controles depurados */
:root{
  --font-display:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --font-body:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --font-ui:'Roboto Mono','SFMono-Regular',Consolas,monospace;
  --font-title:var(--font-display);
  --font-text:var(--font-body);
  --serif:var(--font-display);
  --sans:var(--font-ui);
}
body{font-family:var(--font-body)!important;font-weight:400;letter-spacing:-.008em}
h1,h2,h3,h4,h5,h6,.page h1,.card h2,.home-showcase-card h2,.timeline-item h3,.project-meta .subtitle{font-family:var(--font-display)!important}
.home-logo,.home-links,.home-languages,.home-mobile-menu,.card-kicker,.arrow-link,.external-button,.media-time,footer,time,.resource-links a{font-family:var(--font-ui)!important}

/* Escala más contenida para títulos. */
.page h1{font-size:clamp(42px,5.25vw,86px)!important;line-height:.92!important;letter-spacing:-.045em!important;max-width:1040px!important}
.page-content>p,.lead{font-size:clamp(23px,2.45vw,39px)!important;line-height:1.14!important}
.card h2{font-size:clamp(22px,1.85vw,31px)!important;line-height:1.04!important}
.home-showcase-card h2{font-size:clamp(18px,1.45vw,26px)!important;line-height:1.08!important}
.card-kicker{font-size:11px!important;line-height:1.35!important;text-transform:uppercase!important;letter-spacing:.045em!important}

/* Flecha externa: solo aparece durante hover o foco. */
a.is-external:not(.home-logo):not(.home-showcase-card)::after{
  content:'↗';display:inline-block;overflow:hidden;width:0;opacity:0;margin-left:0;
  transform:translate(-3px,3px);transition:width .16s ease,opacity .16s ease,transform .16s ease,margin-left .16s ease;
  white-space:nowrap;vertical-align:baseline;
}
a.is-external:not(.home-logo):not(.home-showcase-card):hover::after,
a.is-external:not(.home-logo):not(.home-showcase-card):focus-visible::after{
  width:1.15em;opacity:1;margin-left:.25em;transform:translate(0,0);
}

/* Todos los marcos quedan totalmente ocupados. */
.card-image,.home-showcase-image,.sticky-gallery,.page-visual,.expanded-gallery figure,.document-gallery figure{position:relative!important;overflow:hidden!important;background:#ebe8e1!important}
.card-image img,.home-showcase-image img,.sticky-gallery-slide img,.page-visual img,.expanded-gallery img,.document-gallery img{
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;border:0!important;background:#ebe8e1!important;
}
.card-image{aspect-ratio:4/3!important}
.home-showcase-image{aspect-ratio:16/10!important}
.page-with-aside .page-aside>.page-visual,.page-with-aside .page-aside>.sticky-gallery{aspect-ratio:16/9!important}

/* Galería: cheurones de dos líneas, sin círculo ni contador. */
.sticky-gallery-counter{display:none!important}
.sticky-gallery-controls{padding:0 18px!important}
.sticky-gallery-button{
  position:relative!important;width:34px!important;height:58px!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#fff!important;font-size:0!important;box-shadow:none!important;backdrop-filter:none!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.72));
}
.sticky-gallery-button::before,.sticky-gallery-button::after{
  content:'';position:absolute;left:8px;width:24px;height:2px;background:#fff;transition:background .18s ease,transform .18s ease;
}
.sticky-gallery-previous::before{top:20px;transform:rotate(-45deg);transform-origin:left center}
.sticky-gallery-previous::after{bottom:20px;transform:rotate(45deg);transform-origin:left center}
.sticky-gallery-next::before{top:20px;left:2px;transform:rotate(45deg);transform-origin:right center}
.sticky-gallery-next::after{bottom:20px;left:2px;transform:rotate(-45deg);transform-origin:right center}
.sticky-gallery-button:hover::before,.sticky-gallery-button:hover::after,.sticky-gallery-button:focus-visible::before,.sticky-gallery-button:focus-visible::after{background:var(--red)}

/* Portada: texto a la izquierda, patologías sonoras a la derecha. */
.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important}
.home-hero-copy{order:1}.home-hero-media{order:2;aspect-ratio:16/10;min-height:0!important}
.home-hero-media img{position:static!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}
.home-showcase-card{pointer-events:auto!important}
.home-showcase-card *{pointer-events:none!important}

/* Bloque institucional sin marco y a todo el ancho de la columna. */
.institutional-copy{max-width:none!important}
.institutional-logos-full{width:100%!important;max-width:none!important;object-fit:contain!important;position:static!important;height:auto!important;border:0!important;background:#fff!important}
.notice-unframed{border:0!important}

@media(max-width:820px){
  .page h1{font-size:clamp(39px,12vw,58px)!important}
  .home-hero{grid-template-columns:1fr!important}
  .home-hero-copy{order:1}.home-hero-media{order:2}
  .sticky-gallery-controls{padding:0 10px!important}
}


/* Revisión 13 — tipografías, hovers, botones y galerías */
:root{
  --font-title:'Alegreya', Georgia, serif;
  --font-text:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --font-ui:'Roboto Mono','SFMono-Regular',Consolas,monospace;
  --serif:var(--font-title);
  --sans:var(--font-ui);
}
body{font-family:var(--font-text)!important;letter-spacing:0!important}
h1,h2,h3,h4,h5,h6,.page h1,.card h2,.home-showcase-card h2,.project-meta .subtitle,.timeline-item h3{font-family:var(--font-title)!important;font-weight:500!important}
p,li,.lead,.page-content,.card-copy p{font-family:var(--font-text)!important}
.home-logo,.home-links,.home-languages,.home-mobile-menu,footer,.external-button,.arrow-link,.media-time,.card-kicker,time,.question,.eyebrow{font-family:var(--font-ui)!important}

/* Hover links: rojo + subrayado; sin desvanecido */
a,a:hover{transition:none!important}
.page-content a:not(.card-image), .page-content .card h2 a, footer a, .timeline-item h3 a, .home-links a, .resource-links a, .home-showcase-card h2 a{color:inherit;text-decoration:none}
.page-content a:not(.card-image):hover,
.page-content .card h2 a:hover,
footer a:hover,
.timeline-item h3 a:hover,
.home-links a:hover,
.resource-links a:hover{color:var(--red)!important;text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:1px;opacity:1!important}
a.is-external:not(.home-logo):not(.home-showcase-card)::after{content:'↗';display:inline-block;width:auto!important;opacity:0;margin-left:.18em;transform:none!important;transition:none!important}
a.is-external:not(.home-logo):not(.home-showcase-card):hover::after,
a.is-external:not(.home-logo):not(.home-showcase-card):focus-visible::after{opacity:1;color:var(--red)!important}

/* Botones */
.resource-links,.project-meta .resource-links{display:flex;flex-wrap:wrap;gap:12px}
.external-button{display:inline-flex!important;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:14px 18px!important;line-height:1.15!important;color:var(--red)!important;background:transparent!important;opacity:1!important;filter:none!important;box-shadow:none!important}
.external-button:hover,.external-button:focus-visible{color:var(--red)!important;background:transparent!important;opacity:1!important;outline:none;text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:1px}
.external-button.is-external:hover::after,.external-button.is-external:focus-visible::after{opacity:1;color:var(--red)!important}

/* Citas y títulos algo más pequeños */
.inline-quote, .inline-quote p, blockquote.inline-quote p{font-size:clamp(18px,1.6vw,26px)!important;line-height:1.3!important}
.page h1{font-size:clamp(40px,5.1vw,78px)!important}
.card h2{font-size:clamp(20px,1.8vw,28px)!important}

/* Home: imagen a la derecha, texto a la izquierda, tarjetas clicables */
.home-hero{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;align-items:center!important}
.home-hero-copy{order:1!important}
.home-hero-media{order:2!important;position:relative!important;min-height:0!important}
.home-hero-media img{position:static!important;width:100%!important;height:100%!important;object-fit:cover!important}
.home-showcase-card,.home-showcase-card:link,.home-showcase-card:visited{pointer-events:auto!important;cursor:pointer!important}
.home-showcase-card *{pointer-events:none!important}
.home-showcase-marquee{cursor:grab!important}
.home-showcase-marquee.is-dragging{cursor:grabbing!important}

/* Marquee pause already in JS; ensure hover doesn't kill links */
.home-showcase-card:hover h2{color:var(--red)!important;text-decoration:underline;text-underline-offset:.12em}

/* Imágenes y marcos llenos */
.card-image,.home-showcase-image,.sticky-gallery,.page-visual,.expanded-gallery figure,.document-gallery figure,.project-hero img{overflow:hidden!important;background:#ebe8e1!important}
.card-image img,.home-showcase-image img,.sticky-gallery-slide img,.page-visual img,.expanded-gallery img,.document-gallery img,.project-hero img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;max-height:none!important;border:0!important
}
.page-with-aside .page-aside>.page-visual,.page-with-aside .page-aside>.sticky-gallery,.page-with-aside .page-aside>.minimal-player,.page-with-aside .page-aside>.vimeo-player{aspect-ratio:16/9!important}
.page-with-aside .page-aside>.minimal-player video,.page-with-aside .page-aside>.vimeo-player iframe{width:100%!important;height:100%!important}

/* Galerías: flechas simples con dos líneas */
.sticky-gallery-counter{display:none!important}
.sticky-gallery-controls{padding:0 14px!important;opacity:0;pointer-events:none}
.sticky-gallery:hover .sticky-gallery-controls,.sticky-gallery:focus-within .sticky-gallery-controls{opacity:1;pointer-events:auto}
.sticky-gallery-button{width:36px!important;height:72px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.72));backdrop-filter:none!important}
.sticky-gallery-button::before,.sticky-gallery-button::after{content:'';position:absolute;width:22px;height:2px;background:#fff;left:7px;top:50%;transform-origin:center;transition:none!important}
.sticky-gallery-previous::before{transform:translateY(-7px) rotate(-45deg)}
.sticky-gallery-previous::after{transform:translateY(7px) rotate(45deg)}
.sticky-gallery-next::before{left:7px;transform:translateY(-7px) rotate(45deg)}
.sticky-gallery-next::after{left:7px;transform:translateY(7px) rotate(-45deg)}
.sticky-gallery-button:hover::before,.sticky-gallery-button:hover::after,.sticky-gallery-button:focus-visible::before,.sticky-gallery-button:focus-visible::after{background:#fff!important}

/* Qué es */
.institutional-logos-full{width:100%!important;max-width:none!important;position:static!important;height:auto!important;background:#fff!important;border:0!important}
.notice-unframed{border:0!important;padding:0!important;background:transparent!important}

/* Menú activo */
.home-links a.is-active,.home-links a[aria-current="page"]{color:var(--red)!important}

/* Móvil */
@media(max-width:820px){
  .home-hero{grid-template-columns:1fr!important}
  .home-hero-copy{order:1!important}.home-hero-media{order:2!important}
  .sticky-gallery-controls{opacity:1;pointer-events:auto}
}


/* Revisión 14 — fondo blanco, carrusel clicable, flechas sin salto e imágenes llenas */
:root{--bg:#fff!important;--surface:#fff!important}
html,body,.home,.home-header,.home-section,.home-showcase,footer{background:#fff!important}
body{background:#fff!important}
.card-image,.home-showcase-image,.sticky-gallery,.page-visual,.expanded-gallery figure,.document-gallery figure,.project-hero img{background:#fff!important}

/* Enlaces externos: la flecha aparece sin modificar el ancho ni crear huecos. */
a.is-external:not(.home-logo):not(.home-showcase-card){position:relative!important}
a.is-external:not(.home-logo):not(.home-showcase-card)::after{
  content:'↗'!important;position:absolute!important;left:calc(100% + .18em)!important;top:-.28em!important;
  width:auto!important;margin:0!important;padding:0!important;opacity:0!important;overflow:visible!important;
  transform:none!important;white-space:nowrap!important;pointer-events:none!important;color:var(--red)!important;
  font-family:var(--font-ui)!important;font-size:.72em!important;line-height:1!important;
}
a.is-external:not(.home-logo):not(.home-showcase-card):hover::after,
a.is-external:not(.home-logo):not(.home-showcase-card):focus-visible::after{opacity:1!important}
.external-button.is-external::after{left:auto!important;right:10px!important;top:8px!important;font-size:.7em!important}
.external-button.is-external{padding-right:30px!important}

/* Carrusel: texto descriptivo y clic fiable. */
.home-showcase-card{display:block!important;position:relative!important;z-index:1!important;pointer-events:auto!important}
.home-showcase-card h2{margin:12px 0 3px!important}
.home-showcase-type{margin:0!important;font-family:var(--font-text)!important;font-size:clamp(13px,1vw,16px)!important;line-height:1.25!important;color:#555!important}
.home-showcase-card:hover .home-showcase-type{color:var(--red)!important}
.home-showcase-card,.home-showcase-card *{-webkit-user-select:none;user-select:none}

/* Las imágenes siempre ocupan el marco completo. */
.card-image,.home-showcase-image,.sticky-gallery,.page-visual,.expanded-gallery figure,.document-gallery figure{position:relative!important;overflow:hidden!important}
.card-image img,.home-showcase-image img,.sticky-gallery-slide img,.page-visual img,.expanded-gallery img,.document-gallery img,.project-hero img{
  position:static!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
  max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border:0!important;background:#fff!important;
}
.card-image{aspect-ratio:4/3!important}
.home-showcase-image{display:block!important;aspect-ratio:16/10!important}
.expanded-gallery figure,.document-gallery figure{aspect-ratio:16/10!important}
.page-with-aside .page-aside>.page-visual,.page-with-aside .page-aside>.sticky-gallery{aspect-ratio:16/9!important}
.page-visual{height:auto!important}

/* Evita franjas heredadas por wrappers flexibles. */
.card-image,.home-showcase-image{padding:0!important;align-items:stretch!important;justify-content:stretch!important}

@media(max-width:820px){
  .home-showcase-type{font-size:13px!important}
}


/* Revisión 15 — Archivos, home ampliada y jerarquía tipográfica */
:root{
  --bg:#fff!important;
  --font-title:'Alegreya',Georgia,serif;
  --font-subtitle:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --font-text:'Roboto Mono','SFMono-Regular',Consolas,monospace;
  --serif:var(--font-title);
  --sans:var(--font-text);
}
html,body,.home,.home-header,.home-showcase,.home-about,footer{background:#fff!important}
body{font-family:var(--font-text)!important;font-size:clamp(15px,1.12vw,18px)!important;line-height:1.5!important;letter-spacing:-.018em!important}
h1,h2,h3,h4,h5,h6,.page h1,.card h2,.home-showcase-card h2,.timeline-item h3{font-family:var(--font-title)!important;font-weight:500!important;letter-spacing:-.018em!important}
.lead,.subtitle,.card-subtitle,.card-kicker,.home-showcase-type,.project-meta .subtitle,.home-about-lead{font-family:var(--font-subtitle)!important;letter-spacing:-.015em!important}
p,li,blockquote,cite,.page-content,.card-copy p,.home-about-prose,.home-about-legal{font-family:var(--font-text)!important}
.home-logo,.home-links,.home-languages,.home-mobile-menu,footer,.external-button,.arrow-link,.media-time,time,.question{font-family:var(--font-text)!important}

/* No flechas decorativas en enlaces externos. */
a.is-external::after,a[target="_blank"]::after{content:none!important;display:none!important}
.external-button.is-external{padding-right:18px!important}

/* Todos los medios ocupan el marco de 1 px. */
.card-image,.home-showcase-image,.sticky-gallery,.page-visual,.expanded-gallery figure,.document-gallery figure,.project-hero>img{
  position:relative!important;display:block!important;overflow:hidden!important;padding:0!important;background:#fff!important;border:1px solid var(--line)!important
}
.card-image img,.home-showcase-image img,.sticky-gallery-slide img,.page-visual img,.expanded-gallery img,.document-gallery img,.project-hero>img{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border:0!important;background:#fff!important
}
.card-image{aspect-ratio:4/3!important}
.home-showcase-image{aspect-ratio:16/10!important}
.expanded-gallery figure,.document-gallery figure{aspect-ratio:16/10!important}
.page-with-aside .page-aside>.page-visual,.page-with-aside .page-aside>.sticky-gallery{aspect-ratio:16/9!important;height:auto!important}
.institutional-logos,.institutional-logos-full,.home-about-logos{position:static!important;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;border:0!important;background:#fff!important}

/* Qué es integrado en portada. */
.home-about{padding:clamp(64px,8vw,130px) var(--pad);border-top:1px solid var(--line)}
.home-about-inner{max-width:1280px;margin:0 auto}
.home-about h2{font-size:clamp(44px,6.5vw,96px);line-height:.9;margin:0 0 clamp(42px,6vw,84px)}
.home-about-lead{font-size:clamp(25px,3vw,48px);line-height:1.16;max-width:1120px;margin:0 0 clamp(46px,6vw,82px)}
.home-about-prose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,62px);max-width:1180px}
.home-about-prose p{margin:0 0 28px}
.home-about-institutional{grid-column:1/-1;font-size:clamp(15px,1.25vw,19px)}
.home-about-logos{display:block;margin:36px 0 24px;max-width:1180px!important}
.home-about-legal{max-width:1000px;margin:0}

/* La página ya no tiene sección Qué es en navegación. */
.home-links{gap:clamp(13px,1.65vw,28px)!important}

@media(max-width:820px){
  .home-about{padding:68px 18px}
  .home-about-prose{grid-template-columns:1fr}
  .home-about-institutional{grid-column:auto}
}


/* Revisión 16 — home editorial, antecedentes y marcos completos */
:root{--bg:#fff!important;--line:rgba(17,17,17,.25)!important}
html,body,.home,.home-header,.home-showcase,.home-about,footer{background:#fff!important}

/* Carrusel: línea superior exacta e infinito visual. */
.home-showcase{border-top:1px solid #111!important;padding-top:clamp(22px,2.4vw,40px)!important}
.home-showcase-marquee{overflow-x:auto!important;scrollbar-width:none!important}
.home-showcase-marquee::-webkit-scrollbar{display:none!important}
.home-showcase-track{display:flex!important;width:max-content!important;will-change:scroll-position!important}
.home-showcase-card{position:relative!important;z-index:2!important;pointer-events:auto!important;cursor:pointer!important}
.home-showcase-card *{pointer-events:none!important}
.home-showcase-type{font-family:var(--font-subtitle)!important;color:#5f5c57!important;font-size:clamp(13px,.95vw,15px)!important}

/* Home: sin rótulo Qué es; composición más editorial. */
.home-about{padding:clamp(72px,8.5vw,138px) var(--pad)!important;border-top:0!important}
.home-about-inner{max-width:1320px!important}
.home-about-lead{max-width:1180px!important;margin:0 0 clamp(54px,7vw,94px)!important;font-family:var(--font-subtitle)!important;font-size:clamp(27px,3.15vw,49px)!important;line-height:1.15!important}
.home-about-prose{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(30px,5vw,74px)!important;max-width:1200px!important}
.home-about-prose p{font-family:var(--font-text)!important;font-size:clamp(14px,1.05vw,17px)!important;line-height:1.62!important;margin:0!important}
.home-about-wide{grid-column:1/-1!important;max-width:1040px!important;margin-top:clamp(18px,2vw,32px)!important}
.home-about-institutional{max-width:1180px!important;margin:clamp(64px,7vw,104px) 0 0!important;font-family:var(--font-text)!important;font-size:clamp(14px,1.08vw,17px)!important;line-height:1.58!important}
.home-about-support{border-top:1px solid #111!important;margin-top:clamp(42px,5vw,72px)!important;padding-top:clamp(26px,3vw,42px)!important;max-width:1180px!important}
.home-about-logos{display:block!important;width:min(100%,820px)!important;max-width:820px!important;height:auto!important;margin:0 0 22px!important;object-fit:contain!important;border:0!important;background:#fff!important;position:static!important}
.home-about-legal{font-family:var(--font-text)!important;font-size:clamp(11px,.86vw,14px)!important;line-height:1.55!important;max-width:900px!important}

/* Investigación. */
.research-text p{max-width:980px!important}
.inline-quote{max-width:900px!important}
.timeline-item{grid-template-columns:minmax(110px,170px) 1fr!important}
.timeline-item p{max-width:800px!important;margin-top:8px!important;font-family:var(--font-text)!important;font-size:clamp(14px,1vw,16px)!important;line-height:1.55!important}
.question-compact{font-family:var(--font-subtitle)!important;font-size:clamp(23px,2.4vw,38px)!important;line-height:1.18!important;max-width:920px!important}
.petit-bardo-quote,.lab-quote{margin:28px 0!important;font-family:var(--font-title)!important;font-style:italic!important}
.petit-bardo-quote p,.lab-quote p{font-family:var(--font-title)!important;font-size:clamp(22px,2.2vw,34px)!important;line-height:1.2!important;margin:0!important}
.petit-bardo-quote cite,.lab-quote cite{display:block!important;margin-top:14px!important;font-family:var(--font-text)!important;font-style:normal!important;font-size:12px!important}
.lab-quote-section{border-top:1px solid var(--line)!important}

/* Todas las imágenes ocupan el marco: sin franjas ni contain heredado. */
.card-image,.home-showcase-image,.sticky-gallery,.page-visual,.expanded-gallery figure,.document-gallery figure,.project-hero>img{
  position:relative!important;display:block!important;overflow:hidden!important;padding:0!important;background:#fff!important;border:1px solid var(--line)!important
}
.card-image img,.home-showcase-image img,.sticky-gallery-slide img,.page-visual img,.expanded-gallery img,.document-gallery img,.project-hero>img{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border:0!important;background:#fff!important
}
.card-image{aspect-ratio:4/3!important;height:auto!important}
.home-showcase-image{aspect-ratio:16/10!important;height:auto!important}
.expanded-gallery figure,.document-gallery figure{aspect-ratio:16/10!important}
.page-with-aside .page-aside>.page-visual,.page-with-aside .page-aside>.sticky-gallery{aspect-ratio:16/9!important;height:auto!important}
/* Amplía específicamente imágenes con mucho blanco interno. */
.card-image img[src*="patologias_sonoras"],.home-showcase-image img[src*="patologias_sonoras"]{transform:scale(1.16)!important}

@media(max-width:820px){
  .home-about{padding:68px 18px!important}
  .home-about-prose{grid-template-columns:1fr!important}
  .home-about-wide{grid-column:auto!important}
  .home-about-logos{width:100%!important}
}


/* Revisión 17 — home, investigación, textos y recortes definitivos */
:root{--bg:#fff!important;--line:#111!important}
html,body,.home,.home-header,.home-showcase,.home-about,footer{background:#fff!important}

/* Carrusel delimitado arriba y abajo con 1 px. */
.home-showcase{border-top:1px solid #111!important;border-bottom:1px solid #111!important;padding:clamp(22px,2.4vw,40px) 0!important}
.home-showcase-marquee{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;width:100%!important}
.home-showcase-track{display:flex!important;width:max-content!important;min-width:max-content!important;flex-wrap:nowrap!important}
.home-showcase-card{flex:0 0 auto!important}

/* Bloque institucional: línea antes de la frase, no encima de los logos. */
.home-about-institutional-full{display:block!important;width:100%!important;max-width:none!important;border-top:1px solid #111!important;margin:clamp(58px,7vw,100px) 0 0!important;padding-top:clamp(26px,3vw,42px)!important}
.home-about-support{border-top:0!important;margin-top:clamp(30px,4vw,58px)!important;padding-top:0!important;max-width:none!important;width:100%!important}
.home-about-logos{width:min(100%,660px)!important;max-width:660px!important;margin:0 0 22px!important}
.home-about-legal-full{display:block!important;width:100%!important;max-width:none!important}

/* Pregunta final sin línea superior. */
.final-question-no-line{border-top:0!important;padding-top:clamp(18px,2.5vw,34px)!important}
.question-compact{font-size:clamp(20px,2vw,32px)!important}

/* Citas de Petit Bardo y Laboratorio idénticas a las de Investigación. */
.lab-quote-no-special{border-top:0!important}
.lab-quote-no-special .inline-quote,.lab-quote-no-special .inline-quote p{font-size:clamp(18px,1.6vw,26px)!important;line-height:1.3!important}
.lab-quote-no-special .inline-quote cite{font-size:12px!important}

/* Notas de investigación. */
.research-notes{margin-top:clamp(30px,4vw,55px);padding-top:22px;border-top:1px solid rgba(17,17,17,.22)}
.research-notes p{font-size:clamp(12px,.92vw,15px)!important;line-height:1.55!important;color:#555}

/* Los recortes generados ocupan por completo cada marco. */
.card-image,.sticky-gallery,.home-showcase-image,.page-visual,.expanded-gallery figure,.document-gallery figure{position:relative!important;overflow:hidden!important;padding:0!important;background:#fff!important;border:1px solid #111!important}
.card-image img,.sticky-gallery-slide img,.home-showcase-image img,.page-visual img,.expanded-gallery img,.document-gallery img{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border:0!important;background:#fff!important;transform:none!important
}


/* Revisión 18 — Resultados con galerías secuenciales completas */
.result-card-grid-updated .uniform-card{border-top:0!important;padding-top:0!important}
.result-card-grid-updated .result-card-gallery,
.result-card-grid-updated .card-image{
  position:relative!important;
  display:block!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  height:auto!important;
  background:#fff!important;
  border:1px solid #111!important;
  overflow:hidden!important;
}
.result-card-gallery .card-gallery-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .18s linear;
}
.result-card-gallery .card-gallery-slide.is-active{opacity:1;z-index:1}
.result-card-gallery .card-gallery-slide img,
.page-with-aside .results-sticky-gallery .sticky-gallery-slide img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}
.page-with-aside .results-sticky-gallery,
.page-with-aside .results-sticky-gallery.sticky-gallery{
  aspect-ratio:16/10!important;
  background:#fff!important;
}
.result-card-grid-updated .card-copy>p:last-of-type{font-size:clamp(17px,1.55vw,22px)!important;line-height:1.35!important}
.result-card-grid-updated .card-kicker{margin-top:12px!important}
@media(max-width:820px){
  .result-card-grid-updated .result-card-gallery,
  .page-with-aside .results-sticky-gallery{aspect-ratio:16/10!important}
}


/* Revisión 20 — ajustes home, investigación y laboratorio */
.home-showcase{position:relative!important;border-top:1px solid #111!important;border-bottom:1px solid #111!important;padding:clamp(22px,2.4vw,40px) 0!important;overflow:hidden!important}
.home-showcase::before,.home-showcase::after{content:'';position:absolute;left:0;right:0;height:1px;background:#111;pointer-events:none}
.home-showcase::before{top:0}.home-showcase::after{bottom:0}
.home-showcase-marquee{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;width:100%!important}
.home-showcase-track{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;min-width:max-content!important;gap:clamp(24px,2vw,40px)!important;padding:0 var(--pad)!important}
.home-showcase-card{flex:0 0 clamp(260px,24vw,470px)!important}
.home-about-institutional-full{position:relative!important;border-top:0!important;margin:clamp(46px,5vw,74px) 0 0!important;padding-top:clamp(20px,2.2vw,30px)!important}
.home-about-institutional-full::before{content:'';position:absolute;left:50%;top:0;transform:translateX(-50%);width:100vw;height:1px;background:#111}
.home-about-support{margin-top:22px!important}
.home-about-logos{margin:0 0 14px!important}
.home-about-legal-full{margin:0!important}
.home-about-institutional-full a{color:var(--red)!important}
.home-about-institutional-full a:hover,.home-about-institutional-full a:focus-visible{text-decoration:underline!important;text-underline-offset:.1em}
.research-inline-image{max-width:980px;margin:26px 0 0!important;border:1px solid var(--line);background:#fff}
.research-inline-image img{display:block;width:100%;height:auto;position:static!important;max-width:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important}
.lab-quote-no-special .inline-quote cite,.inline-quote cite{font-family:var(--font-text)!important;font-size:12px!important;line-height:1.45!important}
.media-stack-vertical{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:24px!important}
.media-stack-vertical .vertical-player{max-width:min(560px,100%)!important;margin:0!important}
.media-stack-vertical .vertical-player video{aspect-ratio:16/9!important;height:auto!important;object-fit:contain!important}
@media(max-width:820px){.home-showcase-track{padding:0 18px!important}.home-showcase-card{flex-basis:min(82vw,360px)!important}.media-stack-vertical .vertical-player{max-width:100%!important}}


/* Revisión 21 — carrusel, líneas, compactación, marcos y galerías flotantes */
.home-showcase{
  border:0!important;
  border-top:1px solid #111!important;
  border-bottom:1px solid #111!important;
  box-shadow:none!important;
}
.home-showcase::before,.home-showcase::after{display:none!important;content:none!important}
.home-showcase-marquee{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;overscroll-behavior-x:none!important}
.home-showcase-track{width:max-content!important;min-width:max-content!important;flex-wrap:nowrap!important}
.home-showcase-card{flex:0 0 clamp(260px,24vw,470px)!important}

.home-about{padding-bottom:clamp(32px,3.5vw,54px)!important}
.home-about-institutional-full{margin-top:clamp(34px,4vw,54px)!important;padding-top:20px!important}
.home-about-support{margin-top:12px!important;padding-top:0!important}
.home-about-logos{margin:0 0 10px!important}
.home-about-legal-full{margin:0!important;line-height:1.4!important}

.research-inline-image{max-width:420px!important;margin:24px 0 0!important;border:0!important;background:transparent!important;padding:0!important}
.research-inline-image img{position:static!important;display:block!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;border:0!important;background:transparent!important}

/* Las tarjetas de Laboratorio, Resultados y Publicaciones siempre cubren el marco. */
.cards-section .card-image,
.result-card-grid-updated .result-card-gallery{
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
  background:#fff!important;
}
.cards-section .card-image>img,
.result-card-gallery .card-gallery-slide img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  border:0!important;
}

/* Galerías flotantes: imágenes aleatorias, navegación visible en hover. */
.page-aside .sticky-gallery{background:#fff!important}
.page-aside .sticky-gallery-slide img{object-fit:cover!important;object-position:center!important}
.page-aside .sticky-gallery:hover .sticky-gallery-controls,
.page-aside .sticky-gallery:focus-within .sticky-gallery-controls{opacity:1!important;pointer-events:auto!important}

@media(max-width:820px){
  .home-about{padding-bottom:32px!important}
  .research-inline-image{max-width:320px!important}
}


/* Revisión 22 — líneas exactas, enlaces, galerías y contenidos actualizados */
.home-showcase{
  border:0!important;
  box-shadow:inset 0 1px 0 #111,inset 0 -1px 0 #111!important;
  padding:clamp(22px,2.4vw,40px) 0!important;
  overflow:hidden!important;
}
.home-showcase::before,.home-showcase::after{display:none!important;content:none!important}
.home-showcase-marquee{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;cursor:grab!important}
.home-showcase-marquee.is-dragging{cursor:grabbing!important}
.home-showcase-track{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;min-width:max-content!important;gap:clamp(24px,2vw,40px)!important;padding:0 var(--pad)!important}
.home-showcase-card{flex:0 0 clamp(260px,24vw,470px)!important;pointer-events:auto!important;cursor:pointer!important}
.home-showcase-card *{pointer-events:none!important}
.research-inline-image{width:min(100%,620px)!important;max-width:620px!important;margin:28px auto 0!important;border:0!important;background:transparent!important}
.research-inline-image img{position:static!important;display:block!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;object-fit:contain!important;border:0!important}
.card-image,.result-card-gallery{background:#fff!important}
.card-image>img,.result-card-gallery .card-gallery-slide img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center!important;background:#fff!important
}
.sticky-gallery-slide img{object-fit:cover!important}
.timeline .resource-links{margin-top:18px!important}
.timeline-item p{margin:5px 0!important}
.media-stack-vertical{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:24px!important}
.media-stack-vertical .vertical-player{width:min(100%,640px)!important;max-width:640px!important;margin:0!important}
.media-stack-vertical .vertical-player video{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;background:#000!important}
.media-stack-vertical .media-volume{display:none!important}
@media(max-width:820px){.home-showcase-track{padding:0 18px!important}.home-showcase-card{flex-basis:min(82vw,360px)!important}.research-inline-image{width:min(100%,480px)!important}.media-stack-vertical .vertical-player{width:100%!important}}

/* Garantía final: ninguna imagen de tarjetas o galerías deja bandas dentro del marco. */
.page-with-aside .sticky-gallery .sticky-gallery-slide img,
.page-with-aside .results-sticky-gallery .sticky-gallery-slide img,
.card-grid .card-image img,
.card-grid .result-card-gallery .card-gallery-slide img{
  object-fit:cover!important;
  object-position:center center!important;
}


/* Revisión 23 — estructura de imágenes por carpetas y galerías automáticas */
.folder-gallery{position:relative;display:block;overflow:hidden;background:#fff}
.folder-gallery-loading{position:absolute;inset:0;display:grid;place-items:center;font:11px/1.2 var(--font-ui);color:#777}
.folder-gallery-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .42s ease;pointer-events:none}
.folder-gallery-slide.is-active{opacity:1;z-index:1}
.folder-gallery-slide img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-position:center!important;border:0!important;background:#fff!important;transform:none!important}
.folder-gallery-controls{position:absolute;z-index:4;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.folder-gallery:hover>.folder-gallery-controls,.folder-gallery:focus-within>.folder-gallery-controls{opacity:1;pointer-events:auto}
.folder-gallery-button{position:relative;width:36px;height:72px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7))}
.folder-gallery-button::before,.folder-gallery-button::after{content:'';position:absolute;left:7px;top:50%;width:22px;height:2px;background:#fff;transform-origin:center}
.folder-gallery-previous::before{transform:translateY(-7px) rotate(-45deg)}
.folder-gallery-previous::after{transform:translateY(7px) rotate(45deg)}
.folder-gallery-next::before{transform:translateY(-7px) rotate(45deg)}
.folder-gallery-next::after{transform:translateY(7px) rotate(-45deg)}
.folder-gallery-hero{width:100%;height:100%;min-height:420px;border:1px solid var(--line)}
.home-showcase-image.folder-gallery{aspect-ratio:16/10!important;height:auto!important;border:1px solid var(--line)}
a.card-image.folder-gallery{aspect-ratio:4/3!important;height:auto!important;border:1px solid var(--line)}
.folder-gallery-aside{aspect-ratio:16/9;width:100%;border:1px solid var(--line)}
.folder-gallery-portrait{aspect-ratio:4/5!important;max-height:72vh}
.folder-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;overflow:visible;background:transparent}
.folder-gallery-grid>figure{position:relative;margin:0;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;background:#fff}
.folder-gallery-grid>figure img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-position:center!important}
.last-listen-documentation{margin-top:clamp(30px,4vw,58px)}
.assets-folder-guide{font-family:var(--font-ui)}
@media(max-width:820px){.folder-gallery-hero{min-height:300px}.folder-gallery-controls{opacity:1;pointer-events:auto;padding:0 8px}.folder-gallery-grid{grid-template-columns:1fr}.folder-gallery-portrait{max-height:none}}
.folder-gallery[data-gallery-fit="contain"] .folder-gallery-slide img,
.folder-gallery[data-gallery-fit="contain"]>figure img{object-fit:contain!important}
.folder-gallery[data-gallery-fit="cover"] .folder-gallery-slide img,
.folder-gallery[data-gallery-fit="cover"]>figure img{object-fit:cover!important}


/* Revisión 24 — galerías normalizadas, documentación y eventos */
.folder-gallery,
.folder-gallery-aside,
.folder-gallery-documentation,
a.card-image.folder-gallery,
.home-showcase-image.folder-gallery{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #111!important;
}
.folder-gallery-slide img,
.folder-gallery>figure img,
.folder-gallery-card .folder-gallery-slide img,
.folder-gallery-documentation .folder-gallery-slide img,
.folder-gallery-aside .folder-gallery-slide img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#fff!important;
  border:0!important;
  transform:none!important;
}
.folder-gallery-aside,
.folder-gallery-documentation{aspect-ratio:16/10!important;width:100%!important}
.folder-gallery-aside.is-portrait,
.folder-gallery-documentation.is-portrait{aspect-ratio:4/5!important}
.folder-gallery-aside.is-landscape,
.folder-gallery-documentation.is-landscape{aspect-ratio:16/10!important}
.folder-gallery-card{aspect-ratio:4/3!important}
.folder-gallery-documentation{max-width:1000px;margin-top:18px}
.documentation-gallery-section{border-top:1px solid var(--line)!important;padding-top:clamp(28px,3vw,42px)!important}
.documentation-gallery-section .card-kicker{margin-bottom:14px!important}
.folder-gallery.is-empty{display:none!important}

/* Separación clara entre texto y botones. */
.resource-links{margin-top:clamp(28px,3vw,44px)!important}
.event-links{margin-top:24px!important}

/* Eventos: misma lógica editorial que Antecedentes/Cronología. */
.events-section{margin-top:clamp(38px,5vw,70px)!important}
.events-section>.related-heading{margin-bottom:0!important}
.event-list{border-top:1px solid #111}
.event-item{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:clamp(24px,4vw,70px);padding:clamp(28px,4vw,54px) 0;border-bottom:1px solid #111}
.event-item>time{font-family:var(--font-ui);font-size:clamp(15px,1.2vw,20px);font-weight:500;color:var(--red);letter-spacing:.02em}
.event-body h3{margin:0 0 12px;font-family:var(--font-title);font-size:clamp(28px,3vw,48px);font-weight:500;line-height:1.05}
.event-body p{margin:7px 0;font-family:var(--font-text);font-size:clamp(15px,1.25vw,20px);line-height:1.45;color:#555}
.event-body .resource-links{display:flex;flex-wrap:wrap;gap:12px}

/* Las imágenes de fichas de Laboratorio, Resultados y Publicaciones cubren siempre el marco. */
.editorial-card-grid .card-image,
.result-card-grid-updated .card-image{overflow:hidden!important;background:#fff!important}
.editorial-card-grid .card-image img,
.result-card-grid-updated .card-image img,
.editorial-card-grid .folder-gallery-slide img,
.result-card-grid-updated .folder-gallery-slide img{object-fit:cover!important;width:100%!important;height:100%!important}

@media(max-width:820px){
  .event-item{grid-template-columns:1fr;gap:14px}
  .event-body h3{font-size:clamp(28px,9vw,42px)}
  .folder-gallery-aside.is-portrait,.folder-gallery-documentation.is-portrait{aspect-ratio:4/5!important}
}


/* Revisión 25 — piloto Markdown y eventos compactos */
.event-list{border-top:1px solid #111!important}
.event-item{grid-template-columns:minmax(115px,150px) minmax(0,1fr)!important;gap:clamp(22px,3vw,46px)!important;padding:clamp(20px,2.5vw,32px) 0!important;border-bottom:1px solid #111!important}
.event-item>time{font-size:clamp(14px,1vw,17px)!important;line-height:1.3!important}
.event-body h3{font-size:clamp(24px,2.35vw,38px)!important;line-height:1.08!important;margin:0 0 9px!important}
.event-body p{font-size:clamp(14px,1.05vw,17px)!important;line-height:1.42!important;margin:5px 0!important}
.event-links{margin-top:18px!important}
.external-button{border:1px solid #111!important;background:#fff!important;color:var(--red)!important;transition:none!important}
.external-button:hover,.external-button:focus-visible{background:#111!important;border-color:var(--red)!important;color:#fff!important;text-decoration:underline!important;text-underline-offset:.13em!important;opacity:1!important}
.md-generated-page .page-content>p.lead{margin-bottom:clamp(34px,4vw,58px)!important}
.md-generated-page .documentation-gallery-section{margin-top:clamp(42px,5vw,72px)!important}
@media(max-width:820px){.event-item{grid-template-columns:1fr!important;gap:8px!important}.event-body h3{font-size:clamp(25px,8vw,36px)!important}}

/* Revisión 26 — sitio completo generado desde Markdown */
.page-no-aside .page-layout{grid-template-columns:minmax(0,1fr)!important}
.page-no-aside .page-main{max-width:1180px!important}
.static-gallery-aside,
.static-gallery-documentation{
  width:100%!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
}
.static-gallery-aside.is-landscape,
.static-gallery-documentation.is-landscape{aspect-ratio:16/10!important}
.static-gallery-aside.is-portrait,
.static-gallery-documentation.is-portrait{aspect-ratio:4/5!important}
.static-gallery-aside.is-square,
.static-gallery-documentation.is-square{aspect-ratio:1/1!important}
.static-gallery-aside .sticky-gallery-slide img,
.static-gallery-documentation .sticky-gallery-slide img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-position:center center!important;
}
.static-gallery-aside[data-gallery-fit="cover"] .sticky-gallery-slide img,
.static-gallery-documentation[data-gallery-fit="cover"] .sticky-gallery-slide img{object-fit:cover!important}
.static-gallery-aside[data-gallery-fit="contain"] .sticky-gallery-slide img,
.static-gallery-documentation[data-gallery-fit="contain"] .sticky-gallery-slide img{object-fit:contain!important}
.static-gallery-documentation{max-width:980px!important;margin-top:16px!important}
.documentation-gallery-section{margin-top:clamp(44px,5vw,76px)!important;padding-top:clamp(28px,3vw,44px)!important;border-top:1px solid var(--line)!important}
.documentation-gallery-section .card-kicker{margin:0 0 14px!important}
.markdown-image{max-width:680px;margin:30px auto!important}
.markdown-image img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-width:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important;border:0!important}
.md-generated-page .card-image{position:relative!important;aspect-ratio:4/3!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--line)!important}
.md-generated-page .card-image img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important}
.md-generated-page .card-image-empty{display:block;width:100%;height:100%;background:#f3f3f3}
.md-generated-page .resource-links{margin-top:clamp(30px,4vw,54px)!important}
.md-generated-page .events-section{margin-top:clamp(34px,4vw,60px)!important}
.md-generated-page .event-item{grid-template-columns:minmax(108px,150px) minmax(0,1fr)!important;gap:clamp(20px,3vw,46px)!important;padding:clamp(20px,2.4vw,32px) 0!important}
.md-generated-page .event-body h3{font-size:clamp(27px,2.4vw,40px)!important;line-height:1.02!important;margin:0 0 13px!important}
.md-generated-page .event-body>p{font-size:clamp(14px,1.05vw,17px)!important;line-height:1.5!important;margin:5px 0!important}
.md-generated-page .event-item>time{font-size:clamp(13px,1vw,16px)!important}
.md-generated-page .event-links{margin-top:22px!important}
.md-generated-page .external-button:hover,
.md-generated-page .external-button:focus-visible{
  background:#000!important;
  border-color:var(--red)!important;
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:.14em!important;
}
.home-about-section,
.home-about-institutional-block{margin-top:clamp(42px,5vw,76px)}
.home-about-section h2,
.home-about-institutional-block h2{font-size:clamp(32px,4vw,58px);margin:0 0 22px}
.home-about-institutional-block{padding-top:clamp(24px,3vw,42px);border-top:1px solid var(--line)}
.home-about-institutional-block .home-about-logos{display:block;width:min(760px,100%);height:auto;margin:26px 0 0}
@media(max-width:820px){
  .static-gallery-aside.is-portrait,.static-gallery-documentation.is-portrait{aspect-ratio:4/5!important}
  .md-generated-page .event-item{grid-template-columns:1fr!important;gap:8px!important}
  .markdown-image{max-width:100%!important}
}

/* Revisión 27 — Markdown normal, estructura automática */
.md-generated-page .markdown-flow{
  width:100%;
  max-width:980px;
  margin:0 0 clamp(36px,4vw,64px);
}
.md-generated-page .markdown-flow>p{
  max-width:980px!important;
  margin:0 0 1.35em!important;
  font-family:var(--font-text)!important;
  font-size:clamp(16px,1.2vw,20px)!important;
  font-weight:400!important;
  line-height:1.58!important;
  letter-spacing:0!important;
}
.md-generated-page .markdown-flow>.inline-quote{
  margin:0 0 clamp(34px,4vw,58px)!important;
}
.md-generated-page .markdown-flow>.inline-quote+p{
  margin-top:0!important;
}
.md-generated-page .markdown-flow .markdown-image{
  width:min(520px,100%);
  max-width:520px!important;
  margin:clamp(30px,4vw,56px) auto!important;
  border:0!important;
}
.md-generated-page .markdown-flow .markdown-image img{
  width:100%!important;
  height:auto!important;
  border:0!important;
  object-fit:contain!important;
}
.md-generated-page .content-section>div>p,
.md-generated-page .timeline-item p,
.md-generated-page .event-body p{
  font-family:var(--font-text)!important;
}
.md-generated-page.page-no-aside .page-content{
  max-width:1180px;
}
@media(max-width:820px){
  .md-generated-page .markdown-flow>p{font-size:16px!important;line-height:1.52!important}
  .md-generated-page .markdown-flow .markdown-image{width:min(420px,100%)}
}


/* Revisión 28 — jerarquía Markdown, botones y vídeo lateral */
.md-generated-page .markdown-flow{
  max-width:980px!important;
  margin-left:0!important;
}
.md-generated-page .markdown-flow h1,
.md-generated-page .markdown-flow h2,
.md-generated-page .markdown-flow h3,
.md-generated-page .markdown-flow h4{
  margin-left:0!important;
  max-width:980px!important;
  text-transform:none!important;
  letter-spacing:-.018em!important;
}
.md-generated-page .markdown-flow h1{
  font-family:var(--font-title)!important;
  font-size:clamp(42px,5.1vw,76px)!important;
  font-weight:500!important;
  line-height:.98!important;
  margin-top:clamp(58px,7vw,105px)!important;
  margin-bottom:clamp(24px,3vw,42px)!important;
}
.md-generated-page .markdown-flow h2{
  font-family:var(--font-title)!important;
  font-size:clamp(34px,4vw,60px)!important;
  font-weight:500!important;
  line-height:1.02!important;
  margin-top:clamp(48px,6vw,88px)!important;
  margin-bottom:clamp(20px,2.5vw,34px)!important;
}
.md-generated-page .markdown-flow h3{
  font-family:var(--font-title)!important;
  font-size:clamp(27px,3vw,44px)!important;
  font-weight:500!important;
  line-height:1.08!important;
  margin-top:clamp(38px,4.5vw,68px)!important;
  margin-bottom:18px!important;
}
.md-generated-page .markdown-flow h4{
  font-family:var(--font-text)!important;
  font-size:clamp(16px,1.45vw,22px)!important;
  font-weight:600!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  margin-top:clamp(28px,3vw,48px)!important;
  margin-bottom:12px!important;
}
.md-generated-page .markdown-flow h1:first-child,
.md-generated-page .markdown-flow h2:first-child,
.md-generated-page .markdown-flow h3:first-child,
.md-generated-page .markdown-flow h4:first-child{margin-top:0!important}

/* Cada enlace Markdown aislado se convierte en un botón y se alinea al margen izquierdo. */
.md-generated-page .markdown-buttons,
.md-generated-page .standalone-link-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:clamp(24px,3vw,42px) 0 0!important;
  justify-content:flex-start!important;
}
.md-generated-page .standalone-links-section{
  display:block!important;
  max-width:980px!important;
  margin-left:0!important;
  padding-left:0!important;
}
.md-generated-page .standalone-links-section>h2{
  display:block!important;
  font-family:var(--font-title)!important;
  font-size:clamp(30px,3.6vw,52px)!important;
  line-height:1.05!important;
  margin:0 0 22px!important;
  text-transform:none!important;
  letter-spacing:-.018em!important;
}
.md-generated-page .standalone-links-section>div{
  max-width:980px!important;
  margin:0!important;
}
.md-generated-page .markdown-buttons .external-button,
.md-generated-page .standalone-link-buttons .external-button{
  margin:0!important;
}

/* Vídeo indicado como video_position: aside. */
.md-generated-page .page-aside .aside-video-stack{
  width:100%!important;
}
.md-generated-page .page-aside .aside-video-stack .minimal-player{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  aspect-ratio:16/9!important;
}
.md-generated-page .page-aside .aside-video-stack .minimal-player video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

/* El ancho de Investigación coincide con el resto de páginas con columna lateral. */
.md-generated-page .page-main,
.md-generated-page .page-content{max-width:none!important;margin-left:0!important}

@media(max-width:820px){
  .md-generated-page .markdown-flow h1{font-size:46px!important}
  .md-generated-page .markdown-flow h2{font-size:38px!important}
  .md-generated-page .markdown-flow h3{font-size:30px!important}
  .md-generated-page .markdown-flow h4{font-size:17px!important}
  .md-generated-page .markdown-buttons,
  .md-generated-page .standalone-link-buttons{display:grid!important;grid-template-columns:1fr!important}
}

/* Revisión 29 — jerarquía tipográfica, citas, tarjetas editables y enlaces tras eventos */
.md-generated-page .markdown-flow h1{
  font-size:clamp(42px,4.8vw,72px)!important;
  line-height:.98!important;
}
.md-generated-page .markdown-flow h2{
  font-family:var(--font-title)!important;
  font-size:clamp(30px,3.25vw,50px)!important;
  line-height:1.04!important;
  margin-top:clamp(44px,5vw,76px)!important;
  margin-bottom:clamp(18px,2vw,28px)!important;
}
.md-generated-page .markdown-flow h3{
  font-family:var(--font-title)!important;
  font-size:clamp(24px,2.35vw,36px)!important;
  line-height:1.08!important;
  margin-top:clamp(34px,4vw,58px)!important;
  margin-bottom:15px!important;
}
.md-generated-page .markdown-flow h4{
  font-family:var(--font-title)!important;
  font-size:clamp(17px,1.45vw,22px)!important;
  font-weight:500!important;
  line-height:1.22!important;
  letter-spacing:-.01em!important;
}
.md-generated-page .inline-quote,
.md-generated-page .inline-quote p{
  font-family:var(--font-title)!important;
  font-size:clamp(24px,2.5vw,38px)!important;
  font-style:italic!important;
  line-height:1.18!important;
  letter-spacing:-.012em!important;
}
.md-generated-page .inline-quote cite{
  font-family:var(--font-title)!important;
  font-size:clamp(15px,1.25vw,19px)!important;
  font-style:italic!important;
  line-height:1.3!important;
  color:var(--muted)!important;
}

/* Las fichas manuales de “Clubes y procesos” usan exactamente Tipo y descripción del Markdown padre. */
.md-generated-page .cards-section .card-copy>p:not(.card-kicker){
  font-family:var(--font-text)!important;
  font-size:clamp(15px,1.1vw,18px)!important;
  line-height:1.45!important;
  margin-top:14px!important;
}

/* Un ### Links dentro de Eventos deja de reservar la columna vacía de fecha. */
.md-generated-page .event-standalone-section{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  margin:clamp(42px,5vw,72px) 0 0!important;
  padding:clamp(32px,4vw,54px) 0!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.md-generated-page .event-standalone-section>h2{
  margin-left:0!important;
  font-family:var(--font-title)!important;
  font-size:clamp(28px,3vw,46px)!important;
}
.md-generated-page .event-standalone-section>div,
.md-generated-page .event-standalone-section .resource-links{
  margin-left:0!important;
  justify-content:flex-start!important;
}

@media(max-width:820px){
  .md-generated-page .markdown-flow h1{font-size:43px!important}
  .md-generated-page .markdown-flow h2{font-size:34px!important}
  .md-generated-page .markdown-flow h3{font-size:27px!important}
  .md-generated-page .markdown-flow h4{font-size:18px!important}
  .md-generated-page .inline-quote,
  .md-generated-page .inline-quote p{font-size:25px!important}
}


/* Revisión 30 — HTML de espaciado, jerarquía afinada y Enlaces compactos */
.md-generated-page .markdown-flow h1{
  font-size:clamp(40px,4.4vw,68px)!important;
}
.md-generated-page .markdown-flow h2{
  font-family:var(--font-title)!important;
  font-size:clamp(29px,2.9vw,44px)!important;
  line-height:1.06!important;
  margin-top:clamp(40px,4.8vw,70px)!important;
}
.md-generated-page .markdown-flow h3{
  font-family:var(--font-title)!important;
  font-size:clamp(23px,2.05vw,32px)!important;
  line-height:1.1!important;
  margin-top:clamp(30px,3.6vw,52px)!important;
}
.md-generated-page .markdown-flow h4{
  font-family:var(--font-title)!important;
  font-size:clamp(18px,1.5vw,23px)!important;
  font-weight:500!important;
  line-height:1.18!important;
}
.md-generated-page .inline-quote,
.md-generated-page .inline-quote p{
  font-family:var(--font-title)!important;
  font-style:italic!important;
}
.md-generated-page .markdown-rule{
  display:block!important;
  width:100%!important;
  height:1px!important;
  border:0!important;
  margin:clamp(34px,4vw,58px) 0!important;
  background:var(--line)!important;
}
.md-generated-page .markdown-spacer{
  display:block!important;
  height:clamp(18px,2.4vw,38px)!important;
}
.md-generated-page .compact-links-section,
.md-generated-page .event-standalone-section.compact-links-section{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  margin:clamp(34px,4vw,58px) 0 0!important;
  padding:0!important;
  border:0!important;
}
.md-generated-page .compact-links-section .compact-section-label{
  display:block!important;
  margin:0 0 16px!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(13px,1vw,16px)!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.01em!important;
  color:var(--muted)!important;
}
.md-generated-page .compact-links-section>div,
.md-generated-page .compact-links-section .resource-links{
  margin-left:0!important;
  justify-content:flex-start!important;
}
.md-generated-page .compact-links-section .standalone-link-buttons{
  margin-top:0!important;
}
@media(max-width:820px){
  .md-generated-page .markdown-flow h1{font-size:42px!important}
  .md-generated-page .markdown-flow h2{font-size:33px!important}
  .md-generated-page .markdown-flow h3{font-size:27px!important}
  .md-generated-page .markdown-flow h4{font-size:20px!important}
}


/* Revisión 31 — controles completos, galerías adaptativas y rótulos invisibles */
.md-generated-page .compact-links-section .compact-section-label,
.md-generated-page .documentation-gallery-section .card-kicker{display:none!important}
.md-generated-page .compact-links-section{margin-top:clamp(26px,3vw,44px)!important}
.md-generated-page .documentation-gallery-section{padding-top:0!important;border-top:0!important}

.minimal-player-controls{
  grid-template-columns:auto auto minmax(120px,1fr) auto minmax(110px,150px) auto!important;
  gap:10px!important;
}
.media-toggle,.media-mute,.media-fullscreen{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;padding:4px!important}
.media-icon{display:block;width:18px;height:18px;line-height:0}
.media-icon svg{display:block;width:100%;height:100%;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.media-icon-volume svg>path:first-child{stroke:none}
.media-icon-play{display:block}
.media-icon-pause{display:none}
.minimal-player.is-playing .media-icon-play{display:none}
.minimal-player.is-playing .media-icon-pause{display:block}
.minimal-player.is-muted .media-icon-volume .volume-wave{opacity:0}
.media-volume{display:grid!important;grid-template-columns:auto minmax(72px,1fr)!important;gap:6px!important;align-items:center!important}
.media-volume-range{display:block!important}
.media-fullscreen .media-icon svg{fill:none}

.static-gallery-aside.is-auto,
.static-gallery-documentation.is-auto{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important}
.static-gallery-aside.is-square,
.static-gallery-documentation.is-square{aspect-ratio:1/1!important}
.static-gallery-aside.is-portrait,
.static-gallery-documentation.is-portrait{max-height:78vh!important}
.static-gallery-aside .sticky-gallery-slide img,
.static-gallery-documentation .sticky-gallery-slide img{object-fit:cover!important}

@media(max-width:820px){
  .minimal-player-controls{grid-template-columns:auto minmax(80px,1fr) auto auto!important;gap:7px!important}
  .minimal-player-controls .media-time{display:none!important}
  .media-volume{grid-template-columns:auto!important;width:28px!important}
  .media-volume-range{display:none!important}
  .static-gallery-aside.is-portrait,.static-gallery-documentation.is-portrait{max-height:none!important}
}

/* Respetar el ajuste solicitado por cada galería después del cálculo de orientación. */
.static-gallery-aside[data-gallery-fit="contain"] .sticky-gallery-slide img,
.static-gallery-documentation[data-gallery-fit="contain"] .sticky-gallery-slide img{object-fit:contain!important}
.static-gallery-aside[data-gallery-fit="cover"] .sticky-gallery-slide img,
.static-gallery-documentation[data-gallery-fit="cover"] .sticky-gallery-slide img{object-fit:cover!important}


/* PARCHE HOME LIBRE 20260728 */

/* Evita que la línea superior del carrusel se duplique. */
.home-hero{
  border-bottom:0!important;
}

/* Una sola línea real de 1 px arriba y abajo. */
.home-showcase{
  border:0!important;
  border-top:1px solid #111!important;
  border-bottom:1px solid #111!important;
  box-shadow:none!important;
}

.home-showcase::before,
.home-showcase::after{
  display:none!important;
  content:none!important;
}

/* La Home utiliza la misma escala tipográfica que el resto. */
.home-free-flow h1,
.home-free-flow h2,
.home-free-flow h3,
.home-free-flow h4{
  font-family:var(--font-title)!important;
  font-weight:500!important;
  text-transform:none!important;
}

.home-free-flow h1{
  font-size:var(--md-h1-size)!important;
  line-height:var(--md-h1-leading)!important;
  letter-spacing:-.026em!important;
  margin:0 0 30px!important;
}

.home-free-flow h2{
  font-size:var(--md-h2-size)!important;
  line-height:var(--md-h2-leading)!important;
  letter-spacing:-.021em!important;
  margin:60px 0 26px!important;
}

.home-free-flow h3{
  font-size:var(--md-h3-size)!important;
  line-height:var(--md-h3-leading)!important;
  letter-spacing:-.015em!important;
  margin:44px 0 16px!important;
}

.home-free-flow h4{
  font-family:var(--font-ui)!important;
  font-size:var(--md-h4-size)!important;
  line-height:var(--md-h4-leading)!important;
  letter-spacing:.015em!important;
  margin:32px 0 10px!important;
}

.home-free-flow h1:first-child,
.home-free-flow h2:first-child,
.home-free-flow h3:first-child,
.home-free-flow h4:first-child{
  margin-top:0!important;
}

.home-free-flow em,
.home-free-flow h1 em,
.home-free-flow h2 em,
.home-free-flow h3 em,
.home-free-flow h4 em{
  font-style:italic!important;
}

.home-free-flow > p{
  font-family:var(--font-text)!important;
  font-size:clamp(15px,1.12vw,18px)!important;
  line-height:1.55!important;
  max-width:1180px!important;
}

/* Cita grande de apertura. */
.home-hero-flow > .inline-quote{
  margin:0!important;
  max-width:850px!important;
  font-style:normal!important;
}

.home-hero-flow > .inline-quote p{
  font-family:var(--font-title)!important;
  font-size:var(--md-h1-size)!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:var(--md-h1-leading)!important;
  letter-spacing:-.026em!important;
}

.home-hero-flow > .inline-quote cite{
  display:block!important;
  margin-top:26px!important;
  font-family:var(--font-text)!important;
  font-size:clamp(13px,1vw,16px)!important;
  font-style:normal!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}

.home-free-flow .markdown-rule{
  display:block!important;
  width:100%!important;
  height:1px!important;
  border:0!important;
  background:#111!important;
}

.home-free-flow .markdown-image{
  max-width:760px!important;
  margin:30px 0!important;
}

.home-free-flow .markdown-image img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

.home-free-content{
  border-top:0!important;
}


/* PARCHE HOME LIBRE Y ENLACES 20260728 */

.home-main.md-generated-page .home-free-flow h1{
  font-family:var(--font-title)!important;
  font-size:var(--md-h1-size)!important;
  font-weight:500!important;
  line-height:var(--md-h1-leading)!important;
  letter-spacing:-.026em!important;
  text-transform:none!important;
  max-width:980px!important;
  margin:0 0 clamp(24px,2.8vw,38px)!important;
}

.home-main.md-generated-page .home-free-flow h2{
  font-family:var(--font-title)!important;
  font-size:var(--md-h2-size)!important;
  font-weight:500!important;
  line-height:var(--md-h2-leading)!important;
  letter-spacing:-.021em!important;
  text-transform:none!important;
  max-width:980px!important;
  margin:clamp(46px,5vw,72px) 0 clamp(20px,2.2vw,30px)!important;
}

.home-main.md-generated-page .home-free-flow h3{
  font-family:var(--font-title)!important;
  font-size:var(--md-h3-size)!important;
  font-weight:500!important;
  line-height:var(--md-h3-leading)!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  max-width:980px!important;
  margin:clamp(34px,3.8vw,54px) 0 16px!important;
}

.home-main.md-generated-page .home-free-flow h4{
  font-family:var(--font-ui)!important;
  font-size:var(--md-h4-size)!important;
  font-weight:500!important;
  line-height:var(--md-h4-leading)!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
  max-width:980px!important;
  margin:clamp(26px,2.8vw,40px) 0 10px!important;
}

.home-main.md-generated-page .home-free-flow h1:first-child,
.home-main.md-generated-page .home-free-flow h2:first-child,
.home-main.md-generated-page .home-free-flow h3:first-child,
.home-main.md-generated-page .home-free-flow h4:first-child{
  margin-top:0!important;
}

.home-main.md-generated-page .home-free-flow p{
  font-family:var(--font-text)!important;
  font-size:clamp(15px,1.12vw,18px)!important;
  line-height:1.55!important;
}

.home-main.md-generated-page .home-free-flow strong,
.md-generated-page .markdown-flow strong{
  font-weight:700!important;
}

.home-main.md-generated-page .home-free-flow em,
.home-main.md-generated-page .home-free-flow h1 em,
.home-main.md-generated-page .home-free-flow h2 em,
.home-main.md-generated-page .home-free-flow h3 em,
.home-main.md-generated-page .home-free-flow h4 em{
  font-style:italic!important;
}

/* Enlaces escritos dentro del Markdown. */

.home-main .home-free-flow a:not(.external-button):not(.home-showcase-card),
.md-generated-page .markdown-flow > p a:not(.external-button),
.md-generated-page .markdown-flow > h1 a:not(.external-button),
.md-generated-page .markdown-flow > h2 a:not(.external-button),
.md-generated-page .markdown-flow > h3 a:not(.external-button),
.md-generated-page .markdown-flow > h4 a:not(.external-button),
.md-generated-page .markdown-flow > blockquote a:not(.external-button){
  color:var(--red)!important;
  text-decoration:none!important;
}

.home-main .home-free-flow a:not(.external-button):not(.home-showcase-card):hover,
.home-main .home-free-flow a:not(.external-button):not(.home-showcase-card):focus-visible,
.md-generated-page .markdown-flow > p a:not(.external-button):hover,
.md-generated-page .markdown-flow > p a:not(.external-button):focus-visible,
.md-generated-page .markdown-flow > h1 a:not(.external-button):hover,
.md-generated-page .markdown-flow > h1 a:not(.external-button):focus-visible,
.md-generated-page .markdown-flow > h2 a:not(.external-button):hover,
.md-generated-page .markdown-flow > h2 a:not(.external-button):focus-visible,
.md-generated-page .markdown-flow > h3 a:not(.external-button):hover,
.md-generated-page .markdown-flow > h3 a:not(.external-button):focus-visible,
.md-generated-page .markdown-flow > h4 a:not(.external-button):hover,
.md-generated-page .markdown-flow > h4 a:not(.external-button):focus-visible,
.md-generated-page .markdown-flow > blockquote a:not(.external-button):hover,
.md-generated-page .markdown-flow > blockquote a:not(.external-button):focus-visible{
  color:var(--red)!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:.12em!important;
}

/* Carrusel: una sola línea superior e inferior. */

.home-showcase{
  border:0!important;
  border-top:1px solid #111!important;
  border-bottom:1px solid #111!important;
  box-shadow:none!important;
}

.home-showcase::before,
.home-showcase::after{
  display:none!important;
  content:none!important;
}

.home-showcase-card{
  pointer-events:auto!important;
  cursor:pointer!important;
}

.home-showcase-card *{
  pointer-events:none!important;
}

/* === EP JERARQUIA TIPOGRAFICA UNIFICADA — INICIO === */

/*
  Jerarquía común para el contenido editorial Markdown.
  H4 queda reservado para notas al pie.
*/

:root{
  --md-h1-size:clamp(40px,4.4vw,68px);
  --md-h1-leading:.98;

  --md-h2-size:clamp(28px,2.8vw,44px);
  --md-h2-leading:1.06;

  --md-h3-size:clamp(22px,2vw,32px);
  --md-h3-leading:1.10;

  --md-h4-size:clamp(11px,.82vw,14px);
  --md-h4-leading:1.52;

  --md-body-size:clamp(15px,1.12vw,18px);
  --md-body-leading:1.55;
}


/* ==================================================
   H1
   ================================================== */

.md-generated-page .markdown-flow h1,
.home-main.md-generated-page .home-free-flow h1,
.md-generated-page .page-header h1{
  font-family:var(--font-title)!important;
  font-size:var(--md-h1-size)!important;
  font-weight:500!important;
  line-height:var(--md-h1-leading)!important;
  letter-spacing:-.026em!important;
  text-transform:none!important;
}


/* ==================================================
   H2
   ================================================== */

.md-generated-page .markdown-flow h2,
.home-main.md-generated-page .home-free-flow h2{
  font-family:var(--font-title)!important;
  font-size:var(--md-h2-size)!important;
  font-weight:500!important;
  line-height:var(--md-h2-leading)!important;
  letter-spacing:-.021em!important;
  text-transform:none!important;
}


/* ==================================================
   H3
   ================================================== */

.md-generated-page .markdown-flow h3,
.home-main.md-generated-page .home-free-flow h3{
  font-family:var(--font-title)!important;
  font-size:var(--md-h3-size)!important;
  font-weight:500!important;
  line-height:var(--md-h3-leading)!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
}


/* ==================================================
   H4 = NOTA AL PIE
   Pequeño, regular y sin aspecto de titular.
   ================================================== */

.md-generated-page .markdown-flow h4,
.home-main.md-generated-page .home-free-flow h4{
  font-family:var(--font-text)!important;
  font-size:var(--md-h4-size)!important;
  font-weight:400!important;
  line-height:var(--md-h4-leading)!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  max-width:none!important;
}


/* ==================================================
   TEXTO CORRIDO
   ================================================== */

.md-generated-page .markdown-flow > p,
.home-main.md-generated-page .home-free-flow > p{
  font-family:var(--font-text)!important;
  font-size:var(--md-body-size)!important;
  font-weight:400!important;
  line-height:var(--md-body-leading)!important;
  letter-spacing:-.018em!important;
}


/* ==================================================
   MÁRGENES DE LA JERARQUÍA
   ================================================== */

.md-generated-page .markdown-flow h1,
.home-main.md-generated-page .home-free-flow h1{
  margin:
    clamp(48px,5.5vw,82px)
    0
    clamp(22px,2.5vw,36px)!important;
}

.md-generated-page .markdown-flow h2,
.home-main.md-generated-page .home-free-flow h2{
  margin:
    clamp(38px,4.5vw,66px)
    0
    clamp(18px,2vw,28px)!important;
}

.md-generated-page .markdown-flow h3,
.home-main.md-generated-page .home-free-flow h3{
  margin:
    clamp(28px,3.4vw,48px)
    0
    15px!important;
}

.md-generated-page .markdown-flow h4,
.home-main.md-generated-page .home-free-flow h4{
  margin:
    clamp(24px,2.8vw,38px)
    0
    10px!important;
}

.md-generated-page .markdown-flow h1:first-child,
.md-generated-page .markdown-flow h2:first-child,
.md-generated-page .markdown-flow h3:first-child,
.md-generated-page .markdown-flow h4:first-child,
.home-main.md-generated-page .home-free-flow h1:first-child,
.home-main.md-generated-page .home-free-flow h2:first-child,
.home-main.md-generated-page .home-free-flow h3:first-child,
.home-main.md-generated-page .home-free-flow h4:first-child{
  margin-top:0!important;
}


/* ==================================================
   HOME: CITA INICIAL
   El H1 utiliza realmente la escala H1 común.
   ================================================== */

.home-main.md-generated-page
.home-free-hero
.home-free-flow > h1{
  width:100%!important;
  max-width:none!important;
  font-size:var(--md-h1-size)!important;
  line-height:var(--md-h1-leading)!important;
}


/* ==================================================
   HOME: CONTENIDO POSTERIOR AL CARRUSEL
   Aprovecha todo el ancho interior disponible.
   ================================================== */

.home-main.md-generated-page
.home-free-content
.home-about-inner,

.home-main.md-generated-page
.home-free-content
.home-free-flow{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.home-main.md-generated-page
.home-free-content
.home-free-flow > p,

.home-main.md-generated-page
.home-free-content
.home-free-flow > h1,

.home-main.md-generated-page
.home-free-content
.home-free-flow > h2,

.home-main.md-generated-page
.home-free-content
.home-free-flow > h3,

.home-main.md-generated-page
.home-free-content
.home-free-flow > h4{
  width:100%!important;
  max-width:none!important;
}


/* ==================================================
   MÓVIL
   ================================================== */

@media(max-width:820px){

  :root{
    --md-h1-size:clamp(38px,11vw,50px);
    --md-h2-size:clamp(29px,8.5vw,38px);
    --md-h3-size:clamp(23px,7vw,30px);
    --md-h4-size:12px;
    --md-body-size:16px;
  }

}

/* === EP JERARQUIA TIPOGRAFICA UNIFICADA — FIN === */

/* === EP CARRUSEL MEDIA Y EVENTOS 20260728 — INICIO === */

/*
  Segundo carrusel de la Home.
  Utiliza las imágenes de contenido/home/media.
*/

.home-media-showcase{
  position:relative!important;
  width:100%!important;
  overflow:hidden!important;

  border-top:1px solid #111!important;
  border-bottom:1px solid #111!important;

  background:#fff!important;

  padding:
    clamp(24px,3.2vw,50px)
    0!important;
}

.home-media-marquee{
  width:100%!important;

  overflow-x:auto!important;
  overflow-y:hidden!important;

  scrollbar-width:none!important;
  overscroll-behavior-x:none!important;

  cursor:grab!important;
}

.home-media-marquee::-webkit-scrollbar{
  display:none!important;
}

.home-media-marquee.is-dragging{
  cursor:grabbing!important;
}

.home-media-track{
  --home-media-gap:clamp(48px,6vw,118px);

  display:flex!important;
  align-items:center!important;

  width:max-content!important;
  min-width:max-content!important;

  gap:var(--home-media-gap)!important;

  padding:
    0
    var(--pad)!important;
}

.home-media-set{
  display:flex!important;
  align-items:center!important;

  flex:0 0 auto!important;

  gap:var(--home-media-gap)!important;
}

.home-media-item{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  flex:0 0 auto!important;

  width:max-content!important;
  max-width:min(66vw,620px)!important;

  height:clamp(64px,7vw,112px)!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  background:transparent!important;

  user-select:none!important;
}

.home-media-item img{
  display:block!important;

  width:auto!important;
  max-width:100%!important;

  height:100%!important;
  max-height:100%!important;

  object-fit:contain!important;
  object-position:center!important;

  border:0!important;
  background:transparent!important;

  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

.home-free-content-after-media{
  border-top:0!important;
}

@media(max-width:820px){

  .home-media-track{
    --home-media-gap:42px;

    padding:
      0
      18px!important;
  }

  .home-media-item{
    max-width:78vw!important;

    height:
      clamp(56px,16vw,88px)!important;
  }

}

@media(prefers-reduced-motion:reduce){

  .home-media-marquee{
    scroll-behavior:auto!important;
  }

}

/* === EP CARRUSEL MEDIA Y EVENTOS 20260728 — FIN === */

/* === EP AJUSTE CARRUSEL LOGOS — INICIO === */

/*
  Ajustes exclusivos de <!-- CARRUSEL MEDIA -->:
  - blanco y negro;
  - menor altura;
  - espacios de logo normalizados;
  - sin línea inferior;
  - título inmediatamente encima.
*/


/* --------------------------------------------------
   ACERCAR «ENTIDADES COLABORADORAS» AL CARRUSEL
   -------------------------------------------------- */

.home-free-content:has(+ .home-media-showcase){
  padding-bottom:12px!important;
}

.home-free-content:has(+ .home-media-showcase)
.home-free-flow > h4:last-child{
  margin-bottom:0!important;
}


/* --------------------------------------------------
   CARRUSEL MÁS BAJO
   -------------------------------------------------- */

.home-media-showcase{
  min-height:0!important;

  padding:
    clamp(15px,1.6vw,22px)
    0!important;

  border-bottom:0!important;
}


/* --------------------------------------------------
   DISTANCIA ENTRE LOGOS
   -------------------------------------------------- */

.home-media-track{
  --home-media-gap:clamp(26px,3vw,54px);

  gap:var(--home-media-gap)!important;
}

.home-media-set{
  gap:var(--home-media-gap)!important;
}


/* --------------------------------------------------
   NORMALIZACIÓN DEL ESPACIO DE CADA LOGO
   Todos ocupan una caja equivalente.
   -------------------------------------------------- */

.home-media-item{
  flex:0 0 auto!important;

  width:clamp(180px,16vw,270px)!important;
  max-width:none!important;

  height:clamp(46px,4.5vw,66px)!important;
  max-height:none!important;

  padding:0 8px!important;

  margin:0!important;
}


/* --------------------------------------------------
   LOGOS SIEMPRE EN BLANCO Y NEGRO
   -------------------------------------------------- */

.home-media-item img{
  display:block!important;

  width:100%!important;
  max-width:100%!important;

  height:100%!important;
  max-height:100%!important;

  object-fit:contain!important;
  object-position:center!important;

  filter:
    grayscale(1)
    saturate(0)
    contrast(1.08)!important;
}


/* --------------------------------------------------
   MÓVIL
   -------------------------------------------------- */

@media(max-width:820px){

  .home-free-content:has(+ .home-media-showcase){
    padding-bottom:10px!important;
  }

  .home-media-showcase{
    padding:
      13px
      0!important;
  }

  .home-media-track{
    --home-media-gap:24px;

    padding:
      0
      18px!important;
  }

  .home-media-item{
    width:180px!important;
    height:48px!important;

    padding:
      0
      6px!important;
  }

}

/* === EP AJUSTE CARRUSEL LOGOS — FIN === */

/* === EP AJUSTE FINO CARRUSEL LOGOS — INICIO === */

/* --------------------------------------------------
   MENOS DISTANCIA ENTRE EL TEXTO Y EL CARRUSEL
   -------------------------------------------------- */

.home-free-content:has(+ .home-media-showcase){
  padding-top:0!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}

.home-free-content:has(+ .home-media-showcase)
.home-about-inner,
.home-free-content:has(+ .home-media-showcase)
.home-free-flow{
  padding-bottom:0!important;
  margin-bottom:0!important;
}

.home-free-content:has(+ .home-media-showcase)
.home-free-flow > *:last-child{
  margin-bottom:2px!important;
}

.home-free-content:has(+ .home-media-showcase)
.home-free-flow > h4:last-child{
  margin-top:0!important;
  margin-bottom:2px!important;
  line-height:1.25!important;
}


/* --------------------------------------------------
   CARRUSEL MÁS BAJO Y MÁS LIMPIO
   -------------------------------------------------- */

.home-media-showcase{
  min-height:0!important;
  padding:8px 0 8px!important;
  border-bottom:0!important;
}


/* --------------------------------------------------
   MÁS AIRE ENTRE LOGOS
   -------------------------------------------------- */

.home-media-track{
  --home-media-gap:clamp(40px,4.8vw,88px)!important;
  gap:var(--home-media-gap)!important;
  align-items:center!important;
}

.home-media-set{
  gap:var(--home-media-gap)!important;
  align-items:center!important;
}


/* --------------------------------------------------
   TODOS LOS LOGOS CON LA MISMA ALTURA VISUAL
   Quitamos la caja fija de ancho que hacía pequeño
   el logo del Ministerio.
   -------------------------------------------------- */

.home-media-item{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  height:clamp(38px,3.25vw,52px)!important;
  max-height:none!important;
  padding:0 10px!important;
  margin:0!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.home-media-item img{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  height:100%!important;
  max-height:100%!important;

  object-fit:contain!important;
  object-position:center!important;

  filter:grayscale(1) saturate(0) contrast(1.08)!important;
}

/* Si algún logo muy horizontal se descontrola */
.home-media-item img{
  min-height:100%!important;
}


/* --------------------------------------------------
   MÓVIL
   -------------------------------------------------- */

@media(max-width:820px){

  .home-free-content:has(+ .home-media-showcase){
    padding-bottom:0!important;
  }

  .home-free-content:has(+ .home-media-showcase)
  .home-free-flow > *:last-child{
    margin-bottom:2px!important;
  }

  .home-media-showcase{
    padding:8px 0 8px!important;
  }

  .home-media-track{
    --home-media-gap:28px!important;
    padding:0 18px!important;
  }

  .home-media-item{
    height:40px!important;
    padding:0 8px!important;
  }
}

/* === EP AJUSTE FINO CARRUSEL LOGOS — FIN === */

/* === EP CARRUSEL MEDIA FULL BLEED — INICIO === */

/*
  En todas las páginas normales, CARRUSEL MEDIA abandona
  la columna de texto y el padding de .page.

  Resultado:
  borde izquierdo = borde izquierdo de la ventana;
  borde derecho = borde derecho de la ventana.
*/

main.page.md-generated-page{
  overflow-x:clip!important;
}

main.page.md-generated-page .page-layout,
main.page.md-generated-page .page-main,
main.page.md-generated-page .page-content,
main.page.md-generated-page .markdown-flow{
  overflow:visible!important;
}

main.page.md-generated-page .home-media-showcase{
  box-sizing:border-box!important;

  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;

  width:100vw!important;
  min-width:100vw!important;
  max-width:100vw!important;

  margin-left:calc(-1 * var(--pad))!important;
  margin-right:0!important;

  transform:none!important;
  translate:none!important;

  overflow:hidden!important;
}

main.page.md-generated-page
.home-media-showcase
.home-media-marquee{
  width:100%!important;
  max-width:none!important;
}

/*
  La Home no utiliza main.page, por lo que conserva
  exactamente su configuración actual.
*/

/* === EP CARRUSEL MEDIA FULL BLEED — FIN === */

/* === EP DISTANCIA CARRUSEL MEDIA PAGINAS — INICIO === */

/*
  Iguala la separación vertical previa al CARRUSEL MEDIA
  de las páginas normales con la separación de la Home.

  No modifica la Home.
*/

main.page.md-generated-page
.markdown-flow:has(+ .home-media-showcase){
  margin-bottom:0!important;
  padding-bottom:12px!important;
}

main.page.md-generated-page
.markdown-flow:has(+ .home-media-showcase) > *:last-child{
  margin-bottom:0!important;
}

main.page.md-generated-page
.markdown-flow:has(+ .home-media-showcase) > h4:last-child{
  margin-bottom:0!important;
}

main.page.md-generated-page
.markdown-flow + .home-media-showcase{
  margin-top:0!important;
}


/* Móvil: misma proporción de separación. */

@media(max-width:820px){

  main.page.md-generated-page
  .markdown-flow:has(+ .home-media-showcase){
    padding-bottom:10px!important;
  }

}

/* === EP DISTANCIA CARRUSEL MEDIA PAGINAS — FIN === */

/* === EP REDUCIR ESPACIO BAJO CARRUSEL — INICIO === */

/*
  En páginas normales con CARRUSEL MEDIA, el main no debe
  estirarse para completar la altura de la ventana.
  La Home no utiliza main.page y no queda afectada.
*/

main.page.md-generated-page:has(.home-media-showcase){
  flex:0 0 auto!important;
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}

main.page.md-generated-page:has(.home-media-showcase)
.page-layout,

main.page.md-generated-page:has(.home-media-showcase)
.page-main,

main.page.md-generated-page:has(.home-media-showcase)
.page-content{
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}


/* El carrusel termina inmediatamente después de los logos. */

main.page.md-generated-page
.home-media-showcase{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:8px!important;
}

main.page.md-generated-page
.home-media-marquee,

main.page.md-generated-page
.home-media-track,

main.page.md-generated-page
.home-media-set{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}


/* El footer comienza justo después del contenido. */

main.page.md-generated-page:has(.home-media-showcase)
+ .site-footer{
  margin-top:0!important;
}

/* === EP REDUCIR ESPACIO BAJO CARRUSEL — FIN === */

/* === EP VIDEO URL RESPONSIVE — INICIO === */

/*
  URL de YouTube o Vimeo colocada sola en una línea
  dentro de cualquier Markdown.
*/

.markdown-video-embed{
  display:block!important;

  width:100%!important;
  max-width:none!important;

  margin:
    clamp(28px,3.5vw,54px)
    0!important;

  padding:0!important;
}

.markdown-video-frame{
  position:relative!important;

  display:block!important;

  width:100%!important;
  max-width:none!important;

  aspect-ratio:16 / 9!important;

  overflow:hidden!important;
  background:#000!important;
}

.markdown-video-frame iframe{
  position:absolute!important;
  inset:0!important;

  display:block!important;

  width:100%!important;
  height:100%!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  background:#000!important;
}

@media(max-width:820px){

  .markdown-video-embed{
    margin:
      24px
      0!important;
  }

}

/* === EP VIDEO URL RESPONSIVE — FIN === */

/* === EP CARDS ESTILO ORIGINAL — INICIO === */

/*
  Estilo común de las tarjetas generadas mediante:

      <!-- CARDS -->

  Estas variables permiten personalizar después el aspecto
  sin modificar el generador.
*/

:root{
  --ep-card-image-ratio:4 / 3;

  --ep-card-gap-horizontal:
    clamp(24px,3vw,50px);

  --ep-card-gap-vertical:
    clamp(48px,6vw,88px);

  --ep-card-title-size:
    clamp(20px,1.8vw,28px);

  --ep-card-copy-size:
    clamp(15px,1.1vw,18px);

  --ep-card-kicker-size:11px;
}


/* ==================================================
   SECCIÓN Y CUADRÍCULA
   ================================================== */

.md-generated-page .cards-section{
  display:block!important;

  width:100%!important;
  max-width:none!important;

  margin:
    clamp(26px,3vw,44px)
    0
    0!important;

  padding:12px 0 0!important;

  border:0!important;
}

.md-generated-page .cards-section .card-grid{
  display:grid!important;

  grid-template-columns:
    repeat(2,minmax(0,1fr))!important;

  column-gap:
    var(--ep-card-gap-horizontal)!important;

  row-gap:
    var(--ep-card-gap-vertical)!important;

  align-items:start!important;

  width:100%!important;
  max-width:none!important;
}


/* ==================================================
   TARJETA
   ================================================== */

.md-generated-page .cards-section .card{
  display:block!important;

  min-width:0!important;
  min-height:0!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  background:transparent!important;
}


/* ==================================================
   IMAGEN
   ================================================== */

.md-generated-page .cards-section .card-image{
  position:relative!important;
  display:block!important;

  width:100%!important;
  height:auto!important;

  aspect-ratio:
    var(--ep-card-image-ratio)!important;

  margin:0!important;
  padding:0!important;

  overflow:hidden!important;

  border:1px solid var(--line)!important;
  background:#fff!important;
}

.md-generated-page .cards-section .card-image img{
  position:absolute!important;
  inset:0!important;

  display:block!important;

  width:100%!important;
  height:100%!important;

  min-width:100%!important;
  min-height:100%!important;

  max-width:none!important;
  max-height:none!important;

  object-fit:cover!important;
  object-position:center!important;

  border:0!important;
  background:#fff!important;

  transform:none!important;
}

.md-generated-page .cards-section .card-image:hover img{
  transform:none!important;
}


/* ==================================================
   CONTENIDO
   Elimina el gran espacio entre rótulo y título.
   ================================================== */

.md-generated-page .cards-section .card-copy{
  display:block!important;

  min-height:0!important;
  height:auto!important;

  margin:0!important;
  padding:0!important;

  grid-template-columns:none!important;
  grid-template-rows:none!important;
}


/* Tipo: «Programa de escuchas compartidas», etc. */

.md-generated-page .cards-section .card-kicker{
  display:block!important;

  min-height:0!important;

  margin:8px 0 8px!important;
  padding:0!important;

  font-family:var(--font-ui)!important;
  font-size:var(--ep-card-kicker-size)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.35!important;

  text-transform:uppercase!important;
  letter-spacing:.045em!important;

  color:var(--muted)!important;
}


/* Título */

.md-generated-page .cards-section .card h2{
  display:block!important;

  min-height:0!important;

  margin:0!important;
  padding:0!important;

  font-family:var(--font-title)!important;
  font-size:var(--ep-card-title-size)!important;
  font-weight:500!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;

  text-transform:none!important;
}

.md-generated-page .cards-section .card h2 a{
  color:var(--red)!important;
  text-decoration:none!important;
}

.md-generated-page .cards-section .card h2 a:hover,
.md-generated-page .cards-section .card h2 a:focus-visible{
  color:var(--red)!important;

  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:.12em!important;
}


/* Descripción */

.md-generated-page
.cards-section
.card-copy > p:not(.card-kicker){
  min-height:0!important;

  margin:14px 0 0!important;
  padding:0!important;

  font-family:var(--font-text)!important;
  font-size:var(--ep-card-copy-size)!important;
  font-weight:400!important;
  line-height:1.45!important;

  color:var(--ink)!important;
}


/*
  Las cursivas escritas expresamente en Markdown continúan
  funcionando. No se elimina la personalización del contenido.
*/

.md-generated-page
.cards-section
.card-copy > p:not(.card-kicker) em{
  font-style:italic!important;
}


/* ==================================================
   MÓVIL
   ================================================== */

@media(max-width:820px){

  .md-generated-page .cards-section .card-grid{
    grid-template-columns:1fr!important;

    column-gap:0!important;
    row-gap:50px!important;
  }

  .md-generated-page .cards-section .card-kicker{
    margin-top:8px!important;
  }

  .md-generated-page .cards-section .card h2{
    font-size:28px!important;
  }

  .md-generated-page
  .cards-section
  .card-copy > p:not(.card-kicker){
    font-size:16px!important;
  }

}

/* === EP CARDS ESTILO ORIGINAL — FIN === */

/* === EP VIMEO PLAYER PROPIO — INICIO === */

/*
  Vimeo conserva el alojamiento y el streaming.
  La interfaz visible reutiliza el player minimalista
  ya existente en Escucha Paliativa.
*/

.ep-vimeo-player{
  display:block;
  width:100%;
  max-width:none;
  overflow:hidden;
  background:#000;
}

.ep-vimeo-stage-shell{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#000;
}

.ep-vimeo-stage,
.ep-vimeo-stage > div,
.ep-vimeo-stage iframe{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.ep-vimeo-surface-toggle{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.ep-vimeo-surface-toggle:focus-visible{
  outline:1px solid #fff;
  outline-offset:-4px;
}

.ep-vimeo-player .minimal-player-controls{
  position:relative;
  z-index:3;
}

.ep-vimeo-player:not(.is-ready) .minimal-player-controls{
  opacity:.55;
  pointer-events:none;
}

.ep-vimeo-status{
  position:absolute;
  inset:0;
  z-index:4;
  display:none;
  align-items:center;
  justify-content:center;
  padding:2rem;
  background:#000;
  color:#fff;
  font-family:var(--font-ui);
  font-size:.82rem;
  line-height:1.4;
  text-align:center;
}

.ep-vimeo-player.has-error .ep-vimeo-status{
  display:flex;
}

.ep-vimeo-figure,
.ep-vimeo-section{
  width:100%;
  max-width:none;
}

.ep-vimeo-player:fullscreen{
  display:flex;
  flex-direction:column;
  width:100vw;
  height:100vh;
  background:#000;
}

.ep-vimeo-player:fullscreen .ep-vimeo-stage-shell{
  flex:1 1 auto;
  min-height:0;
  aspect-ratio:auto;
}

.ep-vimeo-player:fullscreen .minimal-player-controls{
  flex:0 0 auto;
}

/* === EP VIMEO PLAYER PROPIO — FIN === */

/* === EP MARKDOWN IMAGENES FULL WIDTH — INICIO === */

/*
  Las imágenes escritas en index.md se generan como:
  figure.markdown-image > img
*/

.page-content .markdown-flow {
  width: 100% !important;
  max-width: none !important;
}

.page-content figure.markdown-image,
.page-content .markdown-flow > figure.markdown-image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.page-content figure.markdown-image > img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

/* === EP MARKDOWN IMAGENES FULL WIDTH — FIN === */

/* === EP PLAYER LOCAL PROPORCION REAL — INICIO === */

/*
  Los vídeos locales utilizan su proporción real.
  No se fuerza 16:9 y desaparecen las bandas negras
  añadidas por el marco del reproductor.
*/

.ep-local-video-player,
.media-stack-vertical .ep-local-video-player,
.page-with-aside .page-aside .ep-local-video-player,
.md-generated-page .page-aside
.aside-video-stack .ep-local-video-player{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  box-sizing:border-box!important;
}

.ep-local-video-player video,
.media-stack-vertical
.ep-local-video-player video,
.page-with-aside .page-aside
.ep-local-video-player video,
.md-generated-page .page-aside
.aside-video-stack
.ep-local-video-player video{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}

/* En posición down ocupa todo el ancho del cuerpo. */
.media-stack-vertical,
.media-stack-vertical
.ep-local-video-player{
  width:100%!important;
  max-width:none!important;
}

/* En posición aside ocupa todo el ancho de su columna. */
.page-aside .aside-video-stack,
.page-aside .aside-video-stack
.ep-local-video-player{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Mantener visibles todos los controles propios. */
.ep-local-video-player
.minimal-player-controls{
  display:grid!important;
}

.ep-local-video-player
.media-volume{
  display:grid!important;
}

/* Ocultar cualquier resto de controles nativos WebKit. */
.ep-local-video-player video::-webkit-media-controls,
.ep-local-video-player
video::-webkit-media-controls-enclosure{
  display:none!important;
  opacity:0!important;
}

/* Pantalla completa: aquí sí se usa fondo negro. */
.ep-local-video-player:fullscreen{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100vh!important;
  background:#000!important;
}

.ep-local-video-player:fullscreen video{
  width:100%!important;
  height:100%!important;
  max-height:100vh!important;
  object-fit:contain!important;
  background:#000!important;
}

/* === EP PLAYER LOCAL PROPORCION REAL — FIN === */

/* === EP MENU MOVIL PANTALLA COMPLETA — INICIO === */

@media (min-width:1051px){
  .mobile-menu-item,
  .mobile-menu-row{
    display:contents;
  }

  .mobile-menu-accordion,
  .mobile-menu-submenu{
    display:none!important;
  }
}

@media (max-width:1050px){
  html.mobile-menu-open,
  body.mobile-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none;
  }

  .home-header.is-mobile-open{
    position:fixed!important;
    inset:0!important;
    z-index:10000!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100vh!important;
    padding:0 18px!important;
    overflow:hidden!important;
    background:#fff!important;
    color:var(--ink)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .home-header.is-mobile-open .home-nav{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    padding:0!important;
    border:0!important;
    align-items:flex-start!important;
    align-content:flex-start!important;
    flex-wrap:nowrap!important;
    background:#fff!important;
  }

  .home-header.is-mobile-open .home-logo{
    position:absolute!important;
    z-index:3!important;
    top:22px!important;
    left:0!important;
    display:block!important;
    max-width:calc(100% - 120px)!important;
    margin:0!important;
    padding:0!important;
    color:var(--ink)!important;
    font-family:var(--font-text)!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:-.02em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }

  .home-header.is-mobile-open .home-mobile-menu{
    position:absolute!important;
    z-index:4!important;
    top:18px!important;
    right:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    width:auto!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    font-family:var(--font-text)!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
  }

  .home-header.is-mobile-open
  .home-mobile-menu::after{
    content:'×';
    display:block;
    font-family:Arial,sans-serif;
    font-size:27px;
    font-weight:300;
    line-height:.8;
  }

  .home-header.is-mobile-open .home-languages{
    display:none!important;
  }

  .home-header.is-mobile-open .home-links{
    position:absolute!important;
    z-index:2!important;
    inset:66px 0 0!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0 0 36px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    border-top:1px solid var(--ink)!important;
    background:#fff!important;
    color:var(--ink)!important;
    scrollbar-width:thin;
  }

  .home-header.is-mobile-open
  .mobile-menu-item{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid var(--line)!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    width:100%!important;
    min-height:62px!important;
    margin:0!important;
    padding:0!important;
    align-items:stretch!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-row-direct{
    grid-template-columns:1fr!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-primary-link{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:19px 0!important;
    color:var(--ink)!important;
    font-family:var(--font-text)!important;
    font-size:clamp(15px,4.2vw,18px)!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-primary-link.is-active,
  .home-header.is-mobile-open
  .mobile-menu-primary-link[aria-current='page']{
    color:var(--red)!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-accordion{
    position:relative!important;
    display:block!important;
    width:46px!important;
    min-width:46px!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    cursor:pointer!important;
    appearance:none!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-accordion::before,
  .home-header.is-mobile-open
  .mobile-menu-accordion::after{
    content:''!important;
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    width:17px!important;
    height:1px!important;
    background:currentColor!important;
    transform:translate(-50%,-50%)!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-accordion::after{
    transform:translate(-50%,-50%) rotate(90deg)!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-accordion::after{
    opacity:0!important;
    transform:translate(-50%,-50%) rotate(0)!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-accordion{
    color:var(--red)!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-submenu{
    display:block!important;
    width:100%!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:max-height .28s ease,opacity .2s ease,padding .25s ease!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-submenu{
    max-height:70vh!important;
    padding:0 0 17px!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-sub-link{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:7px 46px 7px 22px!important;
    color:var(--ink)!important;
    font-family:var(--font-text)!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.45!important;
    letter-spacing:-.02em!important;
    text-transform:none!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-sub-link:hover,
  .home-header.is-mobile-open
  .mobile-menu-sub-link:focus-visible,
  .home-header.is-mobile-open
  .mobile-menu-sub-link.is-current{
    color:var(--red)!important;
    outline:none!important;
  }
}

/* === EP MENU MOVIL PANTALLA COMPLETA — FIN === */

/* === EP HEADER MOVIL STICKY — INICIO === */

@media (max-width:1050px){

  /*
    El header cerrado permanece visible durante el scroll.
    Al abrir el menú, conserva el modo fijo a pantalla completa.
  */

  .home-header:not(.is-mobile-open){
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    z-index:9990!important;
    width:100%!important;
    background:#fff!important;
  }

  .home-header:not(.is-mobile-open) .home-nav{
    background:#fff!important;
  }
}

/* === EP HEADER MOVIL STICKY — FIN === */

/* === EP AJUSTE MENU Y CRONOLOGIA MOVIL — INICIO === */

@media (max-width:1050px){

  /*
    SUBMENÚ MÓVIL
    Más grande, alineado con los títulos principales
    y con un despliegue más fluido.
  */

  .home-header.is-mobile-open
  .mobile-menu-submenu{
    display:block!important;
    width:100%!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    text-align:left!important;
    transform:translateY(-8px)!important;
    transition:
      max-height .48s cubic-bezier(.22,1,.36,1),
      opacity .28s ease,
      transform .4s cubic-bezier(.22,1,.36,1),
      padding .4s cubic-bezier(.22,1,.36,1)!important;
    will-change:max-height,opacity,transform;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-submenu{
    max-height:70vh!important;
    padding:0 0 20px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-sub-link{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:9px 46px 9px 0!important;
    color:var(--ink)!important;
    font-family:var(--font-text)!important;
    font-size:clamp(16px,4.6vw,18px)!important;
    font-weight:400!important;
    line-height:1.35!important;
    letter-spacing:-.02em!important;
    text-align:left!important;
    text-transform:none!important;
    opacity:1!important;
    transform:none!important;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-sub-link{
    animation:ep-mobile-sub-link-in .42s
      cubic-bezier(.22,1,.36,1) both;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-sub-link:nth-child(2){
    animation-delay:.025s;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-sub-link:nth-child(3){
    animation-delay:.05s;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-sub-link:nth-child(4){
    animation-delay:.075s;
  }

  .home-header.is-mobile-open
  .mobile-menu-item.is-open
  .mobile-menu-sub-link:nth-child(5){
    animation-delay:.1s;
  }

  .home-header.is-mobile-open
  .mobile-menu-accordion::before,
  .home-header.is-mobile-open
  .mobile-menu-accordion::after{
    transition:
      transform .32s cubic-bezier(.22,1,.36,1),
      opacity .24s ease!important;
  }
}


/*
  CRONOLOGÍA EN MÓVIL
  Reduce la columna reservada para el año
  y acerca el texto sin cambiar su contenido.
*/

@media (max-width:768px){

  .chronology-section .timeline-item{
    display:grid!important;
    grid-template-columns:
      minmax(88px,24vw)
      minmax(0,1fr)!important;
    column-gap:clamp(14px,4vw,24px)!important;
    row-gap:0!important;
    align-items:start!important;
  }

  .chronology-section
  .timeline-item > time{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .chronology-section
  .timeline-item > div{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
  }
}


@keyframes ep-mobile-sub-link-in{
  from{
    opacity:0;
    transform:translateY(-5px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}


@media (prefers-reduced-motion:reduce){

  .home-header.is-mobile-open
  .mobile-menu-submenu,
  .home-header.is-mobile-open
  .mobile-menu-sub-link,
  .home-header.is-mobile-open
  .mobile-menu-accordion::before,
  .home-header.is-mobile-open
  .mobile-menu-accordion::after{
    animation:none!important;
    transition:none!important;
  }
}

/* === EP AJUSTE MENU Y CRONOLOGIA MOVIL — FIN === */

/* === EP X MINIMAL MENU MOVIL — INICIO === */

@media (max-width:1050px){

  /* Oculta la X anterior si existe como texto/icono */
  .mobile-menu-close .icon-close,
  .mobile-menu-close .menu-close-icon,
  .mobile-menu-close .close-icon,
  .mobile-menu-close svg{
    display:none!important;
  }

  .mobile-menu-close{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:0!important;
    line-height:0!important;
  }

  .mobile-menu-close::before,
  .mobile-menu-close::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:20px!important;
    height:1.5px!important;
    background:currentColor!important;
    transform-origin:center center!important;
    border-radius:2px!important;
  }

  .mobile-menu-close::before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
  }

  .mobile-menu-close::after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }
}

/* === EP X MINIMAL MENU MOVIL — FIN === */

/* === EP ICONO MENU MOVIL FINO — INICIO === */

@media (max-width:1050px){

  /*
    ESCUCHA PALIATIVA:
    mismo tamaño con el menú abierto o cerrado,
    ligeramente mayor que los apartados.
  */

  .home-header .home-logo,
  .home-header.is-mobile-open .home-logo{
    font-size:20px!important;
    font-weight:500!important;
    line-height:1.1!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }

  /*
    Apartados principales del menú:
    un poco menores que el nombre de la web.
  */

  .home-header.is-mobile-open
  .mobile-menu-primary-link{
    font-size:18px!important;
    line-height:1.2!important;
    letter-spacing:.04em!important;
  }

  /*
    BOTÓN CERRADO:
    oculta la palabra MENÚ y muestra tres líneas
    rojas de un píxel.
  */

  .home-header:not(.is-mobile-open)
  .home-mobile-menu{
    position:relative!important;
    display:block!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    margin-left:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--red)!important;
    font-size:0!important;
    line-height:0!important;
    overflow:visible!important;
  }

  .home-header:not(.is-mobile-open)
  .home-mobile-menu::before{
    content:""!important;
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    width:24px!important;
    height:1px!important;
    background:var(--red)!important;
    box-shadow:
      0 -6px 0 var(--red),
      0 6px 0 var(--red)!important;
    transform:translate(-50%,-50%)!important;
  }

  .home-header:not(.is-mobile-open)
  .home-mobile-menu::after{
    content:none!important;
  }

  /*
    BOTÓN ABIERTO:
    oculta la palabra CERRAR y deja una X fina,
    roja y construida con dos líneas de un píxel.
  */

  .home-header.is-mobile-open
  .home-mobile-menu{
    position:absolute!important;
    top:17px!important;
    right:0!important;
    display:block!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--red)!important;
    font-size:0!important;
    line-height:0!important;
    overflow:visible!important;
  }

  .home-header.is-mobile-open
  .home-mobile-menu::before,
  .home-header.is-mobile-open
  .home-mobile-menu::after{
    content:""!important;
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    width:23px!important;
    height:1px!important;
    border:0!important;
    border-radius:0!important;
    background:var(--red)!important;
    box-shadow:none!important;
    transform-origin:center!important;
  }

  .home-header.is-mobile-open
  .home-mobile-menu::before{
    transform:
      translate(-50%,-50%)
      rotate(45deg)!important;
  }

  .home-header.is-mobile-open
  .home-mobile-menu::after{
    transform:
      translate(-50%,-50%)
      rotate(-45deg)!important;
  }

  /*
    Mantiene el nombre de la web exactamente
    en la misma posición al abrir el menú.
  */

  .home-header.is-mobile-open .home-logo{
    top:22px!important;
    left:0!important;
    max-width:calc(100% - 58px)!important;
  }
}

/* === EP ICONO MENU MOVIL FINO — FIN === */

/* === EP VIMEO NATIVO VISIBLE — INICIO === */

/*
  Vimeo se inserta como un único iframe nativo.
  Se eliminan la superficie opaca y los controles duplicados
  para que la imagen del vídeo permanezca siempre visible.
*/
.ep-vimeo-native .ep-vimeo-stage-shell{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16 / 9!important;
  overflow:hidden!important;
  background:#000!important;
}

.ep-vimeo-native .ep-vimeo-stage,
.ep-vimeo-native .ep-vimeo-stage iframe{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#000!important;
}

.ep-vimeo-native .ep-vimeo-surface-toggle,
.ep-vimeo-native .minimal-player-controls{
  display:none!important;
}

.ep-vimeo-native .ep-vimeo-status{
  pointer-events:none!important;
}

/* === EP VIMEO NATIVO VISIBLE — FIN === */

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.skip-link{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.skip-link:focus{
  position:fixed!important;
  top:12px!important;
  left:12px!important;
  z-index:9999!important;
  width:auto!important;
  height:auto!important;
  padding:.7em 1.1em!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:normal!important;
  background:var(--ink)!important;
  color:var(--bg)!important;
  border-radius:4px;
  font-family:var(--sans);
  font-size:14px;
  text-decoration:none;
}
