/*
Theme Name: El Bienhablao
Description: Tema ligero y accesible para el diccionario El Bienhablao.
Version: 1.0.6
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: el-bienhablao
*/

:root {
  --ebh-bg: #f5f0e6;
  --ebh-surface: #fffaf1;
  --ebh-text: #211f1b;
  --ebh-muted: #6a645b;
  --ebh-border: #d8cfbf;
  --ebh-terracotta: #b86043;
  --ebh-terracotta-dark: #7d3f2d;
  --ebh-mustard: #d7b253;
  --ebh-green: #6e8064;
  --ebh-green-soft: #dfe6d8;
  --ebh-blue: #6f8490;
  --ebh-blue-soft: #c8d6dd;
  --ebh-accent: var(--ebh-terracotta);
  --ebh-accent-strong: var(--ebh-terracotta-dark);
  --ebh-soft: #eae3d5;
  --ebh-radius: 1rem;
  --ebh-radius-lg: 1.6rem;
  --ebh-max: 76rem;
  --ebh-reading: 48rem;
  --ebh-ui: "Outfit", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ebh-display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --ebh-serif: "Newsreader", "Iowan Old Style", Georgia, serif;
  --ebh-font: var(--ebh-ui);
  --ebh-shadow: 0 1.4rem 3.5rem rgba(49, 39, 24, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--ebh-bg); color:var(--ebh-text); font-family:var(--ebh-font); line-height:1.65; }
body.admin-bar .site-header { top:32px; }
a { color:var(--ebh-accent-strong); text-underline-offset:.18em; }
a:hover { text-decoration-thickness:2px; }
img { max-width:100%; height:auto; }
button, input, select, textarea { font:inherit; }

