/* ========================================================================== 
   GROUNDLESS — biblioteca.css v2.5.3 limpio
   Scope: /biblioteca landing + article template
   Objetivo: Biblioteca navegable, premium, sin parches acumulados.
   ========================================================================== */

/* -------------------------------------------------------------------------- */
/* Tokens                                                                      */
/* -------------------------------------------------------------------------- */

body[data-page^="biblioteca"]{
  --bib-bg: var(--gl-bg, #081406);
  --bib-fg: var(--gl-fg, #e8ddcc);
  --bib-fg-dim: var(--gl-fg-dim, rgba(232,221,204,.72));
  --bib-fg-soft: var(--gl-fg-soft, rgba(232,221,204,.52));
  --bib-accent: var(--gl-accent-strong, #93a85f);

  --bib-s0: var(--gl-surface-0, rgba(8,20,6,.72));
  --bib-s1: var(--gl-surface-1, rgba(67,81,2,.22));
  --bib-s2: var(--gl-surface-2, rgba(147,168,95,.12));
  --bib-s3: var(--gl-surface-3, rgba(147,168,95,.18));

  --bib-b1: var(--gl-border-1, rgba(232,221,204,.10));
  --bib-b2: color-mix(in oklab, var(--bib-accent) 22%, transparent);
  --bib-b3: color-mix(in oklab, var(--bib-accent) 40%, transparent);

  --bib-shadow: 0 24px 70px rgba(0,0,0,.24);
  --bib-card-bg: linear-gradient(
    145deg,
    color-mix(in oklab, var(--bib-s2) 62%, transparent),
    color-mix(in oklab, var(--bib-s0) 82%, transparent)
  );
  --bib-card-bg-soft: linear-gradient(
    145deg,
    color-mix(in oklab, var(--bib-s1) 58%, transparent),
    color-mix(in oklab, var(--bib-s0) 82%, transparent)
  );
}

body[data-page^="biblioteca"] .container{ overflow: visible; }

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

/* -------------------------------------------------------------------------- */
/* LANDING — shell                                                             */
/* -------------------------------------------------------------------------- */

.gl-bib-landing{
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px) 0 112px;
  color: var(--bib-fg);
}

.gl-bib-landing--v4{
  position: relative;
  isolation: isolate;
}

.gl-bib-landing--v4::before{
  content:"";
  position:absolute;
  inset: -80px -8vw auto;
  height: 420px;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 18%, color-mix(in oklab, var(--bib-accent) 13%, transparent), transparent 38%),
    radial-gradient(circle at 16% 26%, color-mix(in oklab, var(--bib-accent) 10%, transparent), transparent 34%),
    radial-gradient(circle at 82% 14%, color-mix(in oklab, var(--bib-accent) 8%, transparent), transparent 40%);
  opacity:.84;
}

.gl-bib-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--bib-b1);
  background: color-mix(in oklab, var(--bib-s0) 44%, transparent);
  color: var(--bib-fg-dim);
  font-size: 12px;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 850;
}

/* -------------------------------------------------------------------------- */
/* LANDING — hero canónico centrado                                            */
/* -------------------------------------------------------------------------- */

.gl-bib-hero--canonical{
  display:block;
  position:relative;
  width: min(1080px, 100%);
  margin: 0 auto clamp(44px, 6vw, 72px);
  padding: clamp(54px, 7vw, 92px) 0 clamp(34px, 5vw, 58px);
  min-height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  text-align:center;
}

.gl-bib-hero--canonical::before{
  content:"";
  position:absolute;
  inset:-92px -10vw auto;
  height:520px;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 18%, color-mix(in oklab, var(--bib-accent) 12%, transparent), transparent 38%),
    radial-gradient(circle at 50% 72%, color-mix(in oklab, var(--bib-accent) 7%, transparent), transparent 46%);
  opacity:.9;
}

.gl-bib-hero--canonical::after{ display:none; }

.gl-bib-hero--canonical .gl-bib-hero__copy{
  max-width:none;
  margin:0 auto;
}

.gl-bib-hero--canonical .gl-bib-kicker{ margin-inline:auto; }

.gl-bib-hero--canonical h1{
  max-width: 880px;
  margin: clamp(18px, 2vw, 24px) auto 0;
  color: var(--bib-fg);
  font-size: clamp(48px, 6.5vw, 92px);
  line-height:.92;
  letter-spacing:-.064em;
  font-weight:800;
  text-wrap: balance;
}

.gl-bib-hero--canonical > .gl-bib-hero__copy > p{
  max-width: 820px;
  margin: clamp(22px, 3vw, 30px) auto 0;
  color: var(--bib-fg-dim);
  font-size: clamp(17px, 1.55vw, 22px);
  line-height:1.58;
  font-weight:580;
  text-align:center;
}

.gl-bib-hero-note{
  width: min(860px, 100%);
  margin: clamp(34px, 4.5vw, 48px) auto 0;
  padding: clamp(22px, 3vw, 30px);
  border-radius: 22px;
  border: 1px solid color-mix(in oklab, var(--bib-accent) 18%, transparent);
  background:
    linear-gradient(
      135deg,
      color-mix(in oklab, var(--bib-s1) 42%, transparent),
      color-mix(in oklab, var(--bib-s0) 70%, transparent)
    );
  box-shadow:
    0 18px 55px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(232,221,204,.045);
  text-align:left;
}

.gl-bib-hero-note__k{
  margin-bottom:12px;
  color:var(--bib-accent);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:850;
}

