.newsletter-archive { padding: 0 24px 64px; }
.issue-cover { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: contain; margin-bottom: 24px; }
.archive-heading, .archive-list { max-width: 960px; margin: 0 auto; }
.archive-heading { padding: 64px 0 48px; border-bottom: 1px solid var(--border); }
.issue-kicker, .issue-meta { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--ink-muted); }
.archive-heading > .issue-kicker { color: var(--accent-dark); text-transform: uppercase; }
.archive-heading h1 { font-family: var(--serif); font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.1; letter-spacing: -.025em; margin: 18px 0; }
.archive-heading > p:not(.issue-kicker) { max-width: 590px; color: var(--ink-3); font-size: 18px; line-height: 1.7; }
.issue-subscribe { display: inline-block; padding: 13px 20px; margin-top: 24px; background: var(--ink); color: var(--cream); font-weight: 700; font-size: 14px; border-radius: var(--radius); }
.archive-list > ul { list-style: none; }
.issue-card { padding: 38px 0 40px; border-bottom: 1px solid var(--border); max-width: 760px; }
.issue-card h2 { font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.25; margin: 12px 0; }
.issue-card > p:not(.issue-meta) { font-size: 17px; line-height: 1.7; color: var(--ink-3); }
.issue-read { display: inline-block; color: var(--accent-dark); font-weight: 700; margin-top: 20px; }
.issue-back, .newsletter-issue, .issue-closing { max-width: 740px; margin: 0 auto; }
.issue-back { padding: 32px 0; color: var(--ink-3); font-size: 13px; }
.issue-heading { padding: 12px 0 32px; border-bottom: 3px solid var(--ink); }
.issue-heading h1 { font-family: var(--serif); font-size: clamp(2.2rem, 4.3vw, 3.6rem); line-height: 1.12; letter-spacing: -.025em; margin: 18px 0 20px; }
.issue-summary { font-size: 19px; line-height: 1.65; color: var(--ink-3); }
.issue-body { padding-top: 32px; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.issue-body p { margin: 0 0 20px; }
.issue-body h2 { font-family: var(--serif); font-size: 1.9rem; line-height: 1.3; margin: 16px 0; }
.issue-body h3 { font-family: var(--serif); font-size: 1.4rem; margin: 18px 0 12px; line-height: 1.4; }
.issue-body > div[id] { margin-top: 38px; padding-top: 30px; border-top: 1px solid var(--border); scroll-margin-top: 100px; }
.issue-body a { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.issue-body .issue-kicker { color: var(--accent-dark); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.issue-body .issue-note, .issue-body .issue-verdict { background: var(--cream-dark); border-left: 3px solid var(--accent); padding: 20px 24px; margin: 24px 0; border-radius: var(--radius); }
.issue-body .issue-note p:last-child, .issue-body .issue-verdict p:last-child { margin-bottom: 0; }
.issue-body .issue-toc { padding: 24px 0; border-block: 1px solid var(--border); font-size: 15px; line-height: 2; }
.issue-body .issue-source { font-size: 13px; color: var(--ink-muted); }
.issue-body ul, .issue-body ol { padding-left: 24px; margin-bottom: 24px; }
.issue-body blockquote { font-family: var(--serif); font-size: 1.4rem; border-left: 3px solid var(--accent); padding-left: 24px; margin: 28px 0; }
.issue-closing { border-top: 3px solid var(--ink); padding: 32px 0; margin-top: 48px; }
.issue-closing h2 { font-family: var(--serif); font-size: 1.8rem; margin-bottom: 10px; }
.issue-closing > a:last-child { display: inline-block; margin: 20px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.newsletter-archive a:focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 5px; }
.newsletter-archive a:hover { text-decoration: underline; text-underline-offset: 4px; }
.alt-options { flex-wrap: wrap; }
@media (max-width: 640px) {
  .newsletter-archive { padding: 0 20px 48px; }
  .archive-heading { padding: 40px 0 32px; }
  .archive-heading > p:not(.issue-kicker), .issue-summary { font-size: 17px; }
  .issue-back { padding: 24px 0; }
  .issue-heading { padding-top: 4px; }
  .issue-body { font-size: 16px; line-height: 1.8; }
  .issue-body h2 { font-size: 1.65rem; }
  .issue-body .issue-note, .issue-body .issue-verdict { padding: 18px; }
  .issue-closing > a:last-child { margin: 20px 0 0; display: block; }
}

.archive-range { padding-top: 24px; font-family: var(--mono); font-size: 12px; color: var(--ink-muted); }
.archive-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 32px 0; }
.archive-pagination a, .archive-pagination [aria-current] { padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius); font-size: 14px; }
.archive-pagination [aria-current] { background: var(--ink); color: var(--cream); }
/* Bottom means the viewport edge at every scroll position, with space
   reserved for both the bar and the device's home-indicator safe area. */
@media (max-width: 900px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .mobile-tabbar { position: fixed; inset: auto 0 0; bottom: 0; width: auto; z-index: 150; padding-bottom: max(6px, env(safe-area-inset-bottom, 0px)); }
}
