.journal .update-letter { background: var(--letter-paper); box-shadow: none; }
.journal .letter-head h1 { max-width: 17ch; font-size: clamp(2.5rem, 5.4vw, 4rem); line-height: 1.04; text-wrap: balance; }
.journal .letter-opening { margin-top: 1.4rem; font-style: normal; }
.journal-date { margin: 1.5rem 0 0; color: #d9d5cc; font-size: .9rem; }
.journal-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 1.5rem; padding: .7rem 1rem; background: var(--paper); border-bottom: 1px solid var(--letter-rule); }
.journal-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-weight: 800; }
.journal-nav [aria-current] { text-decoration-thickness: 3px; }
.journal .update-main { padding-top: 2rem; }
.journal .letter-body h2 { max-width: 24ch; font-size: clamp(1.65rem, 4vw, 2.5rem); line-height: 1.12; text-wrap: balance; scroll-margin-top: 2rem; }
.journal-contents { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 2rem 0; padding: 1rem 0; border-block: 1px solid var(--letter-rule); font-family: var(--font); font-size: .95rem; }
.journal-contents a { display: inline-flex; align-items: center; min-height: 44px; }
.journal-status { margin: 1.5rem 0; }
.journal-status > div { padding: 1.5rem 0; border-bottom: 1px solid var(--letter-rule); }
.journal-status dt { margin-bottom: .6rem; font-family: var(--font); font-weight: 850; line-height: 1.4; }
.journal-status dd { margin: 0; }
.journal-steps { padding-left: 1.5rem; }
.journal .journal-steps li { padding: .6rem 0 .6rem .4rem; border: none; }
.journal .journal-steps li::before { content: none; }
.journal-small, .journal-archive { font-size: 1rem; }
.journal-archive { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--letter-rule); }
.journal-skip { position: absolute; left: 1rem; top: -100px; z-index: 100; background: var(--paper); color: var(--ink); padding: 1rem; }
.journal-skip:focus { top: 1rem; }
.campaign-timeline { list-style: none; padding: 0; margin: 0; }
.journal .campaign-timeline > li { padding: 1.7rem 0; border-bottom: 1px solid var(--letter-rule); }
.journal .campaign-timeline > li::before { content: none; }
.campaign-timeline time, .timeline-period { font-family: var(--font); font-size: .9rem; font-weight: 750; color: var(--letter-ink-soft); }
.campaign-timeline h3 { font-family: var(--font); font-size: 1.4rem; line-height: 1.3; margin: .5rem 0 .8rem; }
.campaign-timeline p { margin: .5rem 0 0; }
.journal .timeline-month { margin-top: 3rem; padding-bottom: 1rem; border-bottom: 3px double var(--ink); }
.journal .timeline-month:first-of-type { margin-top: 2rem; }
@media (max-width: 500px) { .journal .update-brand { font-size: .85rem; gap: .45rem; } .journal .update-back { font-size: .75rem; } .journal .letter-body { padding-inline: 1.4rem; } .journal .letter-head { padding-inline: 1.4rem; } }
@media print { .journal-nav, .journal-skip, .update-next, .journal-contents { display: none; } .journal .update-main { padding: 0; } .journal .update-letter { border: 0; max-width: none; } .journal .letter-head { background: white; color: black; } .journal .letter-opening, .journal-date { color: black; } }
