.longevity-page { background: var(--paper); }
.letter-section { padding: 48px 26px; }
.letter-body { max-width: 860px; margin: 0 auto; color: #344c3d; font-size: 1.13rem; line-height: 1.85; display: flow-root; }
.letter-body p { margin: 0 0 28px; }
.letter-body .letter-opening { font-family: 'Libre Caslon Display', Georgia, serif; font-size: clamp(1.8rem, 3.1vw, 2.4rem); line-height: 1.4; color: var(--ink); margin-bottom: 36px; }
.letter-photo { float: right; width: 44%; margin: 6px 0 28px 38px; border-radius: 8px 34px 8px 8px; overflow: hidden; background: var(--sand); }
.letter-photo img { width: 100%; height: auto; }
.letter-body .letter-turn { clear: both; padding-top: 26px; margin-top: 36px; border-top: 1px solid var(--line); font-family: 'Libre Caslon Display', Georgia, serif; font-size: clamp(1.8rem, 3.1vw, 2.4rem); line-height: 1.4; color: var(--ink); }
.letter-body .letter-closing { font-family: 'Libre Caslon Display', Georgia, serif; font-size: clamp(1.9rem, 3.2vw, 2.65rem); line-height: 1.4; color: var(--terracotta); margin: 44px 0 28px; }
.letter-body .letter-signature { font-family: 'Libre Caslon Display', Georgia, serif; font-size: 1.7rem; line-height: 1.5; color: var(--ink); margin: 0; padding-top: 8px; }
.nav-links a[aria-current="page"] { color: var(--terracotta); }
@media (max-width: 700px) {
 .letter-section { padding: 36px 24px 40px; }
 .letter-body { font-size: 1.04rem; line-height: 1.85; }
 .letter-body p { margin-bottom: 25px; }
 .letter-body .letter-opening { margin-bottom: 28px; }
 .letter-photo { float: none; width: 100%; margin: 0 0 30px; }
 .letter-body .letter-turn { margin-top: 30px; }
 .letter-body .letter-closing { font-size: 1.85rem; margin-top: 34px; }
 .letter-body .letter-signature { font-size: 1.5rem; }
}
