/* =========================================================
   POETAS ANDALUCES · sistema visual
   Tokens, base, header, menú overlay, componentes y footer.
   El CSS por plantilla vive en project-*.css
   ========================================================= */

/* ---------- Fuentes (definidas también en child-modules/12-project-fonts.php para el preload) ---------- */
@font-face { font-family: "Geist"; src: url("../fonts/Geist-VariableFont_wght.ttf") format("truetype-variations"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("../fonts/InstrumentSerif-Italic.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("../fonts/InstrumentSerif-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  --pa-ink: #0e0b09;
  --pa-ink-2: #17110d;
  --pa-ink-3: #211813;
  --pa-bone: #e4d9c4;
  --pa-bone-2: rgba(228, 217, 196, 0.72);
  --pa-bone-3: rgba(228, 217, 196, 0.5);
  --pa-line: rgba(228, 217, 196, 0.16);
  --pa-wine: #651910;
  --pa-wine-2: #4d120b;
  --pa-ember: #d06a35;

  --pa-sans: "Geist", "Helvetica Neue", Arial, sans-serif;
  --pa-serif: "Instrument Serif", Georgia, "Times New Roman", serif;

  --pa-gutter: 20px;
  --pa-header-h: 70px;
  --pa-ease: cubic-bezier(0.65, 0.05, 0.2, 1);
  --pa-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 1024px) {
  :root { --pa-gutter: 20px; }
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }
img, svg, video, iframe { max-width: 100%; }
img, video { height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
ul[role="list"], ol[role="list"] { list-style: none; margin: 0; padding: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- Base ---------- */
html { background: var(--pa-ink); scrollbar-gutter: stable; }

body.poetas {
  margin: 0;
  background: var(--pa-ink);
  color: var(--pa-bone);
  font-family: var(--pa-sans);
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

/* Grano de película sobre toda la web */
body.poetas::after {
  content: "";
  position: fixed;
  inset: -50%;
  z-index: 10001;
  pointer-events: none;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: pa-grain 1.2s steps(6) infinite;
}

@keyframes pa-grain {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-3%, 2%); }
  40% { transform: translate(2%, -3%); }
  60% { transform: translate(-2%, -1%); }
  80% { transform: translate(3%, 3%); }
  100% { transform: translate(0, 0); }
}

body.poetas a { color: inherit; text-decoration: none; }
body.poetas img { display: block; max-width: 100%; }
body.poetas ::selection { background: var(--pa-wine); color: var(--pa-bone); }
body.poetas :focus-visible { outline: 1px solid var(--pa-bone); outline-offset: 4px; }

.pa-main { display: block; }
.pa-cover { width: 100%; height: 100%; object-fit: cover; }
/* Gradación común: todas las fotos comparten tono cálido y contraste contenido */
img.pa-cover { filter: sepia(0.14) saturate(0.88) brightness(0.9) contrast(1.04); }
.pa-center { text-align: center; }
.pa-dim { color: var(--pa-bone-3); }

/* Placeholder cuando aún no hay foto */
.pa-ph {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 200px;
  background:
    radial-gradient(90% 70% at 30% 100%, rgba(208, 106, 53, 0.35), transparent 60%),
    linear-gradient(160deg, #2a1d16, #120d0a);
}

/* ---------- Tipografía ---------- */
.pa-label {
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--pa-bone-3);
}

.pa-display,
.pa-h1,
.pa-h2,
.pa-h3 {
  margin: 0;
  font-family: var(--pa-sans);
  font-weight: 500;
  text-transform: uppercase;
  color: var(--pa-bone);
  text-wrap: balance;
}

.pa-display { font-size: clamp(64px, 12.2vw, 200px); line-height: 0.84; letter-spacing: -0.055em; }
.pa-h1 { font-size: clamp(54px, 8.4vw, 136px); line-height: 0.86; letter-spacing: -0.05em; }
.pa-h2 { font-size: clamp(46px, 6.2vw, 96px); line-height: 0.88; letter-spacing: -0.045em; }
.pa-h3 { font-size: clamp(36px, 3.8vw, 60px); line-height: 0.9; letter-spacing: -0.04em; }

/* Acento: palabra en cursiva serif, en minúscula */
.pa-display em,
.pa-h1 em,
.pa-h2 em,
.pa-h3 em,
.pa-cols__title em {
  font-family: var(--pa-serif);
  font-style: italic;
  font-weight: 400;
  text-transform: none;
  letter-spacing: -0.02em;
  font-size: 1.08em;
  line-height: 0.8;
}

.pa-lead {
  margin: 28px auto 0;
  max-width: 34ch;
  font-size: 18px;
  line-height: 1.45;
  color: var(--pa-bone-2);
}

.pa-prose { color: var(--pa-bone-2); font-size: 18px; line-height: 1.55; }
.pa-prose p { margin: 0 0 1.1em; }
.pa-prose h2, .pa-prose h3 {
  margin: 1.8em 0 0.6em;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--pa-bone);
}
.pa-prose h2 { font-size: 40px; }
.pa-prose h3 { font-size: 28px; }
.pa-prose a { color: var(--pa-bone); border-bottom: 1px solid var(--pa-bone-3); }
.pa-prose blockquote {
  margin: 1.6em 0;
  font-family: var(--pa-serif);
  font-style: italic;
  font-size: 34px;
  line-height: 1.15;
  color: var(--pa-bone);
}
.pa-prose ul, .pa-prose ol { padding-left: 1.2em; margin: 0 0 1.1em; }
.pa-prose img { margin: 2em 0; width: 100%; height: auto; }

/* ---------- Enlaces subrayados (Bellavista) ---------- */
.pa-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--pa-bone);
  padding-bottom: 3px;
}
.pa-link span { position: relative; }
.pa-link span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 1px;
  background: currentColor;
  transform-origin: right;
  transition: transform 0.6s var(--pa-ease);
}
.pa-link:hover span::after { animation: pa-underline 0.8s var(--pa-ease); }
.pa-link--plain span::after { transform: scaleX(0); transform-origin: left; }
.pa-link--plain:hover span::after { animation: none; transform: scaleX(1); }
.pa-link--strong { font-size: 18px; }