.ebh-container { width:min(calc(100% - 2.4rem), var(--ebh-max)); margin-inline:auto; }
.ebh-skip { position:absolute; left:-9999px; top:0; }
.ebh-skip:focus { left:1rem; top:1rem; z-index:2000; background:#fff; padding:.75rem 1rem; }
.ebh-visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Header */
.site-header { position:sticky; top:0; z-index:100; border-bottom:1px solid color-mix(in srgb, var(--ebh-border) 74%, transparent); background:rgba(245,240,230,.94); backdrop-filter:blur(16px); }
.site-header__inner { min-height:5.35rem; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:3rem; }
.site-brand { display:inline-flex; align-items:baseline; gap:.42rem; color:var(--ebh-text); text-decoration:none; line-height:1; }
.site-brand__the { font:800 .68rem/1 var(--ebh-ui); letter-spacing:.14em; text-transform:uppercase; color:var(--ebh-terracotta-dark); }
.site-brand__name { font:800 clamp(1.55rem,2.45vw,2.02rem)/1 var(--ebh-display); letter-spacing:-.035em; }
.site-brand--logo { display:flex; align-items:center; }
.site-brand--logo .custom-logo-link { display:flex; align-items:center; line-height:0; }
.site-brand--logo .custom-logo { display:block; width:auto; max-width:min(15rem,42vw); max-height:2.65rem; object-fit:contain; }
.site-nav { justify-self:end; }
.site-nav__list, .site-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:.25rem 1.5rem; }
.site-nav a { position:relative; color:var(--ebh-text); text-decoration:none; font-family:var(--ebh-ui); font-size:.91rem; font-weight:700; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-.35rem; height:2px; background:var(--ebh-terracotta); transition:right .18s ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after, .site-nav .current-menu-item > a::after { right:0; }
.site-nav-toggle { display:none; border:0; background:transparent; color:var(--ebh-text); font-weight:800; align-items:center; gap:.75rem; padding:.6rem 0; cursor:pointer; }
.site-nav-toggle__icon { width:1.45rem; height:.9rem; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; }
.site-nav-toggle__icon::after { content:""; position:absolute; left:0; right:0; top:50%; border-top:2px solid currentColor; transform:translateY(-50%); }

/* General */
.ebh-main { padding:clamp(3rem,7vw,6rem) 0; }
.ebh-main article { max-width:var(--ebh-reading); }
.page-title, .ebh-entry h1, .ebh-home h1, .ebh-home h2 { font-family:var(--ebh-display); font-weight:800; letter-spacing:-.04em; }
.ebh-main .page-title { font-size:clamp(3rem,7vw,5.45rem); line-height:.96; margin:0 0 1.7rem; }
.ebh-main .ebh-prose > p { margin:0 0 1.15em; }
.ebh-main .ebh-prose > hr { border:0; border-top:1px solid var(--ebh-border); margin:2.5rem 0; }
.ebh-main .ebh-prose > h2 { font-family:var(--ebh-display); font-weight:700; font-size:clamp(1.7rem,4vw,2.5rem); margin-top:2rem; }
.ebh-kicker { margin:0 0 .8rem; text-transform:uppercase; letter-spacing:.15em; font-size:.76rem; font-weight:850; color:var(--ebh-terracotta-dark); }

/* Homepage */
.ebh-home-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--ebh-border); }
.ebh-home-hero::after { content:""; position:absolute; width:30rem; height:30rem; left:58%; top:-13.5rem; border-radius:50%; background:color-mix(in srgb, var(--ebh-mustard) 28%, transparent); pointer-events:none; }
.ebh-home-hero__inner { position:relative; z-index:1; padding:clamp(4.8rem,9vw,8.25rem) 0 clamp(4.25rem,8vw,7rem); }
.ebh-home-hero__copy { max-width:73rem; }
.ebh-home-hero h1 { margin:0; font-size:clamp(5.2rem,10.5vw,9.4rem); line-height:.82; letter-spacing:-.06em; white-space:nowrap; }
.ebh-home-hero__lead { max-width:43rem; margin:2rem 0 0; font-family:var(--ebh-serif); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.45; }
.ebh-home-search { max-width:58rem; margin-top:clamp(2.7rem,5vw,4.1rem); }
.ebh-home-search .ebh-search { margin:0; max-width:none; }
.ebh-home-search .ebh-alphabet { margin:1.15rem 0 0; }
.ebh-home-block { border-bottom:1px solid var(--ebh-border); }
.ebh-home-split { display:grid; grid-template-columns:minmax(16rem,.95fr) minmax(20rem,1.05fr); align-items:end; gap:clamp(2.5rem,5vw,5rem); padding:clamp(4rem,8vw,6.6rem) 0; }
.ebh-home-block__heading { max-width:32rem; }
.ebh-home-block h2 { margin:.1rem 0 0; font-size:clamp(3.2rem,7vw,6rem); line-height:.92; }
.ebh-home-block__content { max-width:37rem; }
.ebh-home-block__content p { margin:0 0 1.35rem; font-family:var(--ebh-serif); font-size:clamp(1.25rem,2.05vw,1.6rem); line-height:1.45; }
.ebh-home-block__content strong { font-weight:700; }
.ebh-home-block--wiki { background:var(--ebh-green-soft); }
.ebh-home-block--wiki .ebh-kicker { color:#455640; }
.ebh-text-link { display:inline-flex; align-items:center; gap:.55rem; color:var(--ebh-text); font-weight:850; text-decoration:none; border-bottom:2px solid currentColor; }
.ebh-text-link span { transition:transform .18s ease; }
.ebh-text-link:hover span { transform:translateX(.28rem); }
.ebh-home-block--about { padding:clamp(4rem,8vw,7rem) 0 clamp(5rem,9vw,8rem); }
.ebh-home-section-heading { margin-bottom:2.35rem; }
.ebh-home-section-heading .ebh-kicker { margin-bottom:.75rem; }
.ebh-home-section-heading h2 { max-width:13ch; margin:0; font-size:clamp(3rem,6vw,5.7rem); line-height:.92; }
.ebh-home-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.ebh-home-card { min-height:20rem; display:flex; flex-direction:column; align-items:flex-start; padding:1.55rem; border-radius:var(--ebh-radius-lg); color:var(--ebh-text); text-decoration:none; border:1px solid rgba(33,31,27,.1); transition:transform .18s ease, box-shadow .18s ease; }
.ebh-home-card:hover, .ebh-home-card:focus-visible { transform:translateY(-.28rem); box-shadow:var(--ebh-shadow); }
.ebh-home-card--terracotta { background:#dfb19e; }
.ebh-home-card--mustard { background:#ead58d; }
.ebh-home-card--green { background:#c9d7c3; }
.ebh-home-card__eyebrow { font-size:.75rem; letter-spacing:.14em; font-weight:850; }
.ebh-home-card strong { margin-top:auto; font-family:var(--ebh-display); font-weight:800; font-size:clamp(2rem,3.4vw,3.1rem); line-height:.94; letter-spacing:-.035em; }
.ebh-home-card > span:not(.ebh-home-card__eyebrow):not(.ebh-home-card__arrow) { margin-top:1rem; max-width:25rem; line-height:1.45; }
.ebh-home-card__arrow { margin-top:1.25rem; font-size:1.6rem; }

/* Search */
.ebh-search { position:relative; max-width:48rem; margin-top:2rem; }
.ebh-search label { display:block; font-weight:850; margin-bottom:.65rem; }
.ebh-search__control { position:relative; }
.ebh-search__control input { width:100%; min-width:0; }
.ebh-search input { min-height:4.5rem; border:0; border-bottom:2px solid var(--ebh-text); border-radius:0; background:transparent; padding:.25rem 4.5rem .25rem 0; font:inherit; font-size:clamp(1.15rem,2vw,1.42rem); }
.ebh-search input::placeholder { color:color-mix(in srgb, var(--ebh-muted) 78%, transparent); }
.ebh-search input:focus { outline:0; border-color:var(--ebh-terracotta-dark); box-shadow:0 3px 0 color-mix(in srgb, var(--ebh-terracotta) 28%, transparent); }
.ebh-form input:focus, .ebh-form select:focus, .ebh-form textarea:focus { outline:3px solid color-mix(in srgb, var(--ebh-terracotta) 25%, transparent); border-color:var(--ebh-terracotta); }
.ebh-search__submit { position:absolute; right:0; top:50%; transform:translateY(-50%); width:3.25rem; height:3.25rem; display:grid; place-items:center; border:1px solid var(--ebh-text); border-radius:50%; background:var(--ebh-text); color:var(--ebh-bg); padding:0; font:inherit; cursor:pointer; transition:background .18s ease, color .18s ease, transform .18s ease; }
.ebh-search__submit span[aria-hidden="true"] { font-size:1.65rem; line-height:1; transform:translateY(-.05em); }
.ebh-search__submit:hover, .ebh-search__submit:focus-visible { background:var(--ebh-terracotta-dark); border-color:var(--ebh-terracotta-dark); transform:translateY(-50%) translateX(.12rem); }
.ebh-search-results { position:absolute; top:100%; left:0; right:0; z-index:20; background:var(--ebh-surface); border:1px solid var(--ebh-border); border-top:0; border-radius:0 0 var(--ebh-radius) var(--ebh-radius); box-shadow:var(--ebh-shadow); }
.ebh-search-results__list { list-style:none; margin:0; padding:.5rem; }
.ebh-search-results a { display:block; padding:.7rem .85rem; border-radius:.55rem; text-decoration:none; font-weight:800; }
.ebh-search-results a:hover, .ebh-search-results a:focus { background:var(--ebh-soft); }
.ebh-search.is-searching input { cursor:progress; }

/* Alphabet */
.ebh-alphabet { display:flex; flex-wrap:wrap; gap:.35rem 1.05rem; margin:2rem 0; }
.ebh-alphabet a { position:relative; display:inline-block; padding:.15rem 0; color:var(--ebh-text); font-weight:850; text-decoration:none; }
.ebh-alphabet a::after { content:""; position:absolute; left:0; right:100%; bottom:.05rem; height:2px; background:var(--ebh-terracotta); transition:right .16s ease; }
.ebh-alphabet a:hover, .ebh-alphabet a:focus-visible, .ebh-alphabet a[aria-current="page"] { color:var(--ebh-terracotta-dark); }
.ebh-alphabet a:hover::after, .ebh-alphabet a:focus-visible::after, .ebh-alphabet a[aria-current="page"]::after { right:0; }

/* Dictionary entries */
.ebh-entry { max-width:52rem; padding:0 0 3rem; margin-bottom:3rem; border-bottom:1px solid var(--ebh-border); }
.ebh-entry:last-child { margin-bottom:0; }
.ebh-entry h1 { font-family:var(--ebh-display); font-weight:900; font-size:clamp(3.8rem,9vw,7.2rem); line-height:.84; letter-spacing:-.045em; margin:.12em 0 .28em; text-transform:uppercase; }
.ebh-entry h2 { font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; margin:2rem 0 .6rem; color:var(--ebh-muted); }
.ebh-entry__meta { margin:0; font-size:.78rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; color:var(--ebh-terracotta-dark); }
.ebh-prose, blockquote { font-family:var(--ebh-serif); font-size:clamp(1.12rem,2vw,1.4rem); }
blockquote { margin:0; padding:1.2rem 1.4rem; background:var(--ebh-surface); border-left:.3rem solid var(--ebh-terracotta); border-radius:.25rem var(--ebh-radius) var(--ebh-radius) .25rem; }
.ebh-nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:2.5rem 0 4rem; max-width:52rem; }
.ebh-nav a { padding:1rem; border:1px solid var(--ebh-border); border-radius:var(--ebh-radius); background:var(--ebh-surface); text-decoration:none; }
.ebh-nav__next { text-align:right; }

/* Comments and forms */
.ebh-comments { max-width:52rem; margin-top:4rem; }
.ebh-comment { padding:1rem 0; border-top:1px solid var(--ebh-border); }
.ebh-comment__author { font-weight:850; }
.ebh-form { max-width:42rem; }
.ebh-form label { display:grid; gap:.35rem; font-weight:750; }
.ebh-form input, .ebh-form select, .ebh-form textarea { width:100%; border:1px solid var(--ebh-border); border-radius:.7rem; background:var(--ebh-surface); padding:.8rem .9rem; }
.ebh-button { border:0; border-radius:999px; background:var(--ebh-text); color:#fff; padding:.9rem 1.3rem; font:inherit; font-weight:850; cursor:pointer; }
.ebh-button:hover { background:var(--ebh-terracotta-dark); }
.ebh-form__note { color:var(--ebh-muted); font-size:.9rem; }
.ebh-honeypot { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ebh-notice { padding:1rem; border-radius:.7rem; background:var(--ebh-soft); margin:1rem 0; }
.ebh-list { columns:2; column-gap:2rem; padding:0; list-style:none; }
.ebh-list li { break-inside:avoid; margin:.35rem 0; }

/* Footer */
.site-footer { background:var(--ebh-text); color:var(--ebh-bg); }
.site-footer__grid { min-height:17rem; display:grid; grid-template-columns:1.25fr 1fr .9fr; gap:clamp(2rem,6vw,6rem); align-items:end; padding:3.5rem 0; }
.site-footer__brand { display:grid; gap:.45rem; }
.site-footer__brand strong { font:800 clamp(2.2rem,5vw,4.05rem)/.92 var(--ebh-display); letter-spacing:-.045em; white-space:nowrap; }
.site-footer__brand span, .site-footer__credit { color:#c8c0b4; font-size:.9rem; }
.site-footer__nav { display:grid; gap:.45rem; align-self:end; }
.site-footer__nav a { width:max-content; color:var(--ebh-bg); text-decoration:none; font-weight:750; }
.site-footer__nav a:hover { text-decoration:underline; }
.site-footer__credit { margin:0; align-self:end; }
.site-footer__designer { margin:0; padding:0 1rem 1.1rem; text-align:center; color:#aaa196; font-size:.72rem; line-height:1.4; letter-spacing:.01em; }
.site-footer__heart { display:inline-block; margin-left:.22rem; font-size:.72em; vertical-align:.04em; }

@media (max-width: 980px) {
  .site-header__inner { min-height:4.9rem; grid-template-columns:auto auto; justify-content:space-between; gap:1rem; }
  .site-nav-toggle { display:inline-flex; }
  .site-nav { display:none; position:absolute; left:0; right:0; top:100%; padding:1rem 1.2rem 1.4rem; background:var(--ebh-bg); border-bottom:1px solid var(--ebh-border); }
  .site-nav[data-open] { display:block; }
  .site-nav__list, .site-nav ul { width:min(100%, var(--ebh-max)); margin-inline:auto; display:grid; gap:0; }
  .site-nav li { border-top:1px solid var(--ebh-border); }
  .site-nav a { display:block; padding:.85rem 0; font-family:var(--ebh-display); font-weight:700; font-size:1.5rem; }
  .site-nav a::after { display:none; }

  .ebh-home-hero::after { width:25rem; height:25rem; left:auto; right:-8rem; top:-9rem; }
  .ebh-home-hero h1 { font-size:clamp(4.25rem,11vw,7rem); }
  .ebh-home-search { max-width:50rem; }
  .ebh-home-cards { grid-template-columns:1fr; }
  .ebh-home-card { min-height:15rem; }
  .site-footer__grid { grid-template-columns:1fr 1fr; }
  .site-footer__credit { grid-column:1 / -1; }
}

@media (max-width: 680px) {
  body.admin-bar .site-header { top:46px; }
  .ebh-container { width:min(calc(100% - 1.5rem), var(--ebh-max)); }
  .site-brand__name { font-size:1.55rem; }
  .site-brand__the { font-size:.62rem; }
  .site-brand--logo .custom-logo { max-width:12.5rem; max-height:2.25rem; }

  .ebh-home-hero__inner { padding:3.6rem 0 3.8rem; }
  .ebh-home-hero::after { width:18rem; height:18rem; right:-7rem; top:-5rem; }
  .ebh-home-hero h1 { font-size:clamp(3.35rem,11.2vw,4.7rem); line-height:.88; white-space:nowrap; }
  .ebh-home-hero__lead { margin-top:1.35rem; font-size:1.2rem; }
  .ebh-home-search { margin-top:2.45rem; }
  .ebh-search label { margin-bottom:.45rem; }
  .ebh-search input { min-height:4rem; padding-right:3.9rem; font-size:1.08rem; }
  .ebh-search__submit { width:2.9rem; height:2.9rem; }
  .ebh-alphabet { gap:.35rem .8rem; margin-top:1rem; line-height:1.5; }
  .ebh-alphabet a { font-size:.92rem; }

  .ebh-home-split { grid-template-columns:1fr; gap:1.45rem; }
  .ebh-home-block__content { max-width:none; }
  .ebh-home-block__content p { font-size:1.22rem; }
  .ebh-home-section-heading h2 { max-width:none; }

  .ebh-list { columns:1; }
  .ebh-nav { grid-template-columns:1fr; }
  .ebh-nav__next { text-align:left; }
  .site-footer__grid { min-height:0; grid-template-columns:1fr; padding:3rem 0; }
  .site-footer__brand strong { white-space:normal; font-size:clamp(2.35rem,12vw,3.5rem); }
  .site-footer__credit { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  * { animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* Home refinement 0.2.2 — compact editorial hero, clearer search */
.ebh-home-hero::after { display:none; }
.ebh-home-hero__inner {
  padding:clamp(4.25rem,7vw,6.4rem) 0 clamp(4.25rem,7vw,6rem);
}
.ebh-home-hero__copy { max-width:64rem; }
.ebh-home-hero h1 {
  font-size:clamp(4.8rem,8.35vw,7.45rem);
  line-height:.88;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.ebh-home-hero__lead {
  max-width:39rem;
  margin:1.4rem 0 0;
  font-size:clamp(1.2rem,1.85vw,1.52rem);
  line-height:1.47;
}
.ebh-home-search {
  max-width:46rem;
  margin-top:clamp(1.8rem,3.2vw,2.5rem);
}
.ebh-home-search .ebh-search { max-width:46rem; }
.ebh-home-search .ebh-alphabet { margin-top:1rem; }

.ebh-search label { margin-bottom:.55rem; }
.ebh-search__control {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--ebh-border);
  border-radius:.8rem;
  background:var(--ebh-surface);
  transition:border-color .16s ease, box-shadow .16s ease;
}
.ebh-search__control:focus-within {
  border-color:var(--ebh-terracotta-dark);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ebh-terracotta) 16%, transparent);
}
.ebh-search input {
  min-height:3.65rem;
  border:0;
  border-radius:0;
  background:transparent;
  padding:.75rem 1rem;
  font-size:1.05rem;
}
.ebh-search input:focus { outline:0; box-shadow:none; border:0; }
.ebh-search__submit {
  position:static;
  width:auto;
  height:auto;
  min-width:7.2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  border:0;
  border-left:1px solid var(--ebh-text);
  border-radius:0;
  background:var(--ebh-text);
  color:var(--ebh-bg);
  padding:.7rem 1rem;
  font-weight:850;
  transform:none;
}
.ebh-search__button-arrow { font-size:1.2rem; line-height:1; transition:transform .16s ease; }
.ebh-search__submit:hover, .ebh-search__submit:focus-visible {
  background:var(--ebh-terracotta-dark);
  border-color:var(--ebh-terracotta-dark);
  transform:none;
}
.ebh-search__submit:hover .ebh-search__button-arrow { transform:translateX(.18rem); }
.ebh-search-results { top:calc(100% + .25rem); border-top:1px solid var(--ebh-border); border-radius:var(--ebh-radius); }
.ebh-alphabet { gap:.35rem .92rem; }
.ebh-home-search .ebh-alphabet a { font-size:.9rem; }

.ebh-home-split { padding:clamp(3.7rem,6vw,5.3rem) 0; }
.ebh-home-block h2 { font-size:clamp(3rem,6vw,5.25rem); }
.ebh-home-block--about { padding:clamp(4rem,7vw,6rem) 0 clamp(4.5rem,8vw,6.5rem); }
.ebh-home-card { min-height:17rem; }

/* Prologues index */
.ebh-prologue-index__intro { max-width:42rem; font-family:var(--ebh-serif); font-size:1.2rem; }
.ebh-main article.ebh-article--wide { max-width:none; }
.ebh-main article.ebh-article--wide > .page-title,
.ebh-main article.ebh-article--wide > .ebh-prose > .ebh-prologue-index__intro { max-width:48rem; }
.ebh-prologue-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; margin-top:2.5rem; width:100%; }
.ebh-prologue-index__item {
  min-height:16rem;
  display:flex;
  flex-direction:column;
  padding:1.4rem;
  border:1px solid var(--ebh-border);
  border-radius:var(--ebh-radius-lg);
  background:var(--ebh-surface);
  color:var(--ebh-text);
  text-decoration:none;
  transition:transform .16s ease, border-color .16s ease;
}
.ebh-prologue-index__item:hover, .ebh-prologue-index__item:focus-visible { transform:translateY(-.2rem); border-color:var(--ebh-terracotta); }
.ebh-prologue-index__item > span { font-size:.72rem; font-weight:850; letter-spacing:.12em; }
.ebh-prologue-index__item strong { margin-top:auto; font:800 clamp(1.7rem,3vw,2.45rem)/.98 var(--ebh-display); letter-spacing:-.03em; }
.ebh-prologue-index__item small { margin-top:.65rem; color:var(--ebh-muted); line-height:1.45; }
.ebh-prologue-index__item b { margin-top:1rem; font-size:1.35rem; font-weight:400; }

@media (max-width:980px) {
  .ebh-home-hero h1 { font-size:clamp(4.2rem,10vw,6.4rem); }
  .ebh-prologue-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ebh-prologue-index__item { min-height:13.5rem; }
}

@media (max-width:680px) {
  .ebh-home-hero__inner { padding:3.25rem 0 3.65rem; }
  .ebh-home-hero h1 { font-size:clamp(3.05rem,12vw,4.15rem); line-height:.9; }
  .ebh-home-hero__lead { margin-top:1rem; font-size:1.12rem; }
  .ebh-home-search { margin-top:1.65rem; }
  .ebh-search__control { grid-template-columns:minmax(0,1fr) auto; }
  .ebh-search input { min-height:3.45rem; padding:.65rem .8rem; font-size:1rem; }
  .ebh-search__submit { min-width:5.9rem; padding:.65rem .75rem; }
  .ebh-search__button-label { font-size:.92rem; }
  .ebh-home-search .ebh-alphabet { margin-top:.8rem; }
  .ebh-home-search .ebh-alphabet a { font-size:.86rem; }
  .ebh-home-card { min-height:13.5rem; }
  .ebh-prologue-index { grid-template-columns:1fr; }
  .ebh-prologue-index__item { min-height:12rem; }
}

/* Typography refinement 0.2.4 — Newsreader + Outfit */
body { font-family:var(--ebh-ui); }

.ebh-prose,
blockquote,
.ebh-home-hero__lead,
.ebh-home-block__content p,
.ebh-prologue-index__intro {
  font-family:var(--ebh-serif);
  font-optical-sizing:auto;
  font-weight:400;
}

.page-title,
.ebh-entry h1,
.ebh-home h1,
.ebh-home h2,
.ebh-home-card strong,
.ebh-prologue-index__item strong,
.site-footer__brand strong,
.site-brand__name {
  font-family:var(--ebh-display);
  font-optical-sizing:auto;
}

/* Give large words more air than the previous Fraunces pass. */
.ebh-home h1 {
  font-weight:700;
  letter-spacing:-.025em;
  line-height:.92;
}

.ebh-entry h1 {
  font-weight:700;
  letter-spacing:-.018em;
  line-height:.9;
}

.ebh-home h2,
.page-title {
  font-weight:700;
  letter-spacing:-.025em;
}

/* Secondary card titles should support the hierarchy, not compete with it. */
.ebh-home-card strong {
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1;
}

/* The numeric portfolio-like markers are deliberately removed. */
.ebh-home-card__eyebrow,
.ebh-prologue-index__item > span {
  display:none !important;
}

/* Home cards: rebalance vertical rhythm now that numbers are gone. */
.ebh-home-card {
  padding:1.7rem;
}
.ebh-home-card strong {
  margin-top:auto;
}

/* Stable Prologues layout: this page has its own template in 0.2.4. */
.ebh-main article.ebh-article--wide {
  max-width:none;
  width:100%;
}
.ebh-prologue-index__header {
  max-width:48rem;
}
.ebh-prologue-index__header .page-title {
  margin-bottom:1.25rem;
}
.ebh-prologue-index__intro {
  max-width:42rem;
  margin:0;
  font-size:clamp(1.12rem,1.8vw,1.28rem);
  line-height:1.5;
}
.ebh-prologue-index {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
  width:100%;
  margin:3rem 0 0;
}
.ebh-prologue-index__item {
  min-width:0;
  min-height:17rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:1.7rem;
  border:1px solid var(--ebh-border);
  border-radius:var(--ebh-radius-lg);
  background:var(--ebh-surface);
  color:var(--ebh-text);
  text-decoration:none;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.ebh-prologue-index__item:hover,
.ebh-prologue-index__item:focus-visible {
  transform:translateY(-.2rem);
  border-color:var(--ebh-terracotta);
  box-shadow:var(--ebh-shadow);
}
.ebh-prologue-index__item strong {
  margin:0;
  font-weight:600;
  font-size:clamp(2rem,2.7vw,2.8rem);
  line-height:1;
  letter-spacing:-.018em;
}
.ebh-prologue-index__item small {
  margin-top:.7rem;
  color:var(--ebh-muted);
  font-family:var(--ebh-serif);
  font-size:1.05rem;
  line-height:1.4;
}
.ebh-prologue-index__item b {
  margin-top:1.4rem;
  font-family:var(--ebh-ui);
  font-size:1.35rem;
  font-weight:500;
}

/* Compact header retained from the previous pass. */
.site-nav-toggle { font-family:var(--ebh-ui); }
@media (min-width:981px) {
  .site-header__inner { min-height:5.15rem; }
}

@media (max-width:980px) {
  .ebh-prologue-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ebh-prologue-index__item { min-height:14.5rem; }
}

@media (max-width:680px) {
  .ebh-prologue-index { grid-template-columns:1fr; gap:1rem; margin-top:2rem; }
  .ebh-prologue-index__item { min-height:12.5rem; }
  .ebh-entry h1 { letter-spacing:-.012em; }
}


/* Refinement 0.2.5 — stronger information hierarchy and dictionary UX */

/* Editorial page titles: retain presence without overwhelming long-form reading. */
.ebh-main .page-title {
  font-size:clamp(2.9rem,6vw,4.75rem);
  line-height:.96;
  letter-spacing:-.02em;
}

/* Homepage: slightly tighter first viewport and a calmer project section. */
.ebh-home-hero__inner {
  padding:clamp(3.85rem,6vw,5.6rem) 0 clamp(3.7rem,5.8vw,5.2rem);
}
.ebh-home-hero h1 {
  font-size:clamp(4.55rem,7.8vw,7rem);
}
.ebh-home-hero__lead {
  margin-top:1.15rem;
}
.ebh-home-search {
  max-width:42rem;
  margin-top:1.85rem;
}
.ebh-home-search .ebh-search { max-width:42rem; }
.ebh-home-section-heading { margin-bottom:1.9rem; }
.ebh-home-section-heading h2 {
  font-size:clamp(2.9rem,5vw,4.8rem);
  max-width:12ch;
  line-height:.94;
}
.ebh-home-card {
  min-height:15.5rem;
  padding:1.6rem;
}
.ebh-home-card strong {
  font-weight:500;
  font-size:clamp(1.85rem,2.8vw,2.65rem);
  line-height:1.02;
  letter-spacing:-.012em;
}
.ebh-home-card > span:not(.ebh-home-card__eyebrow):not(.ebh-home-card__arrow) {
  font-size:.95rem;
  line-height:1.42;
}

/* Word index: dense enough for thousands of entries, but easy to scan. */
.ebh-dictionary-heading {
  max-width:48rem;
  margin-bottom:1.5rem;
}
.ebh-word-index-title {
  margin:2.1rem 0 .9rem;
  font-family:var(--ebh-display);
  font-optical-sizing:auto;
  font-size:clamp(1.7rem,3vw,2.35rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.012em;
}
.ebh-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 1.7rem;
  columns:auto;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--ebh-border);
}
.ebh-list li {
  min-width:0;
  margin:0;
  border-bottom:1px solid color-mix(in srgb, var(--ebh-border) 72%, transparent);
}
.ebh-list a {
  display:block;
  padding:.58rem .08rem .54rem;
  color:var(--ebh-terracotta-dark);
  font-family:var(--ebh-ui);
  font-size:.92rem;
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.ebh-list a:hover,
.ebh-list a:focus-visible {
  color:var(--ebh-text);
  text-decoration:underline;
  text-decoration-color:var(--ebh-terracotta);
  text-decoration-thickness:2px;
}

/* Word pages: typography and navigation behave as one coherent reading unit. */
.ebh-entry h1 {
  font-weight:700;
  font-size:clamp(3.65rem,8.2vw,6.8rem);
  line-height:.92;
  letter-spacing:-.012em;
}
.ebh-nav {
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:1rem;
  margin:1.9rem 0 3.5rem;
  max-width:52rem;
}
.ebh-nav a {
  width:min(48%,18rem);
  min-height:5.25rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.15rem;
  padding:.85rem 1rem;
  border:1px solid var(--ebh-border);
  border-radius:.85rem;
  background:color-mix(in srgb, var(--ebh-surface) 84%, transparent);
  color:var(--ebh-text);
  font-family:var(--ebh-ui);
  text-decoration:none;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.ebh-nav a:hover,
.ebh-nav a:focus-visible {
  border-color:var(--ebh-terracotta);
  background:var(--ebh-surface);
  transform:translateY(-.1rem);
}
.ebh-nav a small {
  color:var(--ebh-muted);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ebh-nav a strong {
  font-size:.98rem;
  font-weight:700;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.ebh-nav__prev { margin-right:auto; text-align:left; }
.ebh-nav__next { margin-left:auto; text-align:right; align-items:flex-end; }

/* Comments: a little more reading rhythm without increasing vertical noise. */
.ebh-comments > h2 {
  margin:2.1rem 0 .7rem;
  font-family:var(--ebh-ui);
  font-size:1.35rem;
  line-height:1.2;
}
.ebh-comment {
  padding:1rem 0 1.05rem;
}
.ebh-comment__author {
  margin-bottom:.2rem;
  font-size:.9rem;
  font-weight:750;
}
.ebh-comment > div:last-child {
  font-size:.96rem;
  line-height:1.55;
}

/* Prologues: one calm row, equal cards, content starts at the top. */
.ebh-prologue-index {
  gap:1.2rem;
  margin-top:2.4rem;
}
.ebh-prologue-index__item {
  min-height:14.5rem;
  justify-content:flex-start;
  padding:1.55rem;
}
.ebh-prologue-index__item strong {
  margin:0;
  font-weight:500;
  font-size:clamp(1.8rem,2.45vw,2.45rem);
  line-height:1.02;
  letter-spacing:-.01em;
}
.ebh-prologue-index__item small {
  margin-top:.6rem;
  font-size:1rem;
  line-height:1.38;
}
.ebh-prologue-index__item b {
  margin-top:auto;
  padding-top:1.15rem;
}

@media (max-width:1100px) {
  .ebh-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:980px) {
  .ebh-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ebh-prologue-index__item { min-height:13.25rem; }
}

@media (max-width:680px) {
  .ebh-home-hero__inner { padding:3rem 0 3.3rem; }
  .ebh-home-hero h1 { font-size:clamp(3rem,11.5vw,4rem); }
  .ebh-home-search { max-width:none; margin-top:1.45rem; }
  .ebh-home-section-heading h2 { font-size:clamp(2.7rem,12vw,4rem); }
  .ebh-home-card { min-height:12.75rem; }
  .ebh-list { grid-template-columns:1fr 1fr; gap:0 1rem; }
  .ebh-list a { font-size:.9rem; padding:.54rem 0; }
  .ebh-nav { gap:.65rem; }
  .ebh-nav a { width:calc(50% - .325rem); min-height:4.8rem; padding:.75rem .8rem; }
  .ebh-prologue-index__item { min-height:11.5rem; }
}

@media (max-width:420px) {
  .ebh-list { grid-template-columns:1fr; }
  .ebh-nav { flex-direction:column; }
  .ebh-nav a { width:100%; }
  .ebh-nav__prev,
  .ebh-nav__next { margin:0; align-items:flex-start; text-align:left; }
}


/* Refinement 0.2.6 — lighter navigation, steadier cards, calmer comments */

/* Primary navigation: Outfit stays functional, but with less visual pressure. */
.site-nav a {
  font-family:var(--ebh-ui);
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.002em;
}

/* Give the project section a change of rhythm without centring the cards themselves. */
.ebh-home-block--about .ebh-home-section-heading {
  max-width:46rem;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ebh-home-block--about .ebh-home-section-heading h2 {
  max-width:14ch;
  margin-left:auto;
  margin-right:auto;
}
.ebh-home-block--about .ebh-home-section-heading .ebh-kicker {
  text-align:center;
}

/* Home cards: titles lead, descriptions support, arrow anchors the base. */
.ebh-home-card {
  justify-content:flex-start;
  align-items:flex-start;
}
.ebh-home-card strong {
  margin-top:0;
  font-weight:600;
  font-size:clamp(1.95rem,2.85vw,2.7rem);
  line-height:1;
  letter-spacing:-.012em;
}
.ebh-home-card > span:not(.ebh-home-card__eyebrow):not(.ebh-home-card__arrow) {
  margin-top:.85rem;
  max-width:24rem;
  color:color-mix(in srgb, var(--ebh-text) 76%, transparent);
  font-family:var(--ebh-ui);
  font-size:.91rem;
  font-weight:400;
  line-height:1.5;
}
.ebh-home-card__arrow {
  margin-top:auto;
  padding-top:1.25rem;
}

/* Existing comments stay available but no longer dominate every dictionary entry. */
.ebh-comments {
  margin-top:3.3rem;
}
.ebh-comments__disclosure {
  max-width:52rem;
  border-top:1px solid var(--ebh-border);
  border-bottom:1px solid var(--ebh-border);
}
.ebh-comments__disclosure summary {
  min-height:4.35rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 0;
  color:var(--ebh-text);
  font-family:var(--ebh-ui);
  font-size:1.08rem;
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.ebh-comments__disclosure summary::-webkit-details-marker { display:none; }
.ebh-comments__disclosure summary::after {
  content:"↓";
  flex:0 0 auto;
  font-size:1.15rem;
  font-weight:500;
  transition:transform .16s ease;
}
.ebh-comments__disclosure[open] summary::after { transform:rotate(180deg); }
.ebh-comments__label-open { display:none; }
.ebh-comments__disclosure[open] .ebh-comments__label-closed { display:none; }
.ebh-comments__disclosure[open] .ebh-comments__label-open { display:inline; }
.ebh-comments__list { padding:0 0 .35rem; }
.ebh-comments__empty {
  margin:0 0 2rem;
  color:var(--ebh-muted);
  font-family:var(--ebh-ui);
  font-size:.96rem;
}
.ebh-comments__form-title {
  margin:2.4rem 0 1rem !important;
}

@media (max-width:980px) {
  .site-nav a {
    font-family:var(--ebh-ui);
    font-size:1.2rem;
    font-weight:600;
    line-height:1.25;
  }
}

@media (max-width:680px) {
  .ebh-home-block--about .ebh-home-section-heading {
    max-width:none;
  }
  .ebh-home-block--about .ebh-home-section-heading h2 {
    max-width:11ch;
  }
  .ebh-home-card strong {
    font-size:clamp(1.9rem,9vw,2.5rem);
  }
  .ebh-comments__disclosure summary {
    min-height:4rem;
    font-size:1rem;
  }
}


/* Refinement 0.2.7 — alternating rhythm on the home and stronger section labels */

/* Slightly larger section labels: visible enough to guide, still secondary. */
.ebh-kicker {
  font-size:.83rem;
  font-weight:800;
  letter-spacing:.14em;
}

/* Restore the project section to the editorial left alignment. */
.ebh-home-block--about .ebh-home-section-heading {
  max-width:38rem;
  margin-left:0;
  margin-right:0;
  text-align:left;
}
.ebh-home-block--about .ebh-home-section-heading h2 {
  max-width:12ch;
  margin-left:0;
  margin-right:0;
}
.ebh-home-block--about .ebh-home-section-heading .ebh-kicker {
  text-align:left;
}

/* Wikihablao becomes the centred participation pause between two left-led sections. */
.ebh-home-block--wiki .ebh-home-split {
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
  gap:1.15rem;
  padding:clamp(4.25rem,7vw,5.65rem) 0;
}
.ebh-home-block--wiki .ebh-home-block__heading,
.ebh-home-block--wiki .ebh-home-block__content {
  width:min(100%, 48rem);
  max-width:48rem;
  margin-inline:auto;
}
.ebh-home-block--wiki .ebh-home-block__heading {
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ebh-home-block--wiki h2 {
  margin:.05rem 0 0;
  font-size:clamp(3.35rem,6.5vw,5.6rem);
}
.ebh-home-block--wiki .ebh-home-block__content p {
  max-width:42rem;
  margin:0 auto 1.15rem;
}
.ebh-home-block--wiki .ebh-text-link {
  justify-content:center;
}

@media (max-width:680px) {
  .ebh-kicker { font-size:.8rem; }
  .ebh-home-block--wiki .ebh-home-split {
    padding:4.25rem 0 4.5rem;
    gap:1rem;
  }
  .ebh-home-block--wiki h2 {
    font-size:clamp(3rem,14vw,4.25rem);
  }
  .ebh-home-block--about .ebh-home-section-heading h2 {
    max-width:11ch;
  }
}


/* Refinement 0.2.8 — clearer labels, a calmer participation block and broader palette */

/* Primary navigation recedes slightly so content keeps the visual lead. */
.site-nav a {
  font-weight:500;
}

/* Section labels gain a touch more presence without becoming headlines. */
.ebh-kicker {
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.145em;
}

/* The hero context must read clearly as part of the identity, especially La Manchuela. */
.ebh-home-hero__copy > .ebh-kicker {
  margin-bottom:1.12rem;
}

/* Wikihablao is a colour field, not a framed component. */
.ebh-home-block--wiki {
  border-bottom:0;
}
.ebh-home-block--wiki .ebh-home-split {
  gap:1.55rem;
}
.ebh-home-block--wiki .ebh-kicker {
  color:var(--ebh-terracotta-dark);
  font-size:.92rem;
  font-weight:800;
  margin-bottom:.8rem;
}
.ebh-home-block--wiki h2 {
  margin:0;
}
.ebh-home-block--wiki .ebh-home-block__content {
  max-width:40rem;
}
.ebh-home-block--wiki .ebh-home-block__content p {
  max-width:38rem;
  margin:0 auto 1.45rem;
}

/* Project section: a little less headline pressure, clearer card copy. */
.ebh-home-block--about .ebh-home-section-heading h2 {
  font-size:clamp(2.7rem,4.55vw,4.4rem);
}
.ebh-home-card > span:not(.ebh-home-card__eyebrow):not(.ebh-home-card__arrow) {
  font-size:.98rem;
  line-height:1.52;
}

/* Blue replaces the repeated green on the third project card. */
.ebh-home-card--blue {
  background:var(--ebh-blue-soft);
}

@media (max-width:980px) {
  .site-nav a {
    font-weight:500;
  }
}

@media (max-width:680px) {
  .ebh-kicker {
    font-size:.84rem;
  }
  .ebh-home-hero__copy > .ebh-kicker {
    margin-bottom:.9rem;
  }
  .ebh-home-block--wiki .ebh-kicker {
    font-size:.87rem;
  }
  .ebh-home-block--wiki .ebh-home-split {
    gap:1.25rem;
  }
}

/* Final home refinement 0.2.9 — quieter search and correct autocomplete layering */

/* The hero must allow autocomplete results to escape over the following colour field. */
.ebh-home-hero {
  overflow:visible;
  z-index:10;
}
.ebh-home-hero__inner,
.ebh-home-search,
.ebh-home-search .ebh-search {
  position:relative;
  z-index:20;
}
.ebh-home-block--wiki {
  position:relative;
  z-index:1;
}
.ebh-home-search .ebh-search-results {
  z-index:1000;
}

/* On the home the visible label is redundant; keep it available to assistive technology. */
.ebh-home-search .ebh-search {
  margin-top:0;
}
.ebh-home-search .ebh-search__control {
  position:relative;
}
.ebh-home-search .ebh-search-results {
  top:calc(100% + .35rem);
}

@media (max-width:680px) {
  .ebh-home-search {
    margin-top:1.35rem;
  }
}


/* Presentación 0.3.0 — long-form editorial treatment */
.ebh-presentation-page {
  padding:clamp(4rem,7vw,6.3rem) 0 clamp(5rem,8vw,7rem);
}
.ebh-presentation {
  max-width:none;
  width:100%;
}
.ebh-presentation__header,
.ebh-presentation__body {
  max-width:58rem;
}
.ebh-presentation__header {
  margin-bottom:2.7rem;
}
.ebh-presentation__header .ebh-kicker {
  margin-bottom:1rem;
}
.ebh-presentation__title {
  margin:0;
  font-family:var(--ebh-display);
  font-optical-sizing:auto;
  font-size:clamp(3.8rem,7vw,6.1rem);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.025em;
}
.ebh-presentation__lead {
  max-width:52rem;
  margin-top:1.75rem;
}
.ebh-presentation__lead p {
  margin:0;
  font-family:var(--ebh-serif);
  font-optical-sizing:auto;
  font-size:clamp(1.38rem,2.2vw,1.72rem);
  font-weight:400;
  line-height:1.48;
}
.ebh-presentation__body {
  font-size:clamp(1.1rem,1.45vw,1.23rem);
  line-height:1.72;
}
.ebh-presentation__body > p {
  margin:0 0 1.35em;
}
.ebh-presentation__body a {
  color:var(--ebh-terracotta-dark);
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}
.ebh-presentation__body strong {
  font-weight:700;
}
.ebh-presentation__signature {
  margin-top:2.8rem !important;
  padding-top:1.4rem;
  border-top:1px solid color-mix(in srgb, var(--ebh-border) 82%, transparent);
  text-align:right;
  font-size:1.08rem;
}
.ebh-presentation__prologues {
  max-width:58rem;
  margin-top:clamp(3.7rem,7vw,5.6rem);
  padding:clamp(1.8rem,4vw,2.7rem);
  border-radius:var(--ebh-radius-lg);
  background:var(--ebh-blue-soft);
}
.ebh-presentation__prologues .ebh-kicker {
  margin-bottom:.8rem;
  color:var(--ebh-terracotta-dark);
}
.ebh-presentation__prologues h2 {
  max-width:16ch;
  margin:0;
  font-family:var(--ebh-display);
  font-optical-sizing:auto;
  font-size:clamp(2.25rem,4.2vw,3.55rem);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.018em;
}
.ebh-presentation__prologue-names {
  margin:1rem 0 1.4rem;
  font-family:var(--ebh-serif);
  font-size:clamp(1.05rem,1.5vw,1.18rem);
  line-height:1.5;
}

@media (max-width:680px) {
  .ebh-presentation-page {
    padding:3.2rem 0 4.5rem;
  }
  .ebh-presentation__header {
    margin-bottom:2.15rem;
  }
  .ebh-presentation__title {
    font-size:clamp(3.1rem,15vw,4.5rem);
  }
  .ebh-presentation__lead {
    margin-top:1.3rem;
  }
  .ebh-presentation__lead p {
    font-size:1.25rem;
    line-height:1.5;
  }
  .ebh-presentation__body {
    font-size:1.08rem;
    line-height:1.7;
  }
  .ebh-presentation__signature {
    text-align:left;
  }
  .ebh-presentation__prologues {
    margin-top:3.25rem;
    padding:1.55rem;
  }
}

/* Consejos de uso 0.3.1 — editorial guide with a restrained prospectus rhythm */
:root {
  --ebh-mustard-soft:#efe0a7;
}
.ebh-advice-page {
  padding:clamp(4rem,7vw,6.3rem) 0 clamp(5rem,8vw,7rem);
}
.ebh-advice {
  width:100%;
  max-width:none !important;
}
.ebh-advice__header,
.ebh-advice__closing {
  max-width:52rem;
}
.ebh-advice__section {
  max-width:58rem;
}
.ebh-advice__header {
  margin-bottom:clamp(3rem,6vw,4.7rem);
}
.ebh-advice__header .ebh-kicker {
  margin-bottom:1rem;
}
.ebh-advice__title {
  margin:0;
  font-family:var(--ebh-display);
  font-optical-sizing:auto;
  font-size:clamp(3.8rem,7vw,6.1rem);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.025em;
}
.ebh-advice__lead {
  max-width:46rem;
  margin-top:1.75rem;
}
.ebh-advice__lead p {
  margin:0;
  font-family:var(--ebh-serif);
  font-optical-sizing:auto;
  font-size:clamp(1.38rem,2.2vw,1.72rem);
  font-weight:400;
  line-height:1.48;
}
.ebh-advice__flow {
  display:grid;
  gap:clamp(2.9rem,6vw,4.7rem);
}
.ebh-advice__section {
  display:grid;
  grid-template-columns:minmax(8.5rem,10.5rem) minmax(0,1fr);
  gap:clamp(1.4rem,3vw,2.5rem);
  align-items:start;
}
.ebh-advice__label {
  margin:.18rem 0 0;
  color:var(--ebh-terracotta-dark);
  font-family:var(--ebh-ui);
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ebh-advice__copy {
  font-size:clamp(1.1rem,1.45vw,1.23rem);
  line-height:1.72;
}
.ebh-advice__copy > p {
  margin:0 0 1.35em;
}
.ebh-advice__copy > p:last-child {
  margin-bottom:0;
}
.ebh-advice__copy a {
  color:var(--ebh-terracotta-dark);
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}
.ebh-advice__contra {
  width:min(100%,58rem);
  margin-left:clamp(0rem,4vw,2.7rem);
  padding:clamp(1.7rem,4vw,2.6rem);
  border-radius:var(--ebh-radius-lg);
  background:var(--ebh-mustard-soft);
}
.ebh-advice__contra .ebh-advice__label {
  margin:0 0 1rem;
  color:var(--ebh-terracotta-dark);
}
.ebh-advice__copy--contra {
  max-width:48rem;
  font-size:clamp(1.14rem,1.6vw,1.3rem);
}
.ebh-advice__closing {
  margin-top:clamp(3.6rem,7vw,5.6rem);
  padding-top:1.5rem;
  border-top:1px solid color-mix(in srgb, var(--ebh-border) 82%, transparent);
  text-align:right;
}
.ebh-advice__signature p {
  margin:0 0 .65rem;
  font-family:var(--ebh-serif);
  font-size:1.02rem;
}
.ebh-advice__salud p {
  margin:0;
  font-family:var(--ebh-display);
  font-size:clamp(1.65rem,3vw,2.35rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.015em;
}

@media (max-width:760px) {
  .ebh-advice__section {
    grid-template-columns:1fr;
    gap:.9rem;
  }
  .ebh-advice__label {
    margin:0;
  }
  .ebh-advice__contra {
    margin-left:0;
  }
}

@media (max-width:680px) {
  .ebh-advice-page {
    padding:3.2rem 0 4.5rem;
  }
  .ebh-advice__header {
    margin-bottom:2.8rem;
  }
  .ebh-advice__title {
    font-size:clamp(3.05rem,14.5vw,4.45rem);
  }
  .ebh-advice__lead {
    margin-top:1.3rem;
  }
  .ebh-advice__lead p {
    font-size:1.25rem;
    line-height:1.5;
  }
  .ebh-advice__flow {
    gap:2.7rem;
  }
  .ebh-advice__copy {
    font-size:1.08rem;
    line-height:1.7;
  }
  .ebh-advice__contra {
    padding:1.55rem;
  }
  .ebh-advice__closing {
    text-align:left;
  }
}

/* Wikihablao 0.3.3 — wider participation layout, clearer hierarchy */
.ebh-wikihablao-page .ebh-container {
  max-width: var(--ebh-max);
}

.ebh-wikihablao-shell {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(3.8rem, 7vw, 6.2rem) 0 clamp(4.5rem, 8vw, 7rem);
}

.ebh-wikihablao-header {
  max-width: 52rem;
  margin-bottom: clamp(2.4rem, 4vw, 3.4rem);
}

.ebh-wikihablao-header .ebh-kicker {
  margin-bottom: .9rem;
}

.ebh-wikihablao-header .page-title {
  margin: 0;
  font-size: clamp(4.3rem, 8.3vw, 7rem);
  line-height: .9;
  letter-spacing: -.045em;
}

.ebh-wikihablao-intro {
  max-width: 39rem;
  margin: 1.6rem 0 0;
  font-family: var(--ebh-serif);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.48;
}

.ebh-wikihablao-intro strong {
  font-weight: 700;
}

.ebh-wikihablao-page .ebh-notice {
  max-width: 62rem;
  margin: 0 0 1.8rem;
}

.ebh-wikihablao-form {
  max-width: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem 1.5rem;
  align-items: start;
}

.ebh-wikihablao-form > p {
  margin: 0;
}

.ebh-wikihablao-form .ebh-wikihablao-field--wide,
.ebh-wikihablao-form .ebh-wikihablao-actions {
  grid-column: 1 / -1;
}

.ebh-wikihablao-form label {
  gap: .5rem;
  font-family: var(--ebh-ui);
  font-size: .98rem;
  font-weight: 600;
}

.ebh-wikihablao-form input,
.ebh-wikihablao-form select,
.ebh-wikihablao-form textarea {
  border-radius: .85rem;
  padding: .95rem 1rem;
  font-family: var(--ebh-ui);
  font-size: 1rem;
  line-height: 1.45;
}

.ebh-wikihablao-form input,
.ebh-wikihablao-form select {
  min-height: 3.65rem;
}

.ebh-wikihablao-form textarea {
  min-height: 9rem;
  resize: vertical;
}

.ebh-wikihablao-form .ebh-wikihablao-field--wide textarea[name="comentarios"] {
  min-height: 7rem;
}

.ebh-wikihablao-actions {
  padding-top: .25rem;
}

.ebh-wikihablao-note {
  max-width: 45rem;
  margin: 1.35rem 0 0;
  padding-top: 1.15rem;
  border-top: 1px solid var(--ebh-border);
  color: var(--ebh-muted);
  font-family: var(--ebh-ui);
  font-size: .92rem;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .ebh-wikihablao-shell {
    width: 100%;
    padding-top: 3.2rem;
  }

  .ebh-wikihablao-header .page-title {
    font-size: clamp(3.7rem, 16vw, 5.3rem);
  }

  .ebh-wikihablao-form {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .ebh-wikihablao-form .ebh-wikihablao-field--wide,
  .ebh-wikihablao-form .ebh-wikihablao-actions {
    grid-column: auto;
  }
}

/* 0.3.4 — Wikihablao editorial hero + compact Contacto */

/* Wikihablao: the participation invitation becomes a full-width editorial hero. */
.ebh-wikihablao-page {
  padding: 0;
}
.ebh-wikihablao-hero {
  background: var(--ebh-green-soft);
}
.ebh-wikihablao-hero .ebh-container {
  max-width: var(--ebh-max);
}
.ebh-wikihablao-header {
  width: min(100%, 54rem);
  margin: 0;
  padding: clamp(3.9rem, 7vw, 6.4rem) 0 clamp(3.6rem, 6vw, 5.4rem);
}
.ebh-wikihablao-header .ebh-kicker {
  margin-bottom: 1.05rem;
  color: var(--ebh-terracotta-dark);
}
.ebh-wikihablao-header .page-title {
  margin: 0;
  font-size: clamp(4.1rem, 8vw, 6.8rem);
  line-height: .9;
  letter-spacing: -.045em;
}
.ebh-wikihablao-intro {
  max-width: 43rem;
  margin: 1.55rem 0 0;
  font-family: var(--ebh-serif);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.5;
}
.ebh-wikihablao-form-section {
  padding: clamp(3.5rem, 6vw, 5rem) 0 clamp(4.5rem, 7vw, 6.25rem);
}
.ebh-wikihablao-form-shell {
  width: min(100%, 56rem);
  margin-inline: auto;
}
.ebh-wikihablao-page .ebh-notice {
  max-width: none;
  margin: 0 0 1.75rem;
}
.ebh-wikihablao-form {
  width: 100%;
  max-width: none;
}
.ebh-wikihablao-note {
  max-width: 48rem;
  margin: 1.35rem 0 0;
}

/* Contacto: compact enough to keep the essential page visible on a laptop viewport. */
.ebh-contact-page {
  padding: clamp(2.4rem, 4vw, 3.5rem) 0 clamp(2.7rem, 4.5vw, 3.8rem);
}
.ebh-contact-shell {
  width: min(100%, 46rem);
  margin-inline: auto;
}
.ebh-contact-header {
  margin-bottom: 1.35rem;
}
.ebh-contact-header .ebh-kicker {
  margin-bottom: .62rem;
}
.ebh-contact-title {
  margin: 0;
  font-family: var(--ebh-display);
  font-size: clamp(3.5rem, 6.5vw, 5rem);
  font-weight: 700;
  line-height: .92;
  letter-spacing: -.04em;
}
.ebh-contact-content .ebh-form--contact {
  max-width: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.15rem;
  row-gap: .82rem;
}
.ebh-contact-content .ebh-form--contact > p {
  margin: 0;
}
.ebh-contact-content .ebh-form--contact > p:nth-of-type(3),
.ebh-contact-content .ebh-form--contact > .ebh-form__note,
.ebh-contact-content .ebh-form--contact > p:last-child,
.ebh-contact-content .ebh-notice {
  grid-column: 1 / -1;
}
.ebh-contact-content .ebh-form--contact label {
  gap: .35rem;
  font-family: var(--ebh-ui);
  font-size: .94rem;
  font-weight: 600;
}
.ebh-contact-content .ebh-form--contact input,
.ebh-contact-content .ebh-form--contact textarea {
  padding: .72rem .82rem;
  border-radius: .72rem;
  font-family: var(--ebh-ui);
  font-size: .98rem;
}
.ebh-contact-content .ebh-form--contact input {
  min-height: 3rem;
}
.ebh-contact-content .ebh-form--contact textarea {
  min-height: 8.5rem;
  height: 8.5rem;
  resize: vertical;
}
.ebh-contact-content .ebh-form__note {
  margin-top: -.1rem !important;
  font-size: .84rem;
  line-height: 1.45;
}
.ebh-contact-content .ebh-form--contact > p:last-child {
  padding-top: .1rem;
}
.ebh-contact-content .ebh-button {
  padding: .72rem 1.15rem;
}

@media (max-width: 760px) {
  .ebh-wikihablao-header {
    width: 100%;
    padding: 3.2rem 0 3.4rem;
  }
  .ebh-wikihablao-header .page-title {
    font-size: clamp(3.7rem, 16vw, 5.3rem);
  }
  .ebh-wikihablao-form-section {
    padding-top: 3rem;
  }
  .ebh-contact-page {
    padding-top: 2.6rem;
  }
  .ebh-contact-content .ebh-form--contact {
    grid-template-columns: 1fr;
    row-gap: .85rem;
  }
  .ebh-contact-content .ebh-form--contact > p:nth-of-type(3),
  .ebh-contact-content .ebh-form--contact > .ebh-form__note,
  .ebh-contact-content .ebh-form--contact > p:last-child,
  .ebh-contact-content .ebh-notice {
    grid-column: auto;
  }
}


/* 0.3.5 — Prólogos: retratos editoriales y páginas individuales con más presencia */
.ebh-prologues-page {
  padding: clamp(4rem, 7vw, 6.5rem) 0 clamp(5rem, 8vw, 7rem);
}

.ebh-prologues-overview__header {
  max-width: 46rem;
  margin-bottom: clamp(2.4rem, 5vw, 3.4rem);
}

.ebh-prologues-overview__header .ebh-kicker {
  margin-bottom: .95rem;
}

.ebh-prologues-overview__intro {
  max-width: 40rem;
  margin: 1.45rem 0 0;
  font-family: var(--ebh-serif);
  font-size: clamp(1.22rem, 2vw, 1.5rem);
  line-height: 1.5;
}

.ebh-prologues-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.ebh-prologue-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  color: var(--ebh-text);
  text-decoration: none;
  background: color-mix(in srgb, var(--ebh-surface) 92%, white);
  border: 1px solid color-mix(in srgb, var(--ebh-border) 90%, transparent);
  border-radius: var(--ebh-radius-lg);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ebh-prologue-card:hover,
.ebh-prologue-card:focus-visible {
  transform: translateY(-.28rem);
  box-shadow: var(--ebh-shadow);
  border-color: color-mix(in srgb, var(--ebh-terracotta) 35%, var(--ebh-border));
}

.ebh-prologue-card__media {
  margin: 0;
  aspect-ratio: 4 / 3.65;
  overflow: hidden;
  background: #d8d0c4;
}

.ebh-prologue-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  filter: saturate(.88) contrast(.98) brightness(1.01);
}

.ebh-prologue-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.35rem 1.35rem 1.45rem;
}

.ebh-prologue-card__role {
  margin: 0 0 .9rem;
  color: var(--ebh-terracotta-dark);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ebh-prologue-card strong {
  display: block;
  font-family: var(--ebh-display);
  font-size: clamp(1.9rem, 3vw, 2.65rem);
  font-weight: 700;
  line-height: .96;
  letter-spacing: -.03em;
}

.ebh-prologue-card small {
  display: block;
  margin-top: .9rem;
  color: var(--ebh-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.ebh-prologue-card__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: auto;
  padding-top: 1.2rem;
  color: var(--ebh-text);
  font-size: .95rem;
  font-weight: 800;
}

.ebh-prologue-card__link b {
  font-size: 1.18rem;
  font-weight: 500;
}

.ebh-prologue-page {
  padding: clamp(4rem, 7vw, 6.25rem) 0 clamp(5rem, 8vw, 7rem);
}

.ebh-prologue-page .ebh-container {
  width: min(calc(100% - 2.4rem), 82rem);
}

.ebh-prologue-article {
  max-width: none !important;
}

.ebh-prologue-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 22rem);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2.3rem, 5vw, 3.2rem);
}

.ebh-prologue-hero__copy {
  max-width: 46rem;
}

.ebh-prologue-hero .page-title {
  margin-bottom: 1rem;
  font-size: clamp(3.3rem, 6vw, 5.55rem);
}

.ebh-prologue-hero__role {
  margin: 0;
  color: var(--ebh-terracotta-dark);
  font-size: .96rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.ebh-prologue-hero__intro {
  max-width: 36rem;
  margin: 1.1rem 0 0;
  font-family: var(--ebh-serif);
  font-size: clamp(1.18rem, 1.9vw, 1.42rem);
  line-height: 1.55;
}

.ebh-prologue-hero__media {
  margin: 0;
  justify-self: end;
  width: min(100%, 22rem);
  aspect-ratio: 4 / 4.7;
  border-radius: var(--ebh-radius-lg);
  overflow: hidden;
  background: #d8d0c4;
  box-shadow: var(--ebh-shadow);
}

.ebh-prologue-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
  filter: saturate(.9) contrast(.98) brightness(1.01);
}

.ebh-prologue-body {
  max-width: 46rem;
  font-size: clamp(1.12rem, 1.45vw, 1.24rem);
  line-height: 1.76;
}

.ebh-prologue-body p:last-child {
  margin-bottom: 0;
}

.ebh-prologue-footer {
  display: grid;
  gap: 1.5rem;
  max-width: 58rem;
  margin-top: clamp(3rem, 6vw, 4.5rem);
  padding-top: 1.6rem;
  border-top: 1px solid color-mix(in srgb, var(--ebh-border) 88%, transparent);
}

.ebh-prologue-footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ebh-prologue-footer__item {
  display: block;
  padding: 1rem 1.15rem;
  border: 1px solid color-mix(in srgb, var(--ebh-border) 92%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--ebh-surface) 86%, white);
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-prologue-footer__item:hover,
.ebh-prologue-footer__item:focus-visible {
  border-color: color-mix(in srgb, var(--ebh-terracotta) 35%, var(--ebh-border));
}

.ebh-prologue-footer__item small {
  display: block;
  margin-bottom: .4rem;
  color: var(--ebh-terracotta-dark);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ebh-prologue-footer__item strong {
  display: block;
  font-family: var(--ebh-display);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.02em;
}

@media (max-width: 980px) {
  .ebh-prologues-overview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ebh-prologue-hero {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    align-items: start;
  }

  .ebh-prologue-hero__media {
    justify-self: start;
    width: min(100%, 18rem);
    aspect-ratio: 4 / 4.6;
  }
}

@media (max-width: 680px) {
  .ebh-prologues-page,
  .ebh-prologue-page {
    padding-top: 3.2rem;
  }

  .ebh-prologues-overview__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .ebh-prologue-card__body {
    padding: 1.2rem 1.2rem 1.3rem;
  }

  .ebh-prologue-hero .page-title {
    font-size: clamp(3rem, 14vw, 4.4rem);
  }

  .ebh-prologue-body {
    font-size: 1.08rem;
    line-height: 1.72;
  }

  .ebh-prologue-footer__links {
    grid-template-columns: 1fr;
  }
}


/* 0.3.6 — Prólogos refinados: menos card, más catálogo editorial */
.ebh-prologues-overview__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}

.ebh-prologue-teaser {
  min-width: 0;
}

.ebh-prologue-teaser__image-link {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.ebh-prologue-teaser__media {
  width: clamp(7.5rem, 11vw, 9rem);
  aspect-ratio: 102 / 134;
  margin: 0 0 1.35rem;
  border-radius: .8rem;
  overflow: hidden;
  background: #d8d0c4;
}

.ebh-prologue-teaser__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.9) contrast(.98) brightness(1.01);
  transition: transform .2s ease;
}

.ebh-prologue-teaser__image-link:hover img,
.ebh-prologue-teaser__image-link:focus-visible img {
  transform: scale(1.02);
}

.ebh-prologue-teaser__body {
  max-width: 18rem;
}

.ebh-prologue-teaser h2 {
  margin: 0;
  font-family: var(--ebh-display);
  font-size: clamp(1.95rem, 3vw, 2.65rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.03em;
}

.ebh-prologue-teaser h2 a {
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-prologue-teaser h2 a:hover,
.ebh-prologue-teaser h2 a:focus-visible {
  color: var(--ebh-terracotta-dark);
}

.ebh-prologue-teaser__body > p {
  margin: .75rem 0 0;
  color: var(--ebh-muted);
  font-size: .95rem;
  line-height: 1.5;
}

.ebh-prologue-teaser__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: 1.15rem;
  color: var(--ebh-text);
  font-size: .93rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.ebh-prologue-teaser__link span {
  transition: transform .18s ease;
}

.ebh-prologue-teaser__link:hover span,
.ebh-prologue-teaser__link:focus-visible span {
  transform: translateX(.2rem);
}

.ebh-prologue-page .ebh-container {
  width: min(calc(100% - 2.4rem), 76rem);
}

.ebh-prologue-hero {
  grid-template-columns: minmax(0, 1fr) 9rem;
  gap: clamp(2rem, 4vw, 3.5rem);
  max-width: 64rem;
  align-items: start;
  margin-bottom: clamp(2.7rem, 5vw, 3.8rem);
}

.ebh-prologue-hero__copy {
  max-width: 50rem;
}

.ebh-prologue-hero .page-title {
  max-width: 13ch;
  margin-bottom: 1rem;
  font-size: clamp(3.25rem, 5.7vw, 5.2rem);
}

.ebh-prologue-hero__media {
  width: 9rem;
  aspect-ratio: 102 / 134;
  justify-self: end;
  border-radius: .85rem;
  box-shadow: none;
}

.ebh-prologue-hero__media img {
  object-position: center;
  filter: saturate(.9) contrast(.98) brightness(1.01);
}

.ebh-prologue-body {
  max-width: 52rem;
  font-size: clamp(1.12rem, 1.45vw, 1.24rem);
  line-height: 1.76;
}

.ebh-prologue-footer {
  max-width: 52rem;
  gap: 1.25rem;
  margin-top: clamp(3rem, 6vw, 4.5rem);
  padding-top: 1.4rem;
}

.ebh-prologue-footer__back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  color: var(--ebh-text);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}

.ebh-prologue-footer__back:hover,
.ebh-prologue-footer__back:focus-visible {
  color: var(--ebh-terracotta-dark);
}

.ebh-prologue-footer__siblings {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: flex-end;
}

.ebh-prologue-footer__sibling {
  display: block;
  max-width: 18rem;
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-prologue-footer__sibling--next {
  margin-left: auto;
  text-align: right;
}

.ebh-prologue-footer__sibling small {
  display: block;
  margin-bottom: .25rem;
  color: var(--ebh-terracotta-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ebh-prologue-footer__sibling strong {
  display: block;
  font-family: var(--ebh-display);
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.02em;
}

.ebh-prologue-footer__sibling:hover strong,
.ebh-prologue-footer__sibling:focus-visible strong {
  color: var(--ebh-terracotta-dark);
}

/* The 0.3.5 card styles remain for backward compatibility but are no longer used. */

@media (max-width: 860px) {
  .ebh-prologues-overview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ebh-prologue-hero {
    grid-template-columns: minmax(0, 1fr) 7.5rem;
    gap: 1.75rem;
  }

  .ebh-prologue-hero__media {
    width: 7.5rem;
  }
}

@media (max-width: 620px) {
  .ebh-prologues-overview__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .ebh-prologue-teaser {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
  }

  .ebh-prologue-teaser__media {
    width: 6.5rem;
    margin: 0;
  }

  .ebh-prologue-teaser__body {
    max-width: none;
  }

  .ebh-prologue-hero {
    grid-template-columns: 1fr;
  }

  .ebh-prologue-hero__media {
    justify-self: start;
    width: 7rem;
    order: -1;
  }

  .ebh-prologue-footer__siblings {
    flex-direction: column;
    align-items: stretch;
    gap: 1.2rem;
  }

  .ebh-prologue-footer__sibling--next {
    margin-left: 0;
    text-align: left;
  }
}


/* 0.3.7 — Afinación final del índice de Prólogos */
.ebh-prologues-overview__header {
  margin-bottom: clamp(1.8rem, 3vw, 2.35rem);
}

.ebh-prologues-overview__grid {
  width: min(100%, 64rem);
  margin-inline: auto;
  gap: clamp(2.4rem, 4vw, 3.6rem);
}

.ebh-prologue-teaser h2 {
  font-size: clamp(1.82rem, 2.7vw, 2.45rem);
}

@media (max-width: 860px) {
  .ebh-prologues-overview__grid {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .ebh-prologues-overview__header {
    margin-bottom: 1.8rem;
  }

  .ebh-prologue-teaser h2 {
    font-size: clamp(1.75rem, 8vw, 2.2rem);
  }
}


/* 0.3.8 — Prólogos alineados + Diccionario como interfaz principal de exploración */

/* Prólogos: la colección vuelve al mismo eje izquierdo que su cabecera. */
.ebh-prologues-overview__grid {
  width: min(100%, 64rem);
  margin-inline: 0;
}

/* Diccionario */
.ebh-dictionary-page {
  padding: clamp(3.5rem, 6vw, 5.3rem) 0 clamp(5rem, 8vw, 7rem);
}

.ebh-dictionary-heading {
  max-width: 62rem;
  margin: 0 0 clamp(2.8rem, 5vw, 4rem);
}

.ebh-dictionary-heading .page-title {
  margin-bottom: clamp(1.8rem, 3vw, 2.4rem);
}

.ebh-dictionary-search {
  max-width: 52rem;
}

.ebh-dictionary-search .ebh-search {
  max-width: none;
  margin-top: 0;
}

.ebh-dictionary-search .ebh-alphabet {
  margin: 1rem 0 0;
}

.ebh-dictionary-content {
  width: 100%;
  padding-top: clamp(2.3rem, 4vw, 3.2rem);
  border-top: 1px solid color-mix(in srgb, var(--ebh-border) 88%, transparent);
}

.ebh-dictionary-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(1.8rem, 3vw, 2.5rem);
}

.ebh-dictionary-section-heading .ebh-kicker {
  margin-bottom: .55rem;
}

.ebh-dictionary-section-heading h2 {
  margin: 0;
  font-family: var(--ebh-display);
  font-size: clamp(2.3rem, 4vw, 3.65rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.025em;
}

.ebh-dictionary-count {
  flex: 0 0 auto;
  margin: 0 0 .25rem;
  color: var(--ebh-muted);
  font-size: .92rem;
  font-weight: 500;
}

/* Estado inicial: auténtico índice alfabético, no una pantalla vacía. */
.ebh-letter-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(1.3rem, 3vw, 2.5rem);
  border-top: 1px solid var(--ebh-border);
}

.ebh-letter-overview__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: .75rem;
  min-width: 0;
  padding: 1.05rem .1rem 1rem;
  border-bottom: 1px solid color-mix(in srgb, var(--ebh-border) 78%, transparent);
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-letter-overview__item strong {
  min-width: 1.65rem;
  font-family: var(--ebh-display);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
}

.ebh-letter-overview__item span {
  color: var(--ebh-muted);
  font-size: .88rem;
}

.ebh-letter-overview__item b {
  font-size: 1rem;
  font-weight: 500;
  transition: transform .16s ease;
}

.ebh-letter-overview__item:not(.is-empty):hover,
.ebh-letter-overview__item:not(.is-empty):focus-visible {
  color: var(--ebh-terracotta-dark);
}

.ebh-letter-overview__item:not(.is-empty):hover b,
.ebh-letter-overview__item:not(.is-empty):focus-visible b {
  transform: translateX(.2rem);
}

.ebh-letter-overview__item.is-empty {
  opacity: .38;
  pointer-events: none;
}

/* Estado por letra: muchos vocablos, pero legibles y escaneables. */
.ebh-dictionary-word-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 clamp(1.2rem, 3vw, 2.25rem);
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--ebh-border);
}

.ebh-dictionary-word-grid li {
  min-width: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ebh-border) 72%, transparent);
}

.ebh-dictionary-word-grid a {
  display: block;
  padding: .72rem .05rem .68rem;
  color: var(--ebh-text);
  font-size: .94rem;
  font-weight: 550;
  line-height: 1.25;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.ebh-dictionary-word-grid a:hover,
.ebh-dictionary-word-grid a:focus-visible {
  color: var(--ebh-terracotta-dark);
  text-decoration: underline;
  text-decoration-color: var(--ebh-terracotta);
  text-decoration-thickness: 1.5px;
}

/* Búsqueda: contexto suficiente para elegir una entrada sin sobrecargar. */
.ebh-search-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.2rem;
}

.ebh-search-result-item {
  max-width: none !important;
  padding: 1.25rem 1.3rem 1.2rem;
  border: 1px solid color-mix(in srgb, var(--ebh-border) 88%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--ebh-surface) 82%, transparent);
}

.ebh-search-result-item h3 {
  margin: 0;
  font-family: var(--ebh-display);
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.02em;
}

.ebh-search-result-item h3 a {
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-search-result-item h3 a:hover,
.ebh-search-result-item h3 a:focus-visible {
  color: var(--ebh-terracotta-dark);
}

.ebh-search-result-item p {
  margin: .72rem 0 0;
  color: var(--ebh-muted);
  font-family: var(--ebh-serif);
  font-size: 1rem;
  line-height: 1.48;
}

.ebh-search-result-item__link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: 1rem;
  color: var(--ebh-text);
  font-size: .86rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.ebh-search-result-item__link span {
  transition: transform .16s ease;
}

.ebh-search-result-item__link:hover span,
.ebh-search-result-item__link:focus-visible span {
  transform: translateX(.18rem);
}

.ebh-dictionary-empty {
  max-width: 42rem;
  padding: 1.5rem 0;
}

.ebh-dictionary-empty p {
  margin: 0 0 1rem;
  font-family: var(--ebh-serif);
  font-size: 1.12rem;
}

.ebh-dictionary-pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid color-mix(in srgb, var(--ebh-border) 80%, transparent);
  font-size: .9rem;
}

.ebh-dictionary-pagination a {
  color: var(--ebh-text);
  font-weight: 650;
  text-decoration: none;
}

.ebh-dictionary-pagination__next {
  justify-self: end;
}

.ebh-dictionary-pagination__status {
  color: var(--ebh-muted);
}

@media (max-width: 920px) {
  .ebh-letter-overview,
  .ebh-dictionary-word-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .ebh-dictionary-page {
    padding-top: 3rem;
  }

  .ebh-dictionary-heading {
    margin-bottom: 2.5rem;
  }

  .ebh-dictionary-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: .65rem;
  }

  .ebh-dictionary-count {
    margin: 0;
  }

  .ebh-letter-overview,
  .ebh-dictionary-word-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ebh-search-result-grid {
    grid-template-columns: 1fr;
  }

  .ebh-dictionary-pagination {
    grid-template-columns: 1fr 1fr;
  }

  .ebh-dictionary-pagination__status {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
  }
}

@media (max-width: 430px) {
  .ebh-letter-overview,
  .ebh-dictionary-word-grid {
    grid-template-columns: 1fr;
  }
}


/* 0.3.9 — Diccionario: descubrimiento + ajuste de diacríticos en fichas */

/* El índice alfabético principal vive en "Explora el diccionario"; no se duplica bajo el buscador. */
.ebh-dictionary-search {
  margin-bottom: 0;
}

/* Palabra del día: una pausa visual entre la búsqueda y el índice completo. */
.ebh-word-of-day {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(1.5rem, 4vw, 4rem);
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
  padding: clamp(1.8rem, 4vw, 3rem);
  border-radius: var(--ebh-radius-lg);
  background: #e7d8b4;
}

.ebh-word-of-day__copy {
  min-width: 0;
}

.ebh-word-of-day .ebh-kicker {
  margin-bottom: .7rem;
}

.ebh-word-of-day h2 {
  margin: 0;
  font-family: var(--ebh-display);
  font-size: clamp(3.6rem, 7vw, 6.6rem);
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.04em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.ebh-word-of-day__copy > p:not(.ebh-kicker) {
  max-width: 42rem;
  margin: 1.1rem 0 0;
  font-family: var(--ebh-serif);
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
  line-height: 1.55;
}

.ebh-word-of-day__link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: .2rem;
  color: var(--ebh-text);
  font-size: .95rem;
  font-weight: 750;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  white-space: nowrap;
}

.ebh-word-of-day__link span {
  transition: transform .16s ease;
}

.ebh-word-of-day__link:hover span,
.ebh-word-of-day__link:focus-visible span {
  transform: translateX(.2rem);
}

/* Las tildes, diéresis y la Ñ necesitan una zona superior real; no deben invadir la cejilla. */
.ebh-entry__meta {
  margin-bottom: .9rem;
}

.ebh-entry h1 {
  margin-top: 0;
  line-height: .95;
  padding-top: .04em;
}

@media (max-width: 700px) {
  .ebh-word-of-day {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1.3rem;
    padding: 1.55rem;
  }

  .ebh-word-of-day h2 {
    font-size: clamp(3rem, 15vw, 5rem);
  }

  .ebh-word-of-day__link {
    justify-self: start;
  }
}


/* 0.3.10 — navegación alfabética persistente dentro de cada letra */
.ebh-dictionary-letter-switcher {
  margin: -0.35rem 0 clamp(1.75rem, 3vw, 2.35rem);
  padding: .95rem 0 1.05rem;
  border-top: 1px solid color-mix(in srgb, var(--ebh-border) 82%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--ebh-border) 82%, transparent);
}

.ebh-dictionary-letter-switcher__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .72rem;
  font-family: var(--ebh-ui);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ebh-dictionary-letter-switcher__heading > span {
  color: var(--ebh-terracotta-dark);
}

.ebh-dictionary-letter-switcher__heading a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--ebh-text);
  font-size: .76rem;
  font-weight: 650;
  letter-spacing: .02em;
  text-transform: none;
  text-decoration: none;
}

.ebh-dictionary-letter-switcher__heading a:hover,
.ebh-dictionary-letter-switcher__heading a:focus-visible {
  color: var(--ebh-terracotta-dark);
}

.ebh-dictionary-letter-switcher .ebh-alphabet {
  gap: .28rem .88rem;
  margin: 0;
}

.ebh-dictionary-letter-switcher .ebh-alphabet a {
  font-size: .9rem;
  font-weight: 750;
}

@media (max-width: 700px) {
  .ebh-dictionary-letter-switcher__heading {
    align-items: flex-start;
  }

  .ebh-dictionary-letter-switcher .ebh-alphabet {
    gap: .35rem .8rem;
  }
}


/* 0.3.11 — afinación de navegación por letras y títulos con diacríticos */
/* La navegación alfabética permanece visible en el estado por letra. */
.ebh-dictionary-letter-switcher {
  margin-top: -.15rem;
}

/* Reserva vertical real entre origen/zonas y el gran vocablo.
   El padding evita el colapso de márgenes y protege Ñ, tildes y diéresis. */
.ebh-entry__meta {
  margin: 0;
}

.ebh-entry__meta + h1 {
  margin-top: 0;
  padding-top: clamp(.9rem, 1.5vw, 1.25rem);
}

.ebh-entry h1 {
  line-height: 1.01;
  overflow: visible;
}

@media (max-width: 700px) {
  .ebh-entry__meta + h1 {
    padding-top: .8rem;
  }
}


/* 0.3.12 — Filtro de procedencia Bienhablao / Wikihablao */
.ebh-source-filter {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-top: .9rem;
  min-height: 2.2rem;
  font-family: var(--ebh-ui);
}

.ebh-source-filter__label {
  flex: 0 0 auto;
  color: var(--ebh-muted);
  font-size: .82rem;
  font-weight: 600;
}

.ebh-source-filter__options {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
}

.ebh-source-filter__options a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .34rem .72rem .38rem;
  border: 1px solid color-mix(in srgb, var(--ebh-border) 92%, transparent);
  border-radius: 999px;
  background: transparent;
  color: var(--ebh-text);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease;
}

.ebh-source-filter__options a:hover,
.ebh-source-filter__options a:focus-visible {
  border-color: color-mix(in srgb, var(--ebh-terracotta) 55%, var(--ebh-border));
  color: var(--ebh-terracotta-dark);
}

.ebh-source-filter__options a[aria-current="page"] {
  border-color: var(--ebh-text);
  background: var(--ebh-text);
  color: var(--ebh-bg);
}

.ebh-source-filter__options a:active {
  transform: translateY(1px);
}

/* El filtro forma parte de la herramienta de búsqueda, no de la sección siguiente. */
.ebh-dictionary-search {
  max-width: 52rem;
}

/* Estado de carga discreto para el autocompletado filtrado. */
.ebh-search.is-searching .ebh-search__control {
  opacity: .82;
}

@media (max-width: 620px) {
  .ebh-source-filter {
    align-items: flex-start;
    flex-direction: column;
    gap: .55rem;
  }

  .ebh-source-filter__options {
    width: 100%;
  }

  .ebh-source-filter__options a {
    flex: 1 1 auto;
  }
}

/* 0.3.14 — Blog integrado y archivo editorial */
.ebh-blog-hero {
  border-bottom: 1px solid var(--ebh-border);
}

.ebh-blog-hero__inner {
  padding: clamp(4.5rem, 8vw, 7.5rem) 0 clamp(3.4rem, 6vw, 5.2rem);
}

.ebh-blog-hero h1 {
  max-width: 60rem;
  margin: 0;
  font-family: var(--ebh-display);
  font-size: clamp(4.2rem, 9vw, 7.6rem);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.055em;
}

.ebh-blog-hero__lead {
  max-width: 47rem;
  margin: 1.45rem 0 0;
  font-family: var(--ebh-serif);
  font-size: clamp(1.22rem, 2.2vw, 1.58rem);
  line-height: 1.5;
}

.ebh-blog-shell {
  padding: 0 0 clamp(5rem, 9vw, 8rem);
}

.ebh-blog-topics {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: 1.3rem 0;
  border-bottom: 1px solid var(--ebh-border);
}

.ebh-blog-topics a {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  padding: .42rem .78rem;
  border-radius: 999px;
  color: var(--ebh-text);
  font-size: .92rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}

.ebh-blog-topics a:hover,
.ebh-blog-topics a:focus-visible {
  background: var(--ebh-soft);
}

.ebh-blog-topics a[aria-current="page"] {
  background: var(--ebh-text);
  color: var(--ebh-bg);
}

.ebh-blog-feature {
  margin: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 7vw, 6rem);
  padding: clamp(1.8rem, 4vw, 3.25rem);
  border-radius: var(--ebh-radius-lg);
  background: var(--ebh-green-soft);
}

.ebh-blog-feature__meta,
.ebh-blog-card__meta,
.ebh-post-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem .85rem;
  color: var(--ebh-muted);
  font-size: .79rem;
  font-weight: 650;
}

.ebh-blog-feature__meta span,
.ebh-blog-card__meta span {
  color: var(--ebh-terracotta-dark);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
  font-weight: 800;
}

.ebh-blog-feature__content {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-top: clamp(2.2rem, 4vw, 3.7rem);
}

.ebh-blog-feature__eyebrow {
  margin: 0 0 .55rem;
  color: var(--ebh-muted);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.ebh-blog-feature h2,
.ebh-blog-section-heading h2,
.ebh-blog-card h3,
.ebh-post-header h1 {
  font-family: var(--ebh-display);
  letter-spacing: -.04em;
}

.ebh-blog-feature h2 {
  margin: 0;
  font-size: clamp(2.6rem, 5.3vw, 4.9rem);
  font-weight: 700;
  line-height: .98;
}

.ebh-blog-feature h2 a,
.ebh-blog-card h3 a {
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-blog-feature h2 a:hover,
.ebh-blog-card h3 a:hover {
  color: var(--ebh-terracotta-dark);
}

.ebh-blog-feature__summary p {
  margin: 0 0 1.4rem;
  font-family: var(--ebh-serif);
  font-size: 1.12rem;
  line-height: 1.55;
}

.ebh-blog-read {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--ebh-text);
  font-size: .88rem;
  font-weight: 750;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.ebh-blog-read span {
  transition: transform .16s ease;
}

.ebh-blog-read:hover span,
.ebh-blog-read:focus-visible span {
  transform: translateX(.18rem);
}

.ebh-blog-archive-list {
  margin-top: clamp(3rem, 6vw, 5rem);
}

.ebh-blog-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: 1.8rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--ebh-border);
}

.ebh-blog-section-heading .ebh-kicker {
  margin-bottom: .4rem;
}

.ebh-blog-section-heading h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 700;
  line-height: 1;
}

.ebh-blog-section-heading > p {
  margin: 0 0 .15rem;
  color: var(--ebh-muted);
  font-size: .85rem;
}

.ebh-blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ebh-border);
  border-left: 1px solid var(--ebh-border);
}

.ebh-blog-card {
  display: flex;
  flex-direction: column;
  min-height: 22rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-right: 1px solid var(--ebh-border);
  border-bottom: 1px solid var(--ebh-border);
}

.ebh-blog-card h3 {
  margin: 1.35rem 0 .8rem;
  font-size: clamp(1.75rem, 3.2vw, 2.45rem);
  font-weight: 650;
  line-height: 1.02;
}

.ebh-blog-card > p {
  max-width: 36rem;
  margin: 0 0 1.5rem;
  color: color-mix(in srgb, var(--ebh-text) 86%, var(--ebh-muted));
  font-family: var(--ebh-serif);
  font-size: 1.03rem;
}

.ebh-blog-card .ebh-blog-read {
  margin-top: auto;
  align-self: flex-start;
}

.ebh-blog-empty {
  padding: 3rem 0;
  font-family: var(--ebh-serif);
  font-size: 1.15rem;
}

.ebh-blog-pagination {
  margin-top: 2.3rem;
}

.ebh-blog-pagination .page-numbers {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: 0;
}

.ebh-blog-pagination a,
.ebh-blog-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.3rem;
  min-height: 2.3rem;
  padding: .35rem .68rem;
  border: 1px solid var(--ebh-border);
  border-radius: 999px;
  color: var(--ebh-text);
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}

.ebh-blog-pagination .current {
  border-color: var(--ebh-text);
  background: var(--ebh-text);
  color: var(--ebh-bg);
}

/* Entrada individual */
.ebh-post-page {
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 9vw, 8rem);
}