.gl-bib-hero-note p{
  margin:0;
  max-width:none;
  color:var(--bib-fg-dim);
  font-size:15px;
  line-height:1.68;
  font-weight:580;
}

.gl-bib-hero-note p + p{ margin-top:12px; }

.gl-bib-hero__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:clamp(28px, 4vw, 42px);
}

.gl-bib-btn,
.gl-bib-vera-inline,
.gl-bib-empty-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid var(--bib-b2);
  color:var(--bib-fg);
  background:color-mix(in oklab, var(--bib-s0) 48%, transparent);
  text-decoration:none;
  font:inherit;
  font-size:14px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, filter .16s ease;
}

.gl-bib-btn:hover,
.gl-bib-vera-inline:hover,
.gl-bib-empty-actions a:hover{
  transform:translateY(-1px);
  border-color:var(--bib-b3);
  filter:brightness(1.04);
}

.gl-bib-btn--primary{
  color:#0a2201;
  border-color:color-mix(in oklab, var(--bib-accent) 80%, transparent);
  background:linear-gradient(135deg, var(--bib-accent), color-mix(in oklab, var(--bib-accent) 72%, white 10%));
  box-shadow:0 16px 50px color-mix(in oklab, var(--bib-accent) 17%, transparent);
}

.gl-bib-btn--ghost{ background:color-mix(in oklab, var(--bib-s1) 72%, transparent); }

/* Compatibilidad: si queda markup viejo de rutas o panel hero, no se muestra. */
.gl-bib-routes,
.gl-bib-hero__panel{ display:none; }

/* -------------------------------------------------------------------------- */
/* LANDING — explorador                                                        */
/* -------------------------------------------------------------------------- */

.gl-bib-explorer{
  margin-top: clamp(46px, 7vw, 86px);
  padding: clamp(24px, 3.3vw, 40px);
  border-radius: 24px;
  border: 1px solid var(--bib-b2);
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--bib-s1) 38%, transparent), color-mix(in oklab, var(--bib-s0) 76%, transparent)),
    radial-gradient(circle at 12% 0%, color-mix(in oklab, var(--bib-accent) 10%, transparent), transparent 32%);
  box-shadow: var(--bib-shadow);
}

.gl-bib-explorer__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px, 500px);
  gap:24px;
  align-items:end;
}

.gl-bib-explorer h2{
  margin:12px 0 0;
  color:var(--bib-fg);
  font-size:clamp(34px, 5vw, 64px);
  line-height:1;
  letter-spacing:-.05em;
  font-weight:800;
}

.gl-bib-explorer__head p{
  margin:14px 0 0;
  max-width:670px;
  color:var(--bib-fg-dim);
  font-size:16px;
  line-height:1.6;
}

.gl-bib-searchbox{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}

.gl-bib-search{ min-width:0; }

.gl-bib-search input{
  width:100%;
  min-height:52px;
  border-radius:999px;
  border:1px solid var(--bib-b2);
  background:color-mix(in oklab, var(--bib-s0) 58%, transparent);
  color:var(--bib-fg);
  padding:0 22px;
  font:inherit;
  font-size:15px;
  font-weight:700;
  outline:none;
}

.gl-bib-search input::placeholder{ color:var(--bib-fg-soft); }
.gl-bib-search input:focus{
  border-color:var(--bib-b3);
  box-shadow:0 0 0 4px color-mix(in oklab, var(--bib-accent) 9%, transparent);
}

.gl-bib-vera-inline{ min-height:52px; white-space:nowrap; }

.gl-bib-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--bib-b1);
}

.gl-bib-filter{
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid var(--bib-b1);
  background:color-mix(in oklab, var(--bib-s0) 42%, transparent);
  color:var(--bib-fg-dim);
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition: background .14s ease, color .14s ease, border-color .14s ease, transform .14s ease;
}

.gl-bib-filter:hover{
  transform:translateY(-1px);
  border-color:var(--bib-b2);
  color:var(--bib-fg);
}

.gl-bib-filter.is-active{
  background:var(--bib-accent);
  border-color:var(--bib-accent);
  color:#0a2201;
}

.gl-bib-results-bar{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:22px;
  padding:16px 0;
  border-top:1px solid var(--bib-b1);
  border-bottom:1px solid var(--bib-b1);
  color:var(--bib-fg-soft);
  font-size:13px;
  line-height:1.4;
  font-weight:800;
}

/* -------------------------------------------------------------------------- */
/* LANDING — cards tipo cuaderno                                               */
/* -------------------------------------------------------------------------- */

body[data-page="biblioteca-landing"] .gl-bib-resource-grid,
body[data-page="biblioteca-landing"] .gl-bib-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:26px;
  align-items:stretch;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card,