/* ---------- Botón principal (hueso sobre tinta) ---------- */
.pa-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 28px;
  background: var(--pa-bone);
  color: var(--pa-ink);
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  transition: opacity 0.3s;
}
.pa-btn span { color: var(--pa-ink); }
.pa-btn svg { width: 18px; height: 18px; fill: none; stroke: var(--pa-ink); stroke-width: 1.6; }
.pa-btn:hover { opacity: 0.8; }

@keyframes pa-underline {
  0% { transform: scaleX(1); transform-origin: right; }
  45% { transform: scaleX(0); transform-origin: right; }
  46% { transform: scaleX(0); transform-origin: left; }
  100% { transform: scaleX(1); transform-origin: left; }
}

/* ---------- Rejilla de líneas verticales ---------- */
.pa-grid-lines {
  position: absolute;
  inset: 0 var(--pa-gutter);
  z-index: 1;
  pointer-events: none;
  border-left: 1px solid var(--pa-line);
  border-right: 1px solid var(--pa-line);
}
.pa-grid-lines span {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--pa-line);
}
.pa-grid-lines span:nth-child(1) { left: 33.333%; }
.pa-grid-lines span:nth-child(2) { left: 66.666%; }
.pa-grid-lines span:nth-child(3) { display: none; }

@media (max-width: 767px) {
  .pa-grid-lines span:nth-child(1) { left: 50%; }
  .pa-grid-lines span:nth-child(2) { display: none; }
}

/* ---------- Divisor con punto ---------- */
.pa-divider {
  position: relative;
  height: 1px;
  margin: 140px var(--pa-gutter) 0;
  background: var(--pa-line);
}
.pa-divider span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64px;
  height: 64px;
  color: var(--pa-bone-3);
  background: var(--pa-ink);
  box-shadow: 0 0 0 18px var(--pa-ink);
  transform: translate(-50%, -50%);
}

/* Sello de la casa (la «P» del monograma en doble anillo). */
.pa-seal { display: block; width: 100%; height: 100%; }