.ebh-post {
  max-width: 64rem;
  margin: 0 auto;
}

.ebh-post-header {
  max-width: 59rem;
  margin-bottom: clamp(2.8rem, 6vw, 4.8rem);
}

.ebh-post-header .ebh-kicker {
  margin-bottom: .75rem;
}

.ebh-post-header h1 {
  margin: 0;
  font-size: clamp(3.1rem, 7vw, 6.2rem);
  font-weight: 700;
  line-height: .94;
  overflow-wrap: anywhere;
}

/* Los títulos largos conservan el carácter editorial sin dominar toda la primera pantalla. */
.ebh-post-header h1.ebh-title--long {
  font-size: clamp(2.95rem, 6vw, 5.45rem);
}

.ebh-post-header h1.ebh-title--very-long {
  font-size: clamp(2.7rem, 5.35vw, 4.85rem);
}

.ebh-blog-feature h2.ebh-title--long {
  font-size: clamp(2.45rem, 4.8vw, 4.35rem);
}

.ebh-blog-feature h2.ebh-title--very-long {
  font-size: clamp(2.3rem, 4.35vw, 3.95rem);
}

.ebh-post-header__meta {
  margin-top: 1.3rem;
}

.ebh-post-content {
  max-width: 52rem;
  font-family: var(--ebh-serif);
  font-size: clamp(1.06rem, 1.5vw, 1.18rem);
  line-height: 1.72;
}

