/* Hallmark · Casos: hero y cierre rediseñados (el cuerpo de los casos conserva el diseño anterior)
 * genre: editorial · theme: marca El Intérprete, tinta + dorado · tipografía de marca: Fraunces 900 + Manrope
 * honest: sin cifras ni testimonios inventados · tokens: tokens-paginas.css
 * pre-emit critique: P5 H4 E4 S4 R5 V4
 * contrast: pass (40–41) · tokens: pass (48) · responsive: pass (34, 49–52)
 */
:root { --color-night: oklch(17.5% 0.022 176); }

.pr { background: var(--color-ink); color: var(--color-on-ink); font-family: var(--font-body); overflow-x: clip; }
.pr *, .pr *::before, .pr *::after { box-sizing: border-box; }
:where(.pr) :where(h1, h2, p) { margin: 0; }
:where(.pr) a { color: inherit; text-decoration: none; }
.pr a:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; transition: none; }
.pr-wrap { max-width: 1320px; margin-inline: auto; padding-inline: var(--space-gutter); }
.pr h1, .pr h2 { font-family: var(--font-display); font-style: normal; overflow-wrap: anywhere; min-width: 0; text-wrap: balance; }

@keyframes pr-rise { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
.pr-rise { animation: pr-rise var(--dur-long) var(--ease-out) both; animation-delay: calc(var(--i, 0) * 90ms); }
@media (prefers-reduced-motion: reduce) { .pr-rise { animation: none; } }

.pr-kicker { font: 700 0.75rem/1.4 var(--font-body); letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-accent); }
.pr-hl { color: var(--color-accent); }
.pr-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: var(--space-lg) var(--space-xl); border-radius: var(--radius-pill); background: var(--color-night); color: var(--color-accent); font: 800 0.9375rem/1 var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; transition: transform var(--dur-micro) var(--ease-out); }
.pr-btn:hover { transform: translateY(-2px); }
.pr-btn:active { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .pr-btn { transition: none; } }

.pr-hero { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); }
.pr-back { display: inline-flex; align-items: center; min-height: 2.75rem; font: 700 0.8125rem/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-on-ink-soft); }
.pr-hero__main { display: grid; gap: var(--space-md); justify-items: start; margin-top: var(--space-md); }
.pr-hero h1 { font-weight: 900; font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1; letter-spacing: -0.02em; max-width: 15ch; margin-top: var(--space-md); }
.pr-hero__text { font-size: var(--text-lg); line-height: 1.6; color: var(--color-on-ink-body); max-width: 52ch; }

.pr-close { background: var(--color-accent); color: var(--color-night); padding-block: clamp(3rem, 6vw, 5rem); }
.pr-close__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
.pr-close__text { display: grid; gap: var(--space-md); justify-items: start; }
.pr-close h2 { font-weight: 900; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 0.98; letter-spacing: -0.02em; max-width: 14ch; }
.pr-close p { font-size: var(--text-lg); line-height: 1.5; max-width: 42ch; }
.pr-close__cta { display: grid; justify-items: start; }
.pr-close a:focus-visible { outline-color: var(--color-night); }
@media (min-width: 60rem) { .pr-close__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: var(--space-3xl); align-items: center; } }
@media (max-width: 30rem) { .pr-btn { padding-inline: var(--space-lg); font-size: 0.8125rem; } }
