/* News and events retain their month groups, CMS content and detail behavior. */
.updates-page .updates-main { background: white; }
.news-list .updates-main,
.events-list .updates-main { background: var(--catalog-background); }
.news-list .updates-main > .section,
.events-list .updates-main > .section { background: var(--catalog-background) !important; }
.updates-page .updates-main > .section { padding: 36px 32px; }
.updates-page .updates-main .container { width: 100%; max-width: 1100px; }
.updates-page .updates-main .column { min-width: 0; }
.updates-page .updates-main .content { color: var(--catalog-muted); font: 16px/1.8 'OSC Catalog',sans-serif; overflow-wrap: anywhere; }
.updates-page .updates-main :is(h1,h2,h3,h4,.title) { color: var(--catalog-ink); font-family: inherit; font-weight: var(--site-weight-emphasis); line-height: 1.35; letter-spacing: -.025em; overflow-wrap: anywhere; }
.updates-page .updates-main h1 { font-size: clamp(28px,3vw,40px); }
.updates-page .updates-main h2 { font-size: 26px; }
.updates-page .updates-main h3 { font-size: 23px; }
.updates-page .updates-main a:not(.button) { color: var(--catalog-blue); overflow-wrap: anywhere; }
.updates-page .updates-main a:not(.button):hover { text-decoration: underline; }
.updates-page .updates-main .button { background: var(--catalog-blue); border: 1px solid var(--catalog-blue); border-radius: 5px; color: white; font: var(--site-weight-emphasis) 14px/1.5 'OSC Catalog',sans-serif; padding: 11px 18px; min-height: 44px; height: auto; white-space: normal; }
.updates-page .updates-main .hero .hero-body { padding-left: 32px; padding-right: 32px; }
.updates-page .updates-main .hero.is-light { background: var(--catalog-background); }
.updates-page .updates-main .hero .has-background-warning { background: var(--catalog-blue) !important; }
.updates-page .updates-main .hero.has-background .title { color: white; font-size: clamp(32px,4vw,54px); }
.updates-list .updates-main > .section > .container.has-background-light { background: transparent !important; }
.updates-list .updates-main .title.date { margin: 0 0 24px; padding: 0 0 14px; border-bottom: 1px solid var(--catalog-line); color: var(--catalog-blue); font-size: 24px; }
.updates-list .updates-main :is(.post-item,.event-item) { margin-top: 20px; padding: 20px 24px; background: white; border: 1px solid var(--catalog-line); border-radius: var(--site-radius); box-shadow: var(--site-shadow); }
.updates-list .updates-main :is(.post-item,.event-item) > .columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 28px; margin: 0; }
.updates-list .updates-main :is(.post-item,.event-item) > .columns > .column { width: auto; padding: 0; }
.updates-list .updates-main :is(.post-item,.event-item) .title { font-size: 24px; margin-bottom: 14px; }
.updates-list .updates-main :is(.post-item,.event-item) figure { margin: 0; }
.updates-list .updates-main :is(.post-item,.event-item) img { display: block; width: 100%; height: auto; max-height: 240px; object-fit: contain; border-radius: 4px; }
.updates-list .updates-main :is(.post-item,.event-item) .content { font-size: 15px; }
.updates-list .updates-main :is(.post-item,.event-item) .content { margin-bottom: 0; }
.updates-list .updates-main :is(.post-item,.event-item) .location { font-size: 14px; line-height: 1.7; color: var(--catalog-muted); overflow-wrap: anywhere; }
.updates-list .updates-main :is(.post-item,.event-item) .space-up-40,
.updates-list .updates-main :is(.post-item,.event-item) .space-up-30 { margin-top: 0; }
.updates-list .updates-main :is(.post-item,.event-item) .button { width: auto; position: static; margin: 0; }
.updates-list .updates-main .post-item .space-up-40 > .column,
.updates-list .updates-main .event-item .space-up-30 > .column { width: 100%; display: flex; justify-content: flex-end; }
.updates-detail .updates-main > .hero .container,
.updates-detail .updates-main > .section > .container { max-width: 880px; }
.updates-detail .updates-main .content img { max-width: 100%; height: auto; }
.updates-detail .updates-main .content .is-size-5 { font-size: 18px !important; }
.updates-detail .updates-main .content :is(h2,h3) { margin-top: 1.5em; }
.updates-detail .updates-main :is(.news-image,.event-image) img { max-width: 100%; height: auto; border-radius: 5px; }
.updates-detail .updates-main .img-caption { font: 13px/1.6 'OSC Catalog',sans-serif; color: var(--catalog-muted); }
.updates-detail .updates-main .post > .content { display: flow-root; }
.event-detail .updates-main > .section > .container { display: flow-root; }
.event-detail .updates-main .card-content { padding: 28px; border: 1px solid var(--catalog-line); border-radius: var(--site-radius); background: var(--catalog-background); }
.event-detail .updates-main #osmmap { border-radius: var(--site-radius); }
.updates-page .updates-main .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.updates-page .updates-main .pagination a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid var(--catalog-line); border-radius: 5px; }
@media (max-width: 1023px) {
    .updates-list .updates-main :is(.post-item,.event-item) > .columns { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .updates-list .updates-main :is(.post-item,.event-item) img { max-height: 260px; }
}
@media (max-width: 768px) {
    .updates-page .updates-main > .section { padding: 28px 16px; }
    .updates-page .updates-main .hero .hero-body { padding-left: 24px; padding-right: 24px; }
    .updates-list .updates-main :is(.post-item,.event-item) { padding: 16px; }
    .updates-list .updates-main :is(.post-item,.event-item) .title { font-size: 22px; }
    .event-detail .updates-main .card-content { padding: 20px; }
}

/* Compact article headers and supporting images leave the text in focus. */
.updates-detail .updates-main > .hero { border-bottom: 1px solid var(--catalog-line); }
.updates-detail .updates-main > .hero .hero-body { padding-top: 8px; padding-bottom: 20px; }
.news-detail .updates-main > .hero .hero-body { padding-bottom: 28px; }
.event-detail .updates-main > .hero .hero-body { padding-bottom: 28px; }
.updates-detail .updates-main > .hero .title { padding: 0; margin: 0; font-size: clamp(27px,2.5vw,36px); line-height: 1.35; }
.updates-detail .updates-main .detail-lead { margin-bottom: 28px; color: var(--catalog-ink); font-size: 18px; line-height: 1.7; }
.updates-detail .updates-main .detail-media { float: right; width: 300px; max-width: 40%; margin: 0 0 24px 32px; padding: 12px; border: 1px solid var(--catalog-line); border-radius: var(--site-radius); background: var(--catalog-background); }
.updates-detail .updates-main .detail-media img { display: block; width: auto; max-width: 100%; height: auto; max-height: 250px; margin: 0 auto; object-fit: contain; }
.updates-detail .updates-main .detail-media .img-caption:not(:empty) { margin-top: 10px; }
.updates-detail .updates-main .detail-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; padding-bottom: 20px; margin-bottom: 28px; border-bottom: 1px solid var(--catalog-line); }
.updates-detail .updates-main .detail-meta :is(h2,h4) { margin: 0; font-size: 15px; line-height: 1.7; color: var(--catalog-muted); }
.updates-detail .updates-main .detail-meta h2 { color: var(--catalog-blue); }
.updates-detail .updates-main .detail-back { clear: both; padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--catalog-line); }
.updates-detail .updates-main .detail-back .button { display: inline-flex; width: auto; max-width: 100%; margin-top: 0; padding: 9px 14px; }
.updates-detail .updates-main .detail-information { padding-top: 0; padding-bottom: 28px; }
.updates-detail .updates-main .detail-information .content { font-size: 15px; }
.updates-detail .updates-main .detail-information .title { font-size: 20px !important; }
@media (max-width: 768px) {
    .updates-detail .updates-main > .hero .hero-body { padding: 8px 16px 16px; }
    .news-detail .updates-main > .hero .hero-body { padding-bottom: 24px; }
    .event-detail .updates-main > .hero .hero-body { padding-bottom: 24px; }
    .updates-detail .updates-main .detail-media { float: none; width: 250px; max-width: 100%; margin: 0 auto 24px; }
    .updates-detail .updates-main .detail-media img { max-height: 200px; }
    .updates-detail .updates-main .detail-lead { font-size: 17px; }
}
