/* ============================================
   LETTERS — Correspondence
   Victorian letters, aged paper, two voices
   ============================================ */

.letters-page {
  min-height: 100vh;
  padding: 60px 20px 80px;
}

.letters-column {
  max-width: 560px;
  margin: 0 auto;
}

/* --- Letter Reveals --- */
.letter-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

.letter-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* --- Letter Date --- */
.letter-date {
  font-family: var(--font-mono);
  font-size: 0.55rem;
  color: var(--vic-dim);
  letter-spacing: 0.2em;
  margin-bottom: 16px;
  text-align: right;
  opacity: 0.6;
}

/* --- Letter Body Paragraphs --- */
.letters-page .letter-body p {
  margin-bottom: 14px;
  text-indent: 1.5em;
}

.letters-page .letter-body p:first-child {
  text-indent: 0;
}

.letters-page .letter-body em {
  color: var(--cream);
  font-style: italic;
}

/* --- Archive Letter Overrides --- */
.letter-from-archive {
  border: 1px solid var(--burgundy) !important;
  box-shadow:
    inset 0 0 30px rgba(74, 26, 42, 0.2),
    0 2px 10px rgba(0, 0, 0, 0.5) !important;
}

.letter-date-archive {
  color: var(--burgundy-bright) !important;
  font-style: italic;
  opacity: 0.8 !important;
}

.letter-from-archive .letter-body p {
  color: var(--burgundy-bright);
}

.letter-from-archive .letter-body em {
  color: var(--cream);
}

.letter-closing-archive {
  color: var(--burgundy-bright) !important;
  opacity: 0.6;
}

.letter-signature-archive {
  color: var(--burgundy-bright) !important;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
}

/* --- Archive Link --- */
.archive-link {
  color: var(--burgundy) !important;
  border-bottom: 1px solid transparent;
  transition: color 0.4s, border-color 0.4s;
}

.archive-link:hover {
  color: var(--cream) !important;
  border-bottom-color: var(--burgundy-bright);
}

/* --- Hidden Link Override --- */
.letters-page .hidden-link {
  color: var(--vic-faint);
  border-bottom: 1px solid transparent;
  transition: color 0.4s, border-color 0.4s;
}

.letters-page .hidden-link:hover {
  color: var(--vic-dim);
  border-bottom-color: var(--vic-dim);
}

/* --- Final Divider --- */
.letter-divider-final {
  color: var(--burgundy) !important;
  letter-spacing: 0.5em;
}

/* --- Footer --- */
.letters-footer {
  text-align: center;
  margin-top: 48px;
  padding-bottom: 40px;
}

.letters-note {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.7rem;
  color: var(--vic-faint);
  line-height: 1.8;
  opacity: 0.4;
}

.depth-marker {
  font-family: var(--font-mono);
  font-size: 0.45rem;
  color: var(--vic-faint);
  letter-spacing: 0.4em;
  margin-top: 32px;
  opacity: 0.15;
}

/* --- Mobile --- */
@media (max-width: 768px) {
  .letters-page {
    padding: 40px 16px 60px;
  }

  .letters-page .letter {
    padding: 24px 20px;
  }
}