.ebh-post-content > p,
.ebh-post-content > ul,
.ebh-post-content > ol,
.ebh-post-content > blockquote,
.ebh-post-content > figure,
.ebh-post-content > div {
  margin-top: 0;
  margin-bottom: 1.35em;
}

/* Limpiamos decisiones tipográficas heredadas del WordPress de 2009,
   sin reescribir ni alterar el contenido original. */
.ebh-post-content p[align],
.ebh-post-content p[style*="text-align"] {
  text-align: left !important;
}

.ebh-post-content span[style*="font-size"] {
  font-size: inherit !important;
}

.ebh-post-content h2,
.ebh-post-content h3,
.ebh-post-content h4 {
  margin: 2.2em 0 .75em;
  font-family: var(--ebh-display);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.ebh-post-content h2 { font-size: clamp(2rem, 4vw, 3rem); }
.ebh-post-content h3 { font-size: clamp(1.55rem, 3vw, 2.15rem); }

.ebh-post-content blockquote {
  margin-left: 0;
  padding: .2rem 0 .2rem 1.5rem;
  border-left: 3px solid var(--ebh-mustard);
  font-size: 1.12em;
}

.ebh-post-content img {
  height: auto;
  border-radius: .45rem;
}

.ebh-post-content iframe,
.ebh-post-content video,
.ebh-post-content .wp-block-embed__wrapper {
  width: 100%;
  max-width: 100%;
}

.ebh-post-content iframe {
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
}

.ebh-post-content .wp-video,
.ebh-post-content .wp-audio-shortcode {
  max-width: 100%;
}

.ebh-post-footer {
  margin-top: clamp(3.8rem, 7vw, 5.5rem);
  padding-top: 1.4rem;
  border-top: 1px solid var(--ebh-border);
}

.ebh-post-footer__back {
  display: inline-flex;
  gap: .45rem;
  color: var(--ebh-text);
  font-size: .86rem;
  font-weight: 750;
  text-decoration: none;
}

.ebh-post-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 2.8rem;
}