body[data-page="biblioteca-landing"] .gl-bib-resource-card *{
  text-decoration:none !important;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:0;
  min-height:335px;
  border-radius:24px !important;
  clip-path:none !important;
  aspect-ratio:auto !important;
  overflow:hidden;
  border:1px solid color-mix(in oklab, var(--bib-accent) 18%, transparent);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in oklab, var(--bib-accent) 10%, transparent), transparent 38%),
    var(--bib-card-bg-soft);
  color:var(--bib-fg);
  text-decoration:none;
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, color-mix(in oklab, var(--bib-accent) 12%, transparent), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 42%);
  opacity:.72;
  z-index:-1;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card::after{
  content:"";
  position:absolute;
  inset:auto 24px 24px 98px;
  height:1px;
  background:linear-gradient(90deg, color-mix(in oklab, var(--bib-accent) 34%, transparent), transparent);
  opacity:.34;
  pointer-events:none;
  transition: opacity .18s ease;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in oklab, var(--bib-accent) 42%, transparent);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in oklab, var(--bib-accent) 15%, transparent), transparent 42%),
    var(--bib-card-bg);
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card:hover::after{ opacity:.72; }
body[data-page="biblioteca-landing"] .gl-bib-resource-card:focus-visible{
  outline:2px solid color-mix(in oklab, var(--bib-accent) 70%, white 10%);
  outline-offset:4px;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card.is-read{ opacity:.78; }

body[data-page="biblioteca-landing"] .gl-bib-resource-card__accent{
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--bib-accent);
  opacity:.8;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="diagnostico"] .gl-bib-resource-card__accent,