/* ---------- Secciones genéricas ---------- */
.pa-section { position: relative; padding: 140px 0 0; }
.pa-section:last-child { padding-bottom: 140px; }
.pa-head { position: relative; padding: 0 var(--pa-gutter); }
.pa-head--center { text-align: center; }
.pa-head--center .pa-h2 { margin-inline: auto; }

@media (max-width: 767px) {
  .pa-section { padding-top: 96px; }
  .pa-section:last-child { padding-bottom: 96px; }
  .pa-divider { margin-top: 96px; }
}

/* Botones circulares */
.pa-round {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border: 0;
  border-radius: 50%;
  background: var(--pa-bone);
  color: var(--pa-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.4s var(--pa-ease-out), background 0.3s;
}
.pa-round:hover { transform: scale(1.08); background: #fff; }
.pa-round svg { width: 22px; height: 22px; }

/* Etiquetas de plato */
.pa-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 9px;
  border: 1px solid var(--pa-line);
  border-radius: 999px;
  font-family: var(--pa-sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pa-bone-2);
  vertical-align: 2px;
}
.pa-tag--especialidad { border-color: var(--pa-ember); color: var(--pa-ember); }

/* =========================================================
   HEADER
   ========================================================= */
.pa-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px var(--pa-gutter);
  pointer-events: none;
}
.pa-header > * { pointer-events: auto; }

body.admin-bar .pa-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .pa-header { top: 46px; } }

.pa-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--pa-bone);
  line-height: 1;
}
/* Wordmark de la marca (gótico), en currentColor. */
.pa-logo__img { display: block; height: 32px; width: auto; }

.pa-header__actions {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 5px;
  background: var(--pa-bone);
}
.pa-header__book {
  display: inline-flex;
  align-items: center;
  padding: 0 22px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--pa-ink) !important;
  transition: opacity 0.3s;
}
.pa-header__book:hover { opacity: 0.65; }

.pa-burger {
  position: relative;
  width: 70px;
  height: 50px;
  border: 0;
  background: var(--pa-wine);
  cursor: pointer;
  transition: background 0.3s;
}
.pa-burger:hover { background: var(--pa-wine-2); }
.pa-burger span {
  position: absolute;
  left: 18px;
  right: 18px;
  height: 1.5px;
  background: var(--pa-bone);
  transition: transform 0.5s var(--pa-ease), top 0.5s var(--pa-ease);
}
.pa-burger span:nth-child(1) { top: 20px; }
.pa-burger span:nth-child(2) { top: 29px; }
.is-menu-open .pa-burger span:nth-child(1) { top: 24.5px; transform: rotate(45deg); }
.is-menu-open .pa-burger span:nth-child(2) { top: 24.5px; transform: rotate(-45deg); }

@media (max-width: 640px) {
  .pa-logo__img { height: 22px; }
  .pa-header__book { font-size: 14px; padding: 0 12px; }
  .pa-burger { width: 54px; height: 44px; }
  .pa-burger span { left: 15px; right: 15px; }
  .pa-burger span:nth-child(1) { top: 17px; }
  .pa-burger span:nth-child(2) { top: 26px; }
  .is-menu-open .pa-burger span:nth-child(1),
  .is-menu-open .pa-burger span:nth-child(2) { top: 21.5px; }
}

@media (max-width: 374px) {
  .pa-logo__img { height: 18px; }
  .pa-header__book { font-size: 12px; padding: 0 9px; }
}

/* =========================================================
   MENÚ OVERLAY
   ========================================================= */
.pa-menu {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--pa-ink);
  visibility: hidden;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.9s var(--pa-ease), visibility 0s linear 0.9s;
  overflow-y: auto;
}
.is-menu-open .pa-menu {
  visibility: visible;
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.9s var(--pa-ease), visibility 0s;
}
.pa-menu__grid {
  position: absolute;
  inset: 0 var(--pa-gutter);
  border-left: 1px solid var(--pa-line);
  border-right: 1px solid var(--pa-line);
  pointer-events: none;
}
.pa-menu__grid span { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--pa-line); }
.pa-menu__grid span:nth-child(1) { left: 33.333%; }
.pa-menu__grid span:nth-child(2) { left: 66.666%; }
.pa-menu__grid span:nth-child(3) { display: none; }