.ebh-post-navigation > div:empty {
  display: none;
}

.ebh-post-navigation__next {
  text-align: right;
}

.ebh-post-navigation a {
  display: inline-flex;
  flex-direction: column;
  gap: .28rem;
  color: var(--ebh-text);
  text-decoration: none;
}

.ebh-post-navigation small {
  color: var(--ebh-muted);
  font-size: .72rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.ebh-post-navigation strong {
  font-family: var(--ebh-serif);
  font-size: 1rem;
  font-weight: 600;
}

/* Comentarios históricos y nuevos */
.ebh-post-comments {
  max-width: 52rem;
  margin-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--ebh-border);
  border-bottom: 1px solid var(--ebh-border);
}

.ebh-post-comments > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  list-style: none;
  font-size: .88rem;
  font-weight: 750;
}

.ebh-post-comments > summary::-webkit-details-marker { display: none; }

.ebh-post-comments > summary strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  min-height: 1.8rem;
  border-radius: 999px;
  background: var(--ebh-soft);
  font-size: .76rem;
}

.ebh-post-comments__body {
  padding: .5rem 0 2rem;
}

.ebh-comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ebh-comment-list .comment {
  padding: 1.4rem 0;
  border-top: 1px solid color-mix(in srgb, var(--ebh-border) 75%, transparent);
}