body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="lectura"] .gl-bib-resource-card__accent,
body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="fallos"] .gl-bib-resource-card__accent{
  background:color-mix(in oklab, var(--bib-accent) 70%, #8dc7ff 22%);
}
body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="instrumentos"] .gl-bib-resource-card__accent{
  background:color-mix(in oklab, var(--bib-accent) 76%, #e6c46a 20%);
}
body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="gobernanza"] .gl-bib-resource-card__accent{
  background:color-mix(in oklab, var(--bib-accent) 74%, #ffffff 16%);
}
body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="escala"] .gl-bib-resource-card__accent,
body[data-page="biblioteca-landing"] .gl-bib-resource-card[data-pillar="arquitectura"] .gl-bib-resource-card__accent{
  background:color-mix(in oklab, var(--bib-accent) 68%, #b99aff 22%);
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__rail{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:22px 12px 20px;
  border-right:1px solid color-mix(in oklab, var(--bib-accent) 15%, transparent);
  background:color-mix(in oklab, var(--bib-s0) 34%, transparent);
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__rail span{
  color:color-mix(in oklab, var(--bib-accent) 48%, transparent);
  font-size:48px;
  line-height:.82;
  letter-spacing:-.07em;
  font-weight:850;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__rail small{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  color:color-mix(in oklab, var(--bib-fg) 42%, transparent);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:850;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__body{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:34px 24px 28px 0;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:18px;
  margin-bottom:22px;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__kicker span,
body[data-page="biblioteca-landing"] .gl-bib-resource-card__kicker em{
  color:var(--bib-accent);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:850;
  font-style:normal;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__kicker em{
  color:color-mix(in oklab, var(--bib-fg) 44%, transparent);
  opacity:.58;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card h3{
  margin:0;
  max-width:96%;
  color:var(--bib-fg);
  font-size:clamp(21px, 1.45vw, 27px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:760;
  display:-webkit-box !important;
  -webkit-line-clamp:4;
  line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
  text-overflow:ellipsis;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card p{
  margin:18px 0 0;
  max-width:96%;
  color:color-mix(in oklab, var(--bib-fg) 72%, transparent);
  font-size:14.2px;
  line-height:1.55;
  font-weight:560;
  display:-webkit-box !important;
  -webkit-line-clamp:5;
  line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
  text-overflow:ellipsis;
}

body[data-page="biblioteca-landing"] .gl-bib-resource-card__meta,
body[data-page="biblioteca-landing"] .gl-bib-resource-card__cta{
  display:none !important;
}

/* Fallback por si el HTML viejo emite .gl-bib-page-card */
body[data-page="biblioteca-landing"] .gl-bib-page-card{
  border-radius:24px !important;
  clip-path:none !important;
  aspect-ratio:auto !important;
  min-height:300px !important;
  overflow:hidden !important;
}

.gl-bib-no-results,
.gl-bib-empty-state{
  grid-column:1 / -1;
  border-radius:18px;
  border:1px dashed var(--bib-b2);
  background:color-mix(in oklab, var(--bib-s0) 46%, transparent);
  color:var(--bib-fg-dim);
  padding:36px;
  text-align:center;
}

.gl-bib-empty-state{ margin-top:24px; }
.gl-bib-empty-k{
  color:var(--bib-accent);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:850;
}
.gl-bib-empty-state h3{
  margin:12px 0 0;
  color:var(--bib-fg);
  font-size:clamp(24px, 3vw, 38px);
  line-height:1.05;
}
.gl-bib-empty-state p{
  max-width:680px;
  margin:14px auto 0;
  color:var(--bib-fg-dim);
  line-height:1.65;
}
.gl-bib-empty-state code{ color:var(--bib-accent); }
.gl-bib-empty-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}

/* -------------------------------------------------------------------------- */
/* ARTICLE — reader final                                                      */
/* -------------------------------------------------------------------------- */

body[data-page="biblioteca-articulo"]{
  --br-bg: var(--gl-bg, #081406);
  --br-fg: var(--gl-fg, #e8ddcc);
  --br-dim: color-mix(in oklab, var(--gl-fg, #e8ddcc) 68%, transparent);
  --br-soft: color-mix(in oklab, var(--gl-fg, #e8ddcc) 48%, transparent);
  --br-accent: var(--gl-accent-strong, #93a85f);
  --br-line: color-mix(in oklab, var(--gl-accent-strong, #93a85f) 22%, transparent);
  --br-line-strong: color-mix(in oklab, var(--gl-accent-strong, #93a85f) 38%, transparent);
  --bib-toc-w: 176px;
  --bib-toc-top: 128px;
  --bib-reader-max: 980px;
  --bib-reader-wide: 1480px;
  --bib-control-radius: 16px;
}

body[data-page="biblioteca-articulo"] .gl-bib-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:9999;
  height:3px;
  width:0;
  background:linear-gradient(90deg, var(--br-accent), color-mix(in oklab, var(--br-accent) 20%, transparent));
  box-shadow:0 0 20px color-mix(in oklab, var(--br-accent) 36%, transparent);
}

body[data-page="biblioteca-articulo"] .gl-bib-reader{
  width:min(100%, var(--bib-reader-wide));
  margin:0 auto;
  padding:clamp(42px, 7vw, 96px) clamp(22px, 5vw, 72px) 100px;
  color:var(--br-fg);
  position:relative;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%, color-mix(in oklab, var(--br-accent) 13%, transparent), transparent 32%),
    radial-gradient(circle at 82% 42%, rgba(232,221,204,.035), transparent 34%),
    linear-gradient(90deg, rgba(147,168,95,.035), transparent 18%, transparent 82%, rgba(147,168,95,.032));
  opacity:.95;
  z-index:0;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader > *{
  position:relative;
  z-index:1;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-head{
  width:min(100%, var(--bib-reader-max));
  margin:clamp(14px, 4vw, 54px) auto clamp(34px, 5vw, 70px);
}

body[data-page="biblioteca-articulo"] .gl-bib-crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:clamp(34px, 5vw, 58px);
  color:var(--br-soft);
  font-size:13px;
}

body[data-page="biblioteca-articulo"] .gl-bib-crumbs a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid var(--br-line);
  color:var(--br-dim);
  text-decoration:none;
  background:rgba(147,168,95,.035);
  transition:border-color .18s ease, background .18s ease, color .18s ease;
}

body[data-page="biblioteca-articulo"] .gl-bib-crumbs a:hover{
  border-color:var(--br-line-strong);
  background:rgba(147,168,95,.08);
  color:var(--br-fg);
}

body[data-page="biblioteca-articulo"] .gl-bib-current{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:color-mix(in oklab, var(--br-accent) 80%, var(--br-fg));
}

body[data-page="biblioteca-articulo"] .gl-bib-editorial-mark{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
  color:color-mix(in oklab, var(--br-accent) 86%, transparent);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
}
body[data-page="biblioteca-articulo"] .gl-bib-editorial-mark::before{
  content:"";
  width:56px;
  height:1px;
  background:var(--br-line-strong);
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-title{
  margin:0;
  max-width:940px;
  font-size:clamp(42px, 6vw, 82px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:800;
  color:var(--br-fg);
  text-wrap:balance;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-lead{
  max-width:900px;
  margin:28px 0 0;
  color:color-mix(in oklab, var(--br-fg) 74%, transparent);
  font-size:clamp(19px, 2.05vw, 26px);
  line-height:1.52;
  font-weight:560;
  text-wrap:pretty;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-meta{
  margin-top:32px;
  padding-top:22px;
  border-top:1px solid var(--br-line);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

body[data-page="biblioteca-articulo"] .gl-bib-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid var(--br-line);
  background:rgba(147,168,95,.04);
  color:color-mix(in oklab, var(--br-fg) 72%, transparent);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
}

body[data-page="biblioteca-articulo"] .gl-bib-pill--primary{
  background:color-mix(in oklab, var(--br-accent) 85%, transparent);
  color:#081406;
  border-color:transparent;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-layout{
  width:min(100%, var(--bib-reader-max));
  margin-left:auto;
  margin-right:auto;
  display:block;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-main,
body[data-page="biblioteca-articulo"] .gl-bib-reader-body{ min-width:0; }

body[data-page="biblioteca-articulo"] .gl-bib-reader-body{
  counter-reset:bibSection;
  color:color-mix(in oklab, var(--br-fg) 82%, transparent);
  font-size:clamp(18px, 1.45vw, 21px);
  line-height:1.78;
  letter-spacing:-.006em;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body > p:first-child{
  margin-top:0;
  font-size:clamp(20px, 1.8vw, 25px);
  line-height:1.62;
  color:color-mix(in oklab, var(--br-fg) 88%, transparent);
  font-weight:620;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body p{
  margin:0 0 1.32em;
  color:color-mix(in oklab, var(--br-fg) 82%, transparent);
  text-wrap:pretty;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body h2{
  counter-increment:bibSection;
  margin:clamp(72px, 8vw, 104px) 0 20px;
  padding-top:28px;
  border-top:1px solid var(--br-line);
  color:var(--br-fg);
  font-size:clamp(30px, 3.2vw, 46px);
  line-height:1.06;
  letter-spacing:-.036em;
  font-weight:800;
  text-wrap:balance;
}
body[data-page="biblioteca-articulo"] .gl-bib-reader-body h2::before{
  content:counter(bibSection, decimal-leading-zero);
  display:block;
  margin-bottom:10px;
  color:color-mix(in oklab, var(--br-accent) 52%, transparent);
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body h3{
  margin:44px 0 14px;
  color:color-mix(in oklab, var(--br-fg) 92%, transparent);
  font-size:clamp(22px, 2.1vw, 30px);
  line-height:1.15;
  letter-spacing:-.024em;
  font-weight:800;
  text-wrap:balance;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body ul,
body[data-page="biblioteca-articulo"] .gl-bib-reader-body ol{
  margin:0 0 34px;
  padding-left:0;
  list-style:none;
}
body[data-page="biblioteca-articulo"] .gl-bib-reader-body li{
  position:relative;
  padding-left:26px;
  margin-bottom:12px;
  color:color-mix(in oklab, var(--br-fg) 78%, transparent);
}
body[data-page="biblioteca-articulo"] .gl-bib-reader-body li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.82em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:color-mix(in oklab, var(--br-accent) 74%, transparent);
  box-shadow:0 0 0 5px color-mix(in oklab, var(--br-accent) 10%, transparent);
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body blockquote{
  margin:42px 0;
  padding:24px 28px;
  border-left:3px solid color-mix(in oklab, var(--br-accent) 80%, transparent);
  border-radius:0 22px 22px 0;
  background:linear-gradient(90deg, rgba(147,168,95,.10), rgba(147,168,95,.035));
  color:color-mix(in oklab, var(--br-fg) 84%, transparent);
  font-weight:650;
}

body[data-page="biblioteca-articulo"] .gl-bib-reader-body code{
  border:1px solid var(--br-line);
  border-radius:7px;
  background:color-mix(in oklab, var(--br-bg) 48%, transparent);
  color:var(--br-accent);
  padding:2px 6px;
}
body[data-page="biblioteca-articulo"] .gl-bib-reader-body a{
  color:color-mix(in oklab, var(--br-accent) 94%, var(--br-fg));
  text-underline-offset:4px;
}

body[data-page="biblioteca-articulo"] .gl-bib-sources-clean{
  margin-top:52px;
  padding-top:24px;
  border-top:1px solid var(--br-line);
  color:color-mix(in oklab, var(--br-fg) 54%, transparent);
  font-size:14px;
  line-height:1.65;
}
body[data-page="biblioteca-articulo"] .gl-bib-sources-title{
  margin:0 0 12px;
  color:color-mix(in oklab, var(--br-accent) 68%, transparent);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
}

/* -------------------------------------------------------------------------- */
/* ARTICLE — seguir leyendo                                                    */
/* -------------------------------------------------------------------------- */

body[data-page="biblioteca-articulo"] .gl-bib-follow-reading{
  margin-top:clamp(68px, 8vw, 92px);
  padding-top:clamp(24px, 3vw, 34px);
  border-top:1px solid var(--br-line);
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-kicker{
  margin:0 0 12px;
  color:color-mix(in oklab, var(--br-accent) 72%, transparent);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:850;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-head h2{
  margin:0;
  color:var(--br-fg);
  font-size:clamp(32px, 4vw, 52px);
  line-height:1;
  letter-spacing:-.048em;
  font-weight:800;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-head p{
  max-width:680px;
  margin:14px 0 0;
  color:color-mix(in oklab, var(--br-fg) 62%, transparent);
  font-size:15px;
  line-height:1.6;
  font-weight:620;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card,
body[data-page="biblioteca-articulo"] .gl-bib-follow-card *{
  text-decoration:none !important;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:0;
  min-height:318px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid color-mix(in oklab, var(--br-accent) 20%, transparent);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in oklab, var(--br-accent) 10%, transparent), transparent 38%),
    var(--bib-card-bg-soft);
  color:var(--br-fg);
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, color-mix(in oklab, var(--br-accent) 12%, transparent), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 42%);
  opacity:.72;
  z-index:-1;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card::after{
  content:"";
  position:absolute;
  inset:auto 24px 24px 98px;
  height:1px;
  background:linear-gradient(90deg, color-mix(in oklab, var(--br-accent) 34%, transparent), transparent);
  opacity:.34;
  pointer-events:none;
  transition:opacity .18s ease;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in oklab, var(--br-accent) 42%, transparent);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in oklab, var(--br-accent) 15%, transparent), transparent 42%),
    var(--bib-card-bg);
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card:hover::after{ opacity:.72; }
body[data-page="biblioteca-articulo"] .gl-bib-follow-card:focus-visible{
  outline:2px solid color-mix(in oklab, var(--br-accent) 70%, white 10%);
  outline-offset:4px;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__accent{
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--br-accent);
  opacity:.82;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="diagnostico"] .gl-bib-follow-card__accent,
body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="lectura"] .gl-bib-follow-card__accent,
body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="fallos"] .gl-bib-follow-card__accent{
  background:color-mix(in oklab, var(--br-accent) 70%, #8dc7ff 22%);
}
body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="instrumentos"] .gl-bib-follow-card__accent{
  background:color-mix(in oklab, var(--br-accent) 76%, #e6c46a 20%);
}
body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="gobernanza"] .gl-bib-follow-card__accent{
  background:color-mix(in oklab, var(--br-accent) 74%, #ffffff 16%);
}
body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="escala"] .gl-bib-follow-card__accent,
body[data-page="biblioteca-articulo"] .gl-bib-follow-card[data-pillar="arquitectura"] .gl-bib-follow-card__accent{
  background:color-mix(in oklab, var(--br-accent) 68%, #b99aff 22%);
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__rail{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:22px 12px 20px;
  border-right:0;
  background:transparent;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__rail span{
  color:color-mix(in oklab, var(--br-accent) 48%, transparent);
  font-size:48px;
  line-height:.82;
  letter-spacing:-.07em;
  font-weight:850;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__rail small{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  color:color-mix(in oklab, var(--br-fg) 42%, transparent);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:850;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__body{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:34px 24px 28px 0;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:18px;
  margin-bottom:22px;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__kicker span,
body[data-page="biblioteca-articulo"] .gl-bib-follow-card__kicker em{
  color:var(--br-accent);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:850;
  font-style:normal;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card__kicker em{
  color:color-mix(in oklab, var(--br-fg) 44%, transparent);
  opacity:.58;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card h3{
  margin:0;
  max-width:96%;
  color:var(--br-fg);
  font-size:clamp(21px, 1.45vw, 27px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:760;
  display:-webkit-box !important;
  -webkit-line-clamp:4;
  line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
  text-overflow:ellipsis;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-card p{
  margin:18px 0 0;
  max-width:96%;
  color:color-mix(in oklab, var(--br-fg) 72%, transparent);
  font-size:14.2px;
  line-height:1.55;
  font-weight:560;
  display:-webkit-box !important;
  -webkit-line-clamp:5;
  line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
  text-overflow:ellipsis;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-secondary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid color-mix(in oklab, var(--br-accent) 14%, transparent);
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-secondary a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid color-mix(in oklab, var(--br-accent) 18%, transparent);
  background:color-mix(in oklab, var(--br-accent) 5%, transparent);
  color:color-mix(in oklab, var(--br-fg) 68%, transparent);
  text-decoration:none;
  font-size:12px;
  line-height:1;
  font-weight:850;
  letter-spacing:.02em;
  transition:color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

body[data-page="biblioteca-articulo"] .gl-bib-follow-secondary a:hover{
  transform:translateY(-1px);
  color:var(--br-fg);
  border-color:color-mix(in oklab, var(--br-accent) 34%, transparent);
  background:color-mix(in oklab, var(--br-accent) 9%, transparent);
}

/* Índice izquierdo */
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc.gl-toc{
  position:fixed;
  top:var(--bib-toc-top);
  left:18px;
  width:var(--bib-toc-w);
  z-index:60;
  pointer-events:auto;
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-shell{
  border-radius:22px;
  border:1px solid color-mix(in oklab, var(--br-accent) 24%, transparent);
  background:linear-gradient(180deg, color-mix(in oklab, var(--gl-surface-1, #10220d) 88%, transparent), color-mix(in oklab, var(--gl-bg, #081406) 84%, transparent));
  box-shadow:0 22px 70px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  padding:16px 14px 14px;
  max-height:calc(100vh - var(--bib-toc-top) - 22px);
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in oklab, var(--br-accent) 42%, transparent) transparent;
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  width:100%;
  margin:0 0 16px;
  border-radius:999px;
  border:1px solid color-mix(in oklab, var(--br-accent) 18%, transparent);
  background:color-mix(in oklab, var(--br-bg) 36%, transparent);
  color:color-mix(in oklab, var(--br-accent) 78%, var(--br-fg));
  font-size:12px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-nav{ display:grid; gap:4px; }
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-link{
  display:block;
  padding:10px;
  border-radius:12px;
  color:color-mix(in oklab, var(--br-fg) 62%, transparent);
  text-decoration:none;
  font-size:13px;
  line-height:1.24;
  font-weight:690;
  letter-spacing:-.01em;
  transition:color .16s ease, background .16s ease, transform .16s ease;
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-link:hover,
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-link.is-active{
  color:var(--br-fg);
  background:color-mix(in oklab, var(--br-accent) 10%, transparent);
  transform:translateX(2px);
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-link[data-level="h3"]{
  margin-left:10px;
  padding-top:7px;
  padding-bottom:7px;
  color:color-mix(in oklab, var(--br-fg) 50%, transparent);
  font-size:12.25px;
  font-weight:620;
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-foot{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid color-mix(in oklab, var(--br-accent) 16%, transparent);
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-top,
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-mini-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:34px;
  padding:0 10px;
  border:1px solid color-mix(in oklab, var(--br-accent) 18%, transparent);
  border-radius:12px;
  background:color-mix(in oklab, var(--br-accent) 5%, transparent);
  color:color-mix(in oklab, var(--br-fg) 68%, transparent);
  text-decoration:none;
  font-size:12px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
}
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-top:hover,
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-mini-action:hover,
body[data-page="biblioteca-articulo"] #gl-bib-reader-toc .gl-toc-mini-action.is-saved{
  color:var(--br-fg);
  border-color:color-mix(in oklab, var(--br-accent) 38%, transparent);
  background:color-mix(in oklab, var(--br-accent) 10%, transparent);
}

body[data-page="biblioteca-articulo"] .gl-bib-mobile-toc-reader{
  display:none;
  width:min(100%, var(--bib-reader-max));
  margin:0 auto 32px;
  border:1px solid var(--br-line);
  border-radius:18px;
  background:color-mix(in oklab, var(--br-accent) 5%, transparent);
  overflow:hidden;
}
body[data-page="biblioteca-articulo"] .gl-bib-mobile-toc-reader summary{
  padding:15px 18px;
  color:var(--br-fg);
  cursor:pointer;
  font-weight:800;
}
body[data-page="biblioteca-articulo"] .gl-bib-mobile-toc-nav{
  display:grid;
  gap:4px;
  padding:0 12px 14px;
}
body[data-page="biblioteca-articulo"] .gl-bib-mobile-toc-nav a{
  color:color-mix(in oklab, var(--br-fg) 68%, transparent);
  text-decoration:none;
  padding:8px 10px;
  border-radius:10px;
  font-size:13px;
}
body[data-page="biblioteca-articulo"] .gl-bib-mobile-toc-nav a:hover{
  color:var(--br-fg);
  background:color-mix(in oklab, var(--br-accent) 8%, transparent);
}

/* VERA flotante */
body[data-page="biblioteca-articulo"] .gl-bib-floating-vera{
  position:fixed;
  right:clamp(18px, 2.6vw, 34px);
  bottom:clamp(18px, 2.6vw, 34px);
  z-index:90;
}
body[data-page="biblioteca-articulo"] .gl-bib-floating-vera-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:0 24px;
  border:1px solid color-mix(in oklab, var(--br-accent) 44%, transparent);
  border-radius:999px;
  background:linear-gradient(135deg, color-mix(in oklab, var(--br-accent) 90%, white 5%), color-mix(in oklab, var(--br-accent) 76%, #e8ddcc 12%));
  color:#081406;
  font:inherit;
  font-size:15px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 18px 58px rgba(0,0,0,.28), 0 0 0 1px rgba(232,221,204,.08) inset;
}
body[data-page="biblioteca-articulo"] .gl-bib-floating-vera-btn:hover{ transform:translateY(-2px); }

/* -------------------------------------------------------------------------- */
/* Responsive global                                                           */
/* -------------------------------------------------------------------------- */

@media (max-width: 1280px){
  body[data-page="biblioteca-landing"] .gl-bib-resource-grid,
  body[data-page="biblioteca-landing"] .gl-bib-card-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 1180px){
  body[data-page="biblioteca-articulo"] #gl-bib-reader-toc.gl-toc{ display:none; }
  body[data-page="biblioteca-articulo"] .gl-bib-mobile-toc-reader{ display:block; }
  body[data-page="biblioteca-articulo"] .gl-bib-reader{
    padding-left:clamp(18px, 4vw, 42px);
    padding-right:clamp(18px, 4vw, 42px);
  }
}

@media (max-width: 1080px){
  .gl-bib-explorer__head{ grid-template-columns:1fr; }
}

@media (max-width: 760px){
  .gl-bib-landing{ width:min(100% - 32px, 1320px); padding-top:32px; }
  .gl-bib-hero--canonical{ width:100%; padding:38px 0 32px; }
  .gl-bib-hero--canonical h1{ font-size:clamp(42px, 14vw, 64px); }
  .gl-bib-hero--canonical > .gl-bib-hero__copy > p{ font-size:16px; text-align:left; }
  .gl-bib-hero-note{ padding:20px; border-radius:18px; }
  .gl-bib-hero--canonical .gl-bib-hero__actions{ justify-content:flex-start; }
  .gl-bib-explorer{ padding:24px 18px; }
  .gl-bib-searchbox{ grid-template-columns:1fr; }
  .gl-bib-results-bar{ flex-direction:column; }
  body[data-page="biblioteca-landing"] .gl-bib-resource-grid,
  body[data-page="biblioteca-landing"] .gl-bib-card-grid{ grid-template-columns:1fr; }
  body[data-page="biblioteca-landing"] .gl-bib-resource-card{ min-height:300px; }
  body[data-page="biblioteca-landing"] .gl-bib-resource-card h3{ -webkit-line-clamp:3; line-clamp:3; }
  body[data-page="biblioteca-landing"] .gl-bib-resource-card p{ -webkit-line-clamp:4; line-clamp:4; }
  body[data-page="biblioteca-articulo"] .gl-bib-reader-title{ font-size:clamp(38px, 12vw, 58px); }
  body[data-page="biblioteca-articulo"] .gl-bib-reader-lead{ font-size:18px; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-grid{ grid-template-columns:1fr; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-head{ display:block; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card{ min-height:300px; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card h3{ -webkit-line-clamp:3; line-clamp:3; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card p{ -webkit-line-clamp:4; line-clamp:4; }
  body[data-page="biblioteca-articulo"] .gl-bib-floating-vera{ right:16px; bottom:16px; }
  body[data-page="biblioteca-articulo"] .gl-bib-floating-vera-btn{ min-height:48px; padding:0 18px; font-size:14px; }
}

@media (max-width: 640px){
  body[data-page="biblioteca-landing"] .gl-bib-resource-card{ grid-template-columns:1fr; }
  body[data-page="biblioteca-landing"] .gl-bib-resource-card__rail{
    flex-direction:row;
    justify-content:space-between;
    border-right:0;
    border-bottom:1px solid color-mix(in oklab, var(--bib-accent) 15%, transparent);
    padding:16px 18px;
  }
  body[data-page="biblioteca-landing"] .gl-bib-resource-card__rail small{ writing-mode:horizontal-tb; transform:none; }
  body[data-page="biblioteca-landing"] .gl-bib-resource-card__body{ padding:20px; }

  body[data-page="biblioteca-articulo"] .gl-bib-follow-card{ grid-template-columns:1fr; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card__rail{
    flex-direction:row;
    justify-content:space-between;
    border-right:0;
    border-bottom:0;
    background:transparent;
    padding:16px 18px;
  }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card__rail small{ writing-mode:horizontal-tb; transform:none; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card__body{ padding:20px; }
  body[data-page="biblioteca-articulo"] .gl-bib-follow-card::after{ inset:auto 20px 20px 20px; }
}
/* ==========================================================================
   BIBLIOTECA — Explorer mobile refinement
   Objetivo:
   - primera impresión más limpia
   - menos altura ocupada
   - filtros en carril horizontal
   - buscador más usable en pantalla chica
   ========================================================================== */

@media (max-width: 760px){

  body[data-page="biblioteca-landing"] .gl-bib-explorer{
    margin-top: 30px;
    padding: 18px 14px 16px;
    border-radius: 22px;
    border-color: color-mix(in oklab, var(--bib-accent) 18%, transparent);
    background:
      radial-gradient(circle at 12% 0%, color-mix(in oklab, var(--bib-accent) 8%, transparent), transparent 34%),
      linear-gradient(
        180deg,
        color-mix(in oklab, var(--bib-s1) 26%, transparent),
        color-mix(in oklab, var(--bib-s0) 72%, transparent)
      );
    box-shadow: 0 18px 52px rgba(0,0,0,.20);
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer__head{
    display: block;
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer .gl-bib-kicker{
    min-height: 28px;
    padding: 0 11px;
    font-size: 10.5px;
    letter-spacing: .13em;
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer h2{
    margin-top: 13px;
    max-width: 10ch;
    font-size: clamp(30px, 9.5vw, 38px);
    line-height: .94;
    letter-spacing: -.055em;
    text-wrap: balance;
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer__head p{
    margin-top: 12px;
    max-width: 29ch;
    font-size: 14.5px;
    line-height: 1.55;
    font-weight: 620;
  }

  body[data-page="biblioteca-landing"] .gl-bib-searchbox{
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body[data-page="biblioteca-landing"] .gl-bib-search input{
    min-height: 46px;
    padding: 0 16px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 760;
    text-overflow: ellipsis;
  }

  body[data-page="biblioteca-landing"] .gl-bib-vera-inline{
    width: 100%;
    min-height: 42px;
    padding: 0 15px;
    border-radius: 16px;
    justify-content: center;
    font-size: 13px;
    line-height: 1;
    background: color-mix(in oklab, var(--bib-accent) 8%, var(--bib-s0));
  }

  body[data-page="biblioteca-landing"] .gl-bib-filters{
    margin-top: 16px;
    margin-left: -14px;
    margin-right: -14px;
    padding: 14px 14px 2px;

    display: flex;
    flex-wrap: nowrap;
    gap: 8px;

    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;

    border-top: 1px solid color-mix(in oklab, var(--bib-accent) 13%, transparent);
  }

  body[data-page="biblioteca-landing"] .gl-bib-filters::-webkit-scrollbar{
    display: none;
  }

  body[data-page="biblioteca-landing"] .gl-bib-filters::after{
    content: "";
    flex: 0 0 6px;
  }

  body[data-page="biblioteca-landing"] .gl-bib-filter{
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
  }

  body[data-page="biblioteca-landing"] .gl-bib-results-bar{
    margin-top: 14px;
    padding: 12px 0 0;
    border-bottom: 0;
    flex-direction: column;
    gap: 4px;
    font-size: 12.5px;
    line-height: 1.35;
  }
}

@media (max-width: 420px){

  body[data-page="biblioteca-landing"] .gl-bib-explorer{
    padding: 16px 12px 14px;
    border-radius: 20px;
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer h2{
    font-size: clamp(28px, 9vw, 34px);
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer__head p{
    font-size: 14px;
  }

  body[data-page="biblioteca-landing"] .gl-bib-search input,
  body[data-page="biblioteca-landing"] .gl-bib-vera-inline{
    min-height: 42px;
  }

  body[data-page="biblioteca-landing"] .gl-bib-filter{
    min-height: 32px;
    padding: 0 12px;
    font-size: 11.5px;
  }
}
/* ==========================================================================
   BIBLIOTECA — Explorer mobile final polish
   Ajuste fino de jerarquía, scroll hint y contador
   ========================================================================== */

@media (max-width: 760px){

  body[data-page="biblioteca-landing"] .gl-bib-explorer{
    position: relative;
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer__head p{
    color: color-mix(in oklab, var(--bib-fg) 68%, transparent);
    font-weight: 560;
    letter-spacing: -0.01em;
  }

  body[data-page="biblioteca-landing"] .gl-bib-search input{
    color: color-mix(in oklab, var(--bib-fg) 82%, transparent);
    font-weight: 680;
  }

  body[data-page="biblioteca-landing"] .gl-bib-search input::placeholder{
    color: color-mix(in oklab, var(--bib-fg) 48%, transparent);
    font-weight: 680;
  }

  body[data-page="biblioteca-landing"] .gl-bib-vera-inline{
    font-weight: 780;
  }

  body[data-page="biblioteca-landing"] .gl-bib-filters{
    position: relative;
    padding-right: 28px;
  }

  body[data-page="biblioteca-landing"] .gl-bib-explorer::after{
    content: "";
    position: absolute;
    right: 0;
    top: 312px;
    width: 44px;
    height: 54px;
    pointer-events: none;
    border-radius: 0 22px 22px 0;
    background: linear-gradient(
      90deg,
      transparent,
      color-mix(in oklab, var(--bib-bg) 72%, transparent)
    );
    opacity: .82;
  }

  body[data-page="biblioteca-landing"] .gl-bib-results-bar{
    color: color-mix(in oklab, var(--bib-fg) 52%, transparent);
    font-size: 12px;
    font-weight: 720;
    letter-spacing: .01em;
  }

  body[data-page="biblioteca-landing"] .gl-bib-results-bar strong,
  body[data-page="biblioteca-landing"] .gl-bib-results-bar b{
    color: color-mix(in oklab, var(--bib-fg) 64%, transparent);
    font-weight: 780;
  }
}