.pa-menu__inner {
  position: relative;
  min-height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
  padding: calc(var(--pa-header-h) + clamp(24px, 7vh, 70px)) calc(var(--pa-gutter) + 24px) 48px;
}
@media (min-width: 1024px) {
  .pa-menu__inner { grid-template-columns: 2fr 1fr; align-items: end; padding-bottom: clamp(32px, 6vh, 64px); }
}
.pa-menu__nav ul { list-style: none; margin: 0; padding: 0; }
.pa-menu__link {
  display: inline-flex;
  align-items: flex-start;
  gap: 18px;
  padding: 4px 0;
  overflow: hidden;
}
.pa-menu__num { margin-top: 1.1em; font-size: 13px; color: var(--pa-bone-3); font-variant-numeric: tabular-nums; }
.pa-menu__text {
  display: inline-block;
  /* También limitado por la altura: 5-6 enlaces caben en portátiles de poca altura sin desbordar. */
  font-size: clamp(40px, min(8vw, 10.5vh), 128px);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  transform: translateY(110%);
  transition: transform 0.9s var(--pa-ease-out), color 0.3s;
}
.is-menu-open .pa-menu__text { transform: none; }
.is-menu-open .pa-menu__nav li:nth-child(1) .pa-menu__text { transition-delay: 0.25s, 0s; }
.is-menu-open .pa-menu__nav li:nth-child(2) .pa-menu__text { transition-delay: 0.32s, 0s; }
.is-menu-open .pa-menu__nav li:nth-child(3) .pa-menu__text { transition-delay: 0.39s, 0s; }
.is-menu-open .pa-menu__nav li:nth-child(4) .pa-menu__text { transition-delay: 0.46s, 0s; }
.is-menu-open .pa-menu__nav li:nth-child(5) .pa-menu__text { transition-delay: 0.53s, 0s; }
.is-menu-open .pa-menu__nav li:nth-child(6) .pa-menu__text { transition-delay: 0.6s, 0s; }
.pa-menu__nav:hover .pa-menu__text { color: var(--pa-bone-3); }
.pa-menu__nav .pa-menu__link:hover .pa-menu__text,
.pa-menu__link[aria-current="page"] .pa-menu__text { color: var(--pa-bone); }
.pa-menu__link[aria-current="page"] .pa-menu__text { font-family: var(--pa-serif); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: -0.02em; }

.pa-menu__aside {
  display: grid;
  gap: 36px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s, transform 0.8s var(--pa-ease-out);
}
.is-menu-open .pa-menu__aside { opacity: 1; transform: none; transition-delay: 0.5s; }
.pa-menu__info { margin: 0 0 6px; font-size: 20px; line-height: 1.3; letter-spacing: -0.02em; }
.pa-menu__info--dim { color: var(--pa-bone-3); }
.pa-menu__info a:hover { color: #fff; }
.pa-menu__social { display: flex; flex-wrap: wrap; gap: 24px; }

html.is-menu-open,
html.is-menu-open body { overflow: hidden; }

/* =========================================================
   CABECERA DE PÁGINA INTERIOR
   ========================================================= */
.pa-page-hero {
  position: relative;
  min-height: 86vh;
  min-height: 86svh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  text-align: center;
}
.pa-page-hero__media { position: absolute; inset: 0; }
.pa-page-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 11, 9, 0.55) 0%, rgba(14, 11, 9, 0.2) 40%, rgba(14, 11, 9, 0.9) 100%);
}
.pa-page-hero__inner { position: relative; z-index: 2; padding: 160px var(--pa-gutter) 110px; }
.pa-page-hero .pa-label { color: var(--pa-bone-2); }

/* =========================================================
   CTA + FOOTER
   ========================================================= */