.ebh-comment-list .comment:first-child {
  border-top: 0;
}

.ebh-comment-list .comment-meta {
  margin-bottom: .65rem;
  color: var(--ebh-muted);
  font-size: .78rem;
}

.ebh-comment-list .comment-author {
  color: var(--ebh-text);
  font-weight: 700;
}

.ebh-comment-list .comment-content {
  font-family: var(--ebh-serif);
  font-size: 1.02rem;
}

.ebh-comment-list .reply,
.ebh-comment-list .edit-link,
.ebh-comment-list .says {
  font-size: .78rem;
}

.ebh-post-comments__empty {
  color: var(--ebh-muted);
  font-family: var(--ebh-serif);
}

.ebh-comment-form-wrap {
  margin-top: 2.4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ebh-border);
}

.ebh-comment-form-title {
  margin: 0 0 1.2rem;
  font-family: var(--ebh-display);
  font-size: 2rem;
}

.ebh-comment-form-wrap label {
  display: block;
  margin-bottom: .35rem;
  font-size: .78rem;
  font-weight: 700;
}

.ebh-comment-form-wrap input[type="text"],
.ebh-comment-form-wrap input[type="email"],
.ebh-comment-form-wrap input[type="url"],
.ebh-comment-form-wrap textarea {
  width: 100%;
  border: 1px solid var(--ebh-border);
  border-radius: .55rem;
  background: var(--ebh-surface);
  color: var(--ebh-text);
  padding: .8rem .9rem;
}

