.updates-journal { width: min(820px, calc(100% - 48px)); margin: 0 auto; padding: 80px 0; }
.updates-intro { margin-bottom: 68px; }
.updates-intro h1 { font-family: var(--display); font-size: clamp(3rem, 8vw, 5.5rem); line-height: 1.05; letter-spacing: -0.05em; margin-bottom: 24px; }
.updates-intro > p:not(.utility) { max-width: 640px; font-size: 1.3rem; }
.updates-intro > p.updates-note { font-size: 1rem; color: var(--muted); }
.update-entry { scroll-margin-top: 28px; }
.update-entry + .update-entry { margin-top: 48px; padding-top: 48px; border-top: 1px solid #b8bcb1; }
.update-date { display: flex; flex-wrap: wrap; gap: 10px 20px; color: var(--muted); margin-bottom: 14px; }
.update-entry h2 { font-family: var(--display); font-size: clamp(1.6rem, 4vw, 2.25rem); line-height: 1.2; letter-spacing: -0.035em; margin-bottom: 18px; }
.update-entry h2 a { text-decoration: none; }
.update-entry h2 a:hover { text-decoration: underline; }
.update-entry > p:not(.update-date) { max-width: 700px; font-size: 1.18rem; }
.update-entry figure { margin: 28px 0 0; }
.update-entry img { width: 100%; height: auto; border: 2px solid var(--ink); }
.update-entry figcaption { margin-top: 10px; font-size: .95rem; color: var(--muted); }
.updates-end { margin: 64px 0 0; }
.updates-skip { position: absolute; left: 16px; top: -100px; padding: 12px; background: var(--paper); z-index: 10; }
.updates-skip:focus { top: 12px; }
.updates-announcement { background: var(--paper); padding: 18px 0; }
.updates-announcement .wrap { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: baseline; }
.updates-announcement a { font-weight: 700; }
.updates-announcement span { font-size: 1rem; }
@media (max-width: 600px) { .updates-journal { width: calc(100% - 36px); padding: 44px 0; } .updates-intro { margin-bottom: 44px; } }