.pa-cta {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
}
.pa-cta__bg { position: absolute; inset: -12% 0; }
.pa-cta__bg::after { content: ""; position: absolute; inset: 0; background: rgba(14, 11, 9, 0.5); }
.pa-cta__inner { position: relative; z-index: 2; padding: 120px var(--pa-gutter); }
.pa-cta .pa-h2 { max-width: 9ch; margin-inline: auto; }
.pa-cta__rating {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
  font-size: 16px;
  color: var(--pa-bone-2);
}
.pa-stars { display: inline-flex; gap: 4px; color: #e2a33b; }
.pa-stars svg { width: 18px; height: 18px; }
.pa-cta__links { display: flex; justify-content: center; gap: 32px; margin-top: 36px; }

.pa-footer-wrap { position: relative; overflow: hidden; background: var(--pa-ink); }
.pa-footer-wrap__dark { position: absolute; inset: 0; background: #000; opacity: 0; pointer-events: none; }
.pa-footer { padding: 0 var(--pa-gutter) var(--pa-gutter); }
.pa-footer__card {
  position: relative;
  min-height: calc(100vh - var(--pa-gutter));
  display: flex;
  flex-direction: column;
  padding: 50px 50px 28px;
  background: var(--pa-wine);
  color: var(--pa-bone);
  overflow: hidden;
}
.pa-footer__card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.25;
  mix-blend-mode: overlay;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.pa-footer__top {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
}
@media (min-width: 1024px) {
  .pa-footer__top { grid-template-columns: 2fr 1fr 1fr; }
}
/* En el pie va el monograma: el wordmark ya ocupa el ancho entero abajo. */
.pa-logo--footer .pa-logo__img { height: 72px; }
.pa-footer__desc { max-width: 30ch; margin: 22px 0 0; color: var(--pa-bone-2); font-size: 17px; }
.pa-footer__contact { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 6px; font-size: 18px; }
.pa-footer__contact a:hover { color: #fff; }
.pa-footer .pa-label { color: var(--pa-bone-2); }
.pa-footer__big { list-style: none; margin: 0; padding: 0; }
.pa-footer__big a {
  display: inline-block;
  font-size: clamp(34px, 3.2vw, 46px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  transition: opacity 0.3s, transform 0.5s var(--pa-ease-out);
}
.pa-footer__big a:hover { opacity: 0.6; transform: translateX(6px); }
.pa-footer__big--sm a { font-size: 26px; }
.pa-footer__hours { margin: 0 0 6px; font-size: 20px; letter-spacing: -0.02em; }
.pa-footer__hours--dim { color: var(--pa-bone-2); font-size: 16px; }
.pa-footer__social { margin-top: 40px; }

.pa-footer__giant {
  position: relative;
  margin-top: auto;
  padding-top: 48px;
  line-height: 0;
}
.pa-footer__giant svg { display: block; width: 100%; height: auto; color: var(--pa-bone); }
.pa-footer__bottom {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 28px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(228, 217, 196, 0.2);
  font-size: 13px;
  color: var(--pa-bone-2);
}
.pa-footer__bottom p { margin: 0; }
.pa-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 20px; list-style: none; margin: 0; padding: 0; }
.pa-footer__legal a:hover { color: var(--pa-bone); }
.pa-credit { display: inline-flex; align-items: center; gap: 10px; }
.pa-credit a { opacity: 0.7; transition: opacity 0.3s; }
.pa-credit a:hover { opacity: 1; }
.pa-credit img { height: 22px; width: auto; }

@media (max-width: 767px) {
  .pa-footer__card { padding: 36px 22px 22px; min-height: 0; }
  .pa-cta__links { flex-direction: column; align-items: center; gap: 18px; }
}

/* =========================================================
   ANIMACIONES (estado inicial; JS las resuelve)
   ========================================================= */
.pa-js [data-reveal] { opacity: 0; transform: translateY(30px); }
.pa-js [data-reveal-media] { clip-path: inset(12% 0 0 0); }
.pa-js [data-reveal-media] > * { transform: scale(1.15); }
.pa-split-line { display: block; overflow: hidden; padding: 0.16em 0.1em 0.3em; margin: -0.16em -0.1em -0.3em; }
.pa-split-line:last-child { margin-bottom: -0.06em; }
.pa-split-line.is-done { overflow: visible; }
.pa-split-line > span { display: inline-block; }

@media (prefers-reduced-motion: reduce) {
  body.poetas::after { animation: none; }
  .pa-js [data-reveal],
  .pa-js [data-reveal-media],
  .pa-js [data-reveal-media] > * { opacity: 1; transform: none; clip-path: none; }
}