.ebh-comment-form-wrap textarea {
  min-height: 9rem;
  resize: vertical;
}

.ebh-comment-form-wrap .form-submit input {
  border: 0;
  border-radius: 999px;
  background: var(--ebh-text);
  color: var(--ebh-bg);
  padding: .72rem 1.15rem;
  font-weight: 750;
  cursor: pointer;
}

@media (max-width: 780px) {
  .ebh-blog-feature__content,
  .ebh-blog-grid,
  .ebh-post-navigation {
    grid-template-columns: 1fr;
  }

  .ebh-blog-feature__content {
    align-items: start;
  }

  .ebh-blog-card {
    min-height: 0;
  }

  .ebh-blog-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: .65rem;
  }

  .ebh-post-navigation__next {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .ebh-blog-topics {
    gap: .3rem;
  }

  .ebh-blog-topics a {
    flex: 1 1 auto;
    justify-content: center;
  }

  .ebh-blog-feature {
    padding: 1.45rem;
  }

  .ebh-post-header h1 {
    font-size: clamp(2.7rem, 14vw, 4.3rem);
  }

  .ebh-post-header h1.ebh-title--long,
  .ebh-post-header h1.ebh-title--very-long {
    font-size: clamp(2.45rem, 12.2vw, 3.85rem);
  }
}

