/* Página dedicada: comparte paleta y fuentes con la dedicatoria principal. */
.poems-page { min-height: 100svh; }
.poems-main { width: min(1120px, calc(100% - 36px)); margin: 0 auto; padding: 28px 12px 110px; position: relative; }
.poems-back { display: inline-flex; align-items: center; gap: 12px; min-height: 42px; padding: 8px 18px; border: 1px solid rgba(255,255,255,.67); border-radius: 999px; background: rgba(255,248,242,.55); backdrop-filter: blur(15px); color: var(--wine); box-shadow: 0 10px 28px rgba(91,24,49,.09); font: 500 11px var(--sans); text-transform: uppercase; letter-spacing: .16em; transition: transform .2s, background .2s; }
.poems-back span { font: 400 21px var(--serif); line-height: 1; }
.poems-back:hover { transform: translateX(-3px); background: rgba(255,248,242,.82); }
.poems-frame { position: relative; margin: 35px auto 0; width: min(770px, 100%); }
.poems-frame::before, .poems-frame::after { content: ""; position: absolute; width: 320px; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); pointer-events: none; z-index: 0; }
.poems-frame::before { top: 62px; left: -205px; box-shadow: 0 0 0 45px rgba(255,255,255,.025); }
.poems-frame::after { top: 370px; right: -205px; box-shadow: 0 0 0 45px rgba(255,255,255,.025); }
.poems-heading { text-align: center; position: relative; z-index: 1; margin-bottom: 39px; }
.poems-eyebrow { display: block; margin-bottom: 14px; color: #855062; font: 500 11px var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.poems-heading h1 { margin: 0; line-height: 1; font: italic 500 clamp(67px, 12vw, 112px)/.96 var(--serif); letter-spacing: -.06em; color: var(--wine-deep); }
.poems-rule { display: flex; align-items: center; justify-content: center; gap: 17px; margin: 25px auto 0; color: #9d6071; font: 400 22px var(--serif); }
.poems-rule::before, .poems-rule::after { content: ""; width: 80px; height: 1px; background: linear-gradient(90deg, transparent, rgba(91,24,49,.34)); }
.poems-rule::after { transform: rotate(180deg); }
.poem-paper { position: relative; z-index: 1; padding: clamp(33px, 7vw, 69px) clamp(23px, 7vw, 78px) 44px; border: 1px solid rgba(255,255,255,.8); border-radius: 3px 28px 4px 28px; background: radial-gradient(circle at 100% 3%, rgba(236,191,187,.32), transparent 35%), linear-gradient(155deg,#fffcf6 0%,#fff7ee 61%,#f7e9df 100%); box-shadow: 0 36px 95px rgba(91,24,49,.17), inset 0 0 0 10px rgba(255,255,255,.12); }
.poem-paper::before { content: ""; position: absolute; inset: 17px; border: 1px solid rgba(131,75,91,.1); border-radius: 1px 18px 2px 18px; pointer-events: none; }
.poem-corner { position: absolute; color: #c9919b; font: 400 30px var(--serif); pointer-events: none; }
.poem-corner-one { right: 35px; top: 27px; }
.poem-corner-two { left: 31px; bottom: 28px; font-size: 17px; }
.poem-heading { text-align: center; padding-bottom: 32px; margin-bottom: 34px; border-bottom: 1px solid rgba(91,24,49,.12); }
.poem-label { display: block; color: #a16b78; font: 500 10px var(--sans); letter-spacing: .24em; margin-bottom: 10px; }
.poem-heading h2 { margin: 0; color: var(--wine); font: italic 500 clamp(37px, 6vw, 57px)/1.1 var(--serif); }
.poem-text { max-width: 550px; margin: 0 auto; color: #50323b; font: 400 clamp(19px, 2.4vw, 23px)/1.48 var(--serif); overflow-wrap: break-word; }
.poem-stanza { margin: 0 0 31px; }
.poem-stanza:last-child { margin-bottom: 0; }
.poem-pause { margin: 39px 0 39px; color: #8b455b; font-style: italic; font-size: 1.12em; }
.poem-ending { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 40px auto 0; color: #a76576; font: 400 23px var(--serif); }
.poem-ending span { display: block; width: 72px; height: 1px; background: rgba(91,24,49,.23); }
@media (max-width: 680px) {
  .poems-main { width: calc(100% - 16px); padding: 15px 4px 60px; }
  .poems-frame { margin-top: 42px; }
  .poems-heading { margin-bottom: 32px; }
  .poem-paper { padding: 52px 26px 42px; }
  .poem-paper::before { inset: 10px; }
  .poem-corner-one { right: 20px; top: 16px; }
  .poem-heading { margin-bottom: 29px; padding-bottom: 25px; }
  .poem-text { font-size: clamp(17px, 4.6vw, 20px); line-height: 1.49; }
  .poem-stanza { margin-bottom: 29px; }
  .poem-pause { margin: 35px 0; }
}
@media (prefers-reduced-motion: reduce) { .poems-back { transition: none; } }