/* 0.3.18 — pulido responsive: hero, navegación móvil y fichas de palabra */

/* La transición hacia Wikihablao se apoya solo en el cambio de fondo. */
.ebh-home-hero {
  border-bottom: 0;
}

/* La ilustración acompaña la portada sin competir con título y buscador. */
.ebh-home-hero__visual {
  display: none;
  margin: 0;
  pointer-events: none;
}

@media (min-width: 861px) {
  .ebh-home-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(17rem, 25vw, 23rem);
    grid-template-areas:
      "copy visual"
      "search visual";
    column-gap: clamp(2rem, 4vw, 4.2rem);
    align-items: center;
  }

  .ebh-home-hero__copy {
    grid-area: copy;
  }

  .ebh-home-search {
    grid-area: search;
    width: 100%;
  }

  .ebh-home-hero__visual {
    grid-area: visual;
    display: block;
    width: 100%;
    max-width: 23rem;
    justify-self: end;
    align-self: center;
    aspect-ratio: 1100 / 610;
    background: url("assets/tomando-fresco-bienhablao.png") center / contain no-repeat;
    opacity: .82;
    transform: translateY(.35rem);
  }
}

/* Menú móvil a pantalla completa, centrado y sin divisores. */
@media (max-width: 980px) {
  body.ebh-nav-open {
    overflow: hidden;
  }

  .site-nav {
    position: fixed;
    inset: 4.9rem 0 0;
    width: 100vw;
    height: calc(100dvh - 4.9rem);
    padding: clamp(2.2rem, 8vh, 5rem) 1.5rem;
    background: var(--ebh-bg);
    border: 0;
    overflow-y: auto;
  }

  body.admin-bar .site-nav {
    top: calc(4.9rem + 32px);
    bottom: auto;
    height: calc(100dvh - 4.9rem - 32px);
  }

  .site-nav[data-open] {
    display: grid;
    place-items: center;
  }

  .site-nav__list,
  .site-nav ul {
    width: 100%;
    max-width: 30rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .25rem;
  }

  .site-nav li {
    width: 100%;
    border: 0;
  }

  .site-nav a {
    display: block;
    padding: .72rem 1rem;
    text-align: center;
    font-size: clamp(1.42rem, 5vw, 1.72rem);
    font-weight: 550;
    line-height: 1.2;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-nav {
    top: calc(4.9rem + 46px);
    height: calc(100dvh - 4.9rem - 46px);
  }
}

/* Los vocablos nunca se parten: JS reduce solo los que realmente lo necesitan. */
.ebh-entry h1[data-ebh-fit-word] {
  max-width: 100%;
  white-space: nowrap;
}

/* En "Palabra del día" solo los vocablos que desbordan reducen su tamaño mediante JS. */
.ebh-word-of-day h2[data-ebh-fit-word] {
  max-width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 680px) {
  /* Más aire en portada antes del buscador y, sobre todo, al final del hero. */
  .ebh-home-hero__inner {
    padding-top: 4rem;
    padding-bottom: 5.25rem;
  }

  .ebh-home-hero__lead {
    margin-top: 1.25rem;
  }

  .ebh-home-search {
    margin-top: 2.55rem;
  }

  /* Letras más fáciles de pulsar sin convertir el índice en botones pesados. */
  .ebh-home-search .ebh-alphabet {
    gap: .18rem .32rem;
    margin-top: 1.15rem;
    line-height: 1;
  }

  .ebh-home-search .ebh-alphabet a {
    min-width: 2rem;
    min-height: 2.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .2rem .1rem;
    font-size: 1.04rem;
    line-height: 1;
  }

  /* La navegación por letras del diccionario necesita la misma comodidad táctil. */
  .ebh-dictionary-letter-switcher {
    padding-top: 1.2rem;
    padding-bottom: 1.25rem;
  }

  .ebh-dictionary-letter-switcher__heading {
    margin-bottom: .95rem;
  }

  .ebh-dictionary-letter-switcher .ebh-alphabet {
    gap: .18rem .3rem;
    line-height: 1;
  }

  .ebh-dictionary-letter-switcher .ebh-alphabet a {
    min-width: 2rem;
    min-height: 2.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .2rem .1rem;
    font-size: 1.05rem;
    line-height: 1;
  }
}


/* 0.3.19 — ajustes finales de portada y menú móvil */

/* La ilustración es una imagen real para poder sustituirla desde el Personalizador. */
.ebh-home-hero__visual {
  aspect-ratio: auto;
  background: none;
}
.ebh-home-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
}

/* Sin ilustración, la hero vuelve a una composición de una sola columna. */
@media (min-width: 861px) {
  .ebh-home-hero__inner:not(.has-hero-visual) {
    display: block;
  }

  .ebh-home-hero__inner.has-hero-visual {
    row-gap: 0;
  }

  /* Un poco más de aire entre el texto introductorio y el buscador en escritorio. */
  .ebh-home-hero__inner.has-hero-visual .ebh-home-search,
  .ebh-home-hero__inner:not(.has-hero-visual) .ebh-home-search {
    margin-top: 2rem;
  }
}

/* El acceso A–Z sustituye al abecedario completo únicamente en móvil. */
.ebh-home-search__mobile-link {
  display: none;
}

/* El icono hamburguesa se transforma en una X cuando el menú está abierto. */
.site-nav-toggle__icon {
  width: 1.45rem;
  height: 1.05rem;
  border: 0;
  background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
  position: relative;
}
.site-nav-toggle__icon::before,
.site-nav-toggle__icon::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  border-top: 2px solid currentColor;
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease;
}
.site-nav-toggle__icon::before {
  transform: translateY(-.42rem);
}
.site-nav-toggle__icon::after {
  transform: translateY(.32rem);
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon {
  background-size: 0 2px;
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon::before {
  transform: translateY(-1px) rotate(45deg);
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon::after {
  transform: translateY(-1px) rotate(-45deg);
}

@media (max-width: 680px) {
  .ebh-home-search .ebh-alphabet {
    display: none;
  }

  .ebh-home-search__mobile-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.35rem;
    font-family: var(--ebh-ui);
    font-size: .96rem;
    font-weight: 750;
  }
}

/* Compartir: acción discreta al final de la lectura. */
.ebh-share {
  max-width: 52rem;
  margin: 2rem 0;
  color: var(--ebh-muted);
  font-family: var(--ebh-ui);
}
/* Compensa el margen inferior de la ficha sin alterar las acepciones agrupadas. */
.ebh-entry + .ebh-share {
  margin-top: -1.5rem;
  margin-bottom: 3rem;
}
.ebh-share[hidden],
.ebh-share__manual[hidden] {
  display: none;
}
.ebh-share__button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: .35rem .15rem;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  font: 600 .86rem/1.4 var(--ebh-ui);
  cursor: pointer;
}
.ebh-share__button svg {
  flex: 0 0 auto;
}
.ebh-share__button:hover {
  color: var(--ebh-text);
}
.ebh-share__button:focus-visible,
.ebh-share__url:focus-visible {
  outline: 2px solid var(--ebh-accent-strong);
  outline-offset: 4px;
}
.ebh-share__button[aria-disabled="true"] {
  cursor: progress;
}
.ebh-share__manual {
  margin-top: .75rem;
  font-size: .875rem;
}
.ebh-share__url {
  display: block;
  width: min(100%, 38rem);
  margin-top: .4rem;
  padding: .6rem .75rem;
  border: 1px solid var(--ebh-border);
  border-radius: .2rem;
  background: var(--ebh-surface);
  color: var(--ebh-text);
  font-size: 1rem;
}
.ebh-post > .ebh-share {
  margin-top: 2.5rem;
}
.ebh-share:not([hidden]) + .ebh-post-footer {
  margin-top: 2rem;
}
