/* The cohort bulletin. Page-scoped; the homepage and shared navigation stay unchanged.
   Uses the site's navy / terracotta / warm-paper tokens in both themes. */
body.announcements-hub.news-reader-open { overflow: hidden; }
.announcements-hub .news-hero {
  position: relative; isolation: isolate; overflow: hidden; display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(285px, 1fr); gap: 42px;
  margin: 22px 0 30px; padding: clamp(24px, 3.7vw, 48px); border-radius: 24px;
  background: var(--navy-900); color: var(--white);
}
.announcements-hub .news-hero::before {
  content: ""; position: absolute; z-index: -1; width: 460px; height: 460px; right: -240px; top: -200px;
  border: 1px solid #38517a; border-radius: 50%; box-shadow: 0 0 0 55px #ffffff04, 0 0 0 110px #ffffff04;
}
.announcements-hub .news-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 17px; color: #d6e2f2; font-size: .7rem; font-weight: 650; letter-spacing: .16em; }
.announcements-hub .news-eyebrow > span { width: 7px; height: 7px; background: #efa68a; border-radius: 50%; }
.announcements-hub .news-hero h1 { font: 600 clamp(2.25rem, 4.5vw, 3.6rem)/1.08 var(--font-serif); color: var(--white); letter-spacing: -.045em; margin: 0 0 14px; overflow-wrap: anywhere; }
.announcements-hub .news-hero-dot { color: #efa68a; }
.announcements-hub .news-hero-lead { font-size: 1.08rem; font-weight: 600; color: #f6c0a9; margin: 0 0 9px; }
.announcements-hub .news-hero-description { color: #d6e2f2; font-size: .88rem; line-height: 1.75; max-width: 490px; margin: 0; }
.announcements-hub .news-hero-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--white); font-size: .8rem; font-weight: 600; margin-top: 13px; text-decoration: none; }
.announcements-hub .news-hero-link:hover { text-decoration: underline; }
.announcements-hub .news-glance { align-self: center; padding: 26px; border: 1px solid #4a6286; border-radius: 16px; background: #ffffff08; }
.announcements-hub .news-glance-label { font-size: .67rem; letter-spacing: .14em; color: #d6e2f2; margin: 0 0 19px; font-weight: 650; }
.announcements-hub .news-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.announcements-hub .news-stats > div { display: flex; flex-direction: column-reverse; padding: 0 12px; border-left: 1px solid #4a6286; }
.announcements-hub .news-stats > div:first-child { padding-left: 0; border: 0; }
.announcements-hub .news-stats dd { margin: 0 0 6px; font: 600 2.35rem/1 var(--font-serif); color: var(--white); }
.announcements-hub .news-stats dt { font-size: .69rem; line-height: 1.5; color: #d6e2f2; }
.announcements-hub .news-latest-date { font-size: .74rem; border-top: 1px solid #4a6286; padding-top: 17px; margin: 20px 0 0; color: #d6e2f2; }
.announcements-hub .news-glance-note { font-size: .66rem; line-height: 1.6; color: #c5d4e8; margin: 9px 0 0; }
.announcements-hub .news-workspace { margin: 0; }
.announcements-hub .news-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.announcements-hub .news-search { display: flex; align-items: center; flex: 1 1 270px; gap: 12px; background: var(--color-card); border: 1px solid var(--color-input-border); border-radius: 12px; min-height: 50px; padding: 0 16px; }
.announcements-hub .news-search > .icon { color: var(--color-muted); flex-shrink: 0; }
.announcements-hub .news-search:focus-within { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.announcements-hub .news-search input { width: 100%; min-width: 0; border: 0; background: transparent; box-shadow: none; padding: 13px 0; outline: 0; color: var(--color-text); font: inherit; font-size: .85rem; }
.announcements-hub .news-search input::placeholder { color: var(--color-muted); }
.announcements-hub .news-sort-field { display: flex; align-items: center; gap: 8px; }
.announcements-hub .news-sort-field label { font-size: .76rem; color: var(--color-muted); }
.announcements-hub .news-sort-field select { min-height: 48px; border: 1px solid var(--color-input-border); border-radius: 10px; padding: 9px 30px 9px 12px; background-color: var(--color-card); color: var(--color-text); font-size: .8rem; }
.announcements-hub .news-views { display: flex; padding: 3px; border: 1px solid var(--color-input-border); border-radius: 11px; background: var(--color-card); }
.announcements-hub .news-views button { display: grid; place-items: center; min-width: 44px; height: 44px; border: 0; border-radius: 8px; background: transparent; color: var(--color-muted); cursor: pointer; }
.announcements-hub .news-views button[aria-pressed="true"] { background: var(--color-primary-light); color: var(--color-primary); }
.announcements-hub .news-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 17px; }
.announcements-hub .news-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.announcements-hub .news-filter { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 13px; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-card); color: var(--color-muted); cursor: pointer; font: 550 .76rem var(--font-sans); }
.announcements-hub .news-filter:hover { border-color: var(--color-primary); color: var(--color-primary); }
.announcements-hub .news-filter[aria-pressed="true"] { background: var(--action-navy); border-color: var(--action-navy); color: var(--white); }
.announcements-hub .news-filter-count { font-size: .69rem; opacity: .85; font-variant-numeric: tabular-nums; }
.announcements-hub .news-new-switch { display: flex; align-items: center; gap: 8px; flex-shrink: 0; min-height: 44px; font-size: .78rem; color: var(--color-muted); cursor: pointer; }
.announcements-hub .news-new-switch input { width: 17px; height: 17px; accent-color: var(--action-navy); }
.announcements-hub .news-result-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin: 10px 0 16px; }
.announcements-hub #news-status { font-size: .76rem; color: var(--color-muted); margin: 0; }
.announcements-hub .news-text-button { border: 0; background: none; color: var(--color-primary); padding: 8px 0; min-height: 44px; font: 600 .78rem var(--font-sans); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.announcements-hub .news-feature { margin-bottom: 34px; }
.announcements-hub .news-section-heading { display: flex; align-items: center; gap: 22px; margin: 0 0 19px; }
.announcements-hub .news-section-kicker { margin: 0 0 5px; font-size: .66rem; letter-spacing: .15em; font-weight: 650; color: var(--color-brand-text); }
.announcements-hub .news-section-heading h2 { font: 600 1.7rem/1.2 var(--font-serif); color: var(--color-heading); margin: 0; }
.announcements-hub .news-section-rule { flex: 1; border-bottom: 1px solid var(--color-border); }
.announcements-hub .news-spotlight { display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); overflow: hidden; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-card); box-shadow: var(--shadow-sm); }
.announcements-hub .news-spotlight .news-art { min-height: 365px; height: 100%; border-radius: 0; }
.announcements-hub .news-spotlight-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(25px, 2.9vw, 37px); min-width: 0; }
.announcements-hub .news-focus-label { display: flex; align-items: center; gap: 7px; font-size: .66rem; letter-spacing: .12em; font-weight: 700; color: var(--color-brand-text); margin: 0 0 16px; }
.announcements-hub .news-focus-label .icon { width: 15px; height: 15px; }
.announcements-hub .news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: .68rem; }
.announcements-hub .news-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 6px; background: var(--color-primary-light); color: var(--color-primary); font-weight: 600; line-height: 1.35; }
.announcements-hub .news-badge--community,
.announcements-hub .news-badge--social { background: var(--track-phm-soft); color: var(--track-phm-text); }
.announcements-hub .news-badge--programme { background: var(--track-ep-soft); color: var(--track-ep-text); }
.announcements-hub .news-badge--hub { background: var(--color-brand-soft); color: var(--color-brand-text); }
.announcements-hub .news-badge--academic,
.announcements-hub .news-badge--university { background: var(--color-primary-light); color: var(--color-primary); }
.announcements-hub .news-badge--other { background: var(--color-surface-muted); color: var(--color-muted); }
.announcements-hub .news-badge--new { background: var(--color-success-bg); color: var(--color-success-text); }
.announcements-hub .news-badge--pin { background: var(--color-surface-muted); color: var(--color-muted); }
.announcements-hub .news-badge--urgent { background: var(--color-danger-bg); color: var(--color-danger-text); }
.announcements-hub .news-badge .icon { width: 12px; height: 12px; }
.announcements-hub .news-title { font: 600 clamp(1.35rem, 1.1rem + .65vw, 1.65rem)/1.25 var(--font-serif); letter-spacing: -.025em; margin: 16px 0 12px; color: var(--color-heading); overflow-wrap: anywhere; }
.announcements-hub .news-title a { color: inherit; text-decoration: none; }
.announcements-hub .news-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.announcements-hub .news-spotlight .news-title { font: 600 clamp(1.65rem, 2.6vw, 2.1rem)/1.18 var(--font-serif); margin: 17px 0 13px; }
.announcements-hub .news-excerpt { margin: 0; font-size: .88rem; color: var(--color-muted); line-height: 1.8; overflow-wrap: anywhere; }
.announcements-hub .news-byline { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .72rem; line-height: 1.5; color: var(--color-muted); margin: 18px 0 0; }
.announcements-hub .news-byline > span + time::before { content: "·"; margin-right: 6px; }
.announcements-hub .news-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; margin-top: 19px; padding-top: 12px; border-top: 1px solid var(--color-border); }
.announcements-hub .news-spotlight .news-card-actions { margin-top: auto; }
.announcements-hub .news-spotlight .news-byline { margin-bottom: 18px; }
.announcements-hub .news-election-highlights { display: flex; flex-wrap: wrap; gap: 7px; width: 100%; margin: 20px 0 0; padding: 0; list-style: none; }
.announcements-hub .news-election-highlights > * { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; margin: 0; padding: 8px 10px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface-alt); color: var(--color-text); font-size: .71rem; line-height: 1.45; overflow-wrap: anywhere; }
.announcements-hub .news-election-highlights strong { color: var(--track-phm-text); font-size: .77rem; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.announcements-hub .news-read { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--color-primary); font-size: .79rem; font-weight: 650; text-decoration: none; }
.announcements-hub .news-read:hover { text-decoration: underline; text-underline-offset: 3px; }
.announcements-hub .news-read .icon { width: 17px; height: 17px; }
.announcements-hub .news-copy { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 10px; border: 0; border-radius: 8px; color: var(--color-muted); background: transparent; font: 550 .72rem var(--font-sans); cursor: pointer; }
.announcements-hub .news-copy:hover { background: var(--color-surface-muted); color: var(--color-primary); }
.announcements-hub .news-copy .icon { width: 16px; height: 16px; }
.announcements-hub .news-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.announcements-hub .news-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: 18px; background: var(--color-card); transition: border-color 180ms, box-shadow 180ms; scroll-margin-top: 100px; }
.announcements-hub .news-card:hover { border-color: var(--color-input-border); box-shadow: var(--shadow-md); }
.announcements-hub .news-card-copy { display: flex; flex-direction: column; padding: 26px 27px 22px; flex: 1; min-width: 0; }
.announcements-hub .news-card .news-excerpt { flex: 1; }
.announcements-hub .news-feed.is-list { grid-template-columns: minmax(0, 1fr); }
.announcements-hub .news-feed.is-list .news-card { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.8fr); }
.announcements-hub .news-feed.is-list .news-art { height: 100%; min-height: 250px; }
.announcements-hub .news-feed.is-list .news-title { font-size: 1.45rem; }
.announcements-hub .news-feed.is-list .news-card-copy { padding: 24px 27px 19px; }
/* Original SVG covers share one visual family. The CSS artwork remains a fallback. */
.announcements-hub .news-art { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; height: 200px; min-height: 200px; padding: 26px; overflow: hidden; background: #eaf0f8; color: #163a63; }
.announcements-hub .news-art::before { content: ""; position: absolute; z-index: -1; width: 270px; height: 270px; border: 1px solid currentColor; opacity: .12; border-radius: 50%; right: -100px; top: -140px; box-shadow: 0 0 0 30px #ffffff25, 0 0 0 65px #ffffff25; }
.announcements-hub .news-art-label { font: 650 .65rem/1.4 var(--font-sans); letter-spacing: .16em; text-align: center; }
.announcements-hub .news-art-title { font: 600 clamp(1.4rem, 2.4vw, 2.15rem)/1.15 var(--font-serif); text-align: center; max-width: 240px; letter-spacing: -.025em; }
.announcements-hub .news-art-icon { display: grid; place-items: center; width: 64px; height: 64px; flex-shrink: 0; border: 1px solid #163a6340; border-radius: 18px; background: #ffffff60; transform: rotate(-7deg); box-shadow: 6px 7px 0 #163a6309; }
.announcements-hub .news-art-icon .icon { width: 32px; height: 32px; transform: rotate(7deg); }
.announcements-hub .news-card .news-art { height: 240px; gap: 10px; }
.announcements-hub .news-card .news-art-icon { width: 48px; height: 48px; border-radius: 14px; }
.announcements-hub .news-card .news-art-icon .icon { width: 27px; height: 27px; }
.announcements-hub .news-card .news-art-title { font-size: 1.8rem; }
.announcements-hub .news-art--election { background: #eaf0f8; }
.announcements-hub .news-art--tracks { background: #eaf1ed; color: #295b48; }
.announcements-hub .news-art--beta { background: #faece5; color: #8e3c28; }
.announcements-hub .news-art--generic { background: #f0edf7; color: #544079; }
.announcements-hub .news-art--urgent { background: #fdecec; color: #97291f; }
.announcements-hub .news-art-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.announcements-hub .news-art-chip { display: block; padding: 5px 9px; border: 1px solid #295b482f; border-radius: 6px; font: 650 .62rem/1.3 var(--font-sans); background: #ffffff70; }
.announcements-hub .news-art--illustrated { padding: 0; gap: 0; }
.announcements-hub .news-art--illustrated::before,
.announcements-hub .news-art--photo::before { display: none; }
.announcements-hub .news-art--illustrated > .news-art-icon,
.announcements-hub .news-art--illustrated > .news-art-title,
.announcements-hub .news-art--illustrated > .news-art-label,
.announcements-hub .news-art--illustrated > .news-art-chips,
.announcements-hub .news-art--photo > .news-art-icon,
.announcements-hub .news-art--photo > .news-art-title,
.announcements-hub .news-art--photo > .news-art-label,
.announcements-hub .news-art--photo > .news-art-chips { display: none; }
.announcements-hub .news-art-illustration { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.announcements-hub .news-art--photo { padding: 0; }
.announcements-hub .news-art--photo .news-art-illustration { display: none; }
.announcements-hub .news-art--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.announcements-hub .news-art--photo .news-image-credit { position: absolute; bottom: 8px; right: 8px; max-width: calc(100% - 16px); color: white; background: #0f2b5beb; padding: 5px 7px; border-radius: 4px; font-size: .6rem; }
.announcements-hub .news-bottom-note { display: flex; align-items: center; gap: 20px; margin: 35px 0 20px; padding: 24px; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface-alt); }
.announcements-hub .news-bottom-note h2 { font: 600 1.35rem/1.3 var(--font-serif); letter-spacing: -.02em; margin: 0 0 7px; color: var(--color-heading); }
.announcements-hub .news-bottom-note p { margin: 0; font-size: .79rem; line-height: 1.65; color: var(--color-muted); }
.announcements-hub .news-bottom-note .button { margin-left: auto; flex-shrink: 0; font-size: .77rem; gap: 9px; }
.announcements-hub .news-note-icon { display: grid; place-items: center; width: 46px; height: 46px; flex-shrink: 0; border-radius: 13px; background: var(--color-brand-soft); color: var(--color-brand-text); }
.announcements-hub .news-empty { text-align: center; padding: 50px 22px; border: 1px dashed var(--color-input-border); border-radius: 18px; background: var(--color-card); }
.announcements-hub .news-empty > .icon { width: 32px; height: 32px; color: var(--color-muted); margin-bottom: 10px; }
.announcements-hub .news-empty h2 { font-size: 1.3rem; margin: 10px 0; }
.announcements-hub .news-empty p { color: var(--color-muted); font-size: .88rem; }
.announcements-hub .news-loading { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px; margin-bottom: 25px; }
.announcements-hub .news-loading > div { height: 190px; border: 1px solid var(--color-border); background: var(--color-surface-muted); border-radius: 18px; }
.announcements-hub .news-reader { width: min(820px, calc(100vw - 28px)); max-height: calc(100dvh - 40px); margin: auto; padding: 0; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-card); color: var(--color-text); box-shadow: var(--shadow-lg); overflow: auto; overscroll-behavior: contain; }
.announcements-hub .news-reader::backdrop { background: #071529b8; backdrop-filter: blur(4px); }
.announcements-hub .news-reader-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 3; padding: 12px 22px; border-bottom: 1px solid var(--color-border); background: var(--color-card); }
.announcements-hub .news-reader-top > span { font-size: .67rem; letter-spacing: .14em; font-weight: 650; color: var(--color-muted); }
.announcements-hub #news-reader-close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface-alt); color: var(--color-heading); cursor: pointer; }
.announcements-hub .news-reader-content,
.announcements-hub #news-reader-content { padding: clamp(23px, 4vw, 39px); }
.announcements-hub #news-reader-title { font: 600 clamp(1.8rem, 3vw, 2.35rem)/1.2 var(--font-serif); letter-spacing: -.03em; margin: 19px 0 14px; color: var(--color-heading); overflow-wrap: anywhere; }
.announcements-hub .news-reader .news-byline { margin: 0 0 24px; }
.announcements-hub .news-reader-body { font-size: .97rem; line-height: 1.85; overflow-wrap: anywhere; }
.announcements-hub .news-reader-body > p { white-space: pre-line; margin: 0 0 18px; }
.announcements-hub .news-reader .announcement { padding: 0; margin: 0; border: 0; }
.announcements-hub .news-reader .election-results { gap: 20px; margin: 23px 0; }
.announcements-hub .news-reader .election-section { border-radius: 13px; }
.announcements-hub .news-reader .election-section-header { padding: 15px 18px; background: var(--color-surface-alt); }
.announcements-hub .news-reader .election-section-title { color: var(--color-heading); }
.announcements-hub .news-reader .election-column { padding: 18px; }
.announcements-hub .news-reader .election-column-heading { font-size: .66rem; letter-spacing: .08em; }
.announcements-hub .news-reader .election-name-list { gap: 10px; font-size: .87rem; }
.announcements-hub .news-reader .election-winner { background: var(--track-phm-soft); border-color: transparent; }
.announcements-hub .news-reader .election-percentage { background: var(--color-card); color: var(--track-phm-text); }
.announcements-hub .news-reader .election-outro { font-size: .88rem; line-height: 1.8; }
.announcements-hub .news-reader-source-note { padding-top: 16px; margin-top: 24px; border-top: 1px solid var(--color-border); font-size: .74rem; color: var(--color-muted); line-height: 1.7; }
.announcements-hub .news-share-box { margin-top: 12px; }
.announcements-hub .news-share-box label { display: block; font-size: .76rem; color: var(--color-muted); margin-bottom: 6px; }
.announcements-hub .news-share-box input { width: 100%; min-width: 0; min-height: 44px; padding: 11px; color: var(--color-text); background: var(--color-surface-alt); border: 1px solid var(--color-input-border); border-radius: 8px; }
body.announcements-hub:has(.news-reader[open]) { overflow: hidden; }
@media (max-width: 950px) {
  .announcements-hub .news-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .announcements-hub .news-glance { padding: 20px; }
  .announcements-hub .news-stats > div { padding-left: 22px; }
  .announcements-hub .news-glance-note { margin-bottom: 0; }
  .announcements-hub .news-spotlight { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .announcements-hub .news-spotlight .news-title { font-size: 1.75rem; }
  .announcements-hub .news-spotlight-copy { padding: 26px; }
  .announcements-hub .news-bottom-note { flex-wrap: wrap; }
}
@media (max-width: 650px) {
  .announcements-hub .news-hero { margin-top: 14px; border-radius: 18px; padding: 25px 22px; }
  .announcements-hub .news-hero h1 { font-size: clamp(1.9rem, 8.7vw, 2.85rem); }
  .announcements-hub .news-hero-description { font-size: .81rem; }
  .announcements-hub .news-glance { padding: 16px; }
  .announcements-hub .news-stats > div { padding: 0 10px; }
  .announcements-hub .news-stats dt { font-size: .65rem; }
  .announcements-hub .news-stats dd { font-size: 2rem; }
  .announcements-hub .news-toolbar { gap: 10px; }
  .announcements-hub .news-search { flex-basis: 100%; }
  .announcements-hub .news-sort-field { flex: 1; }
  .announcements-hub .news-sort-field select { flex: 1; min-width: 0; }
  .announcements-hub .news-filter-row { align-items: flex-start; flex-direction: column; gap: 6px; }
  .announcements-hub .news-filter { min-height: 44px; font-size: .72rem; padding-inline: 12px; }
  .announcements-hub .news-spotlight { grid-template-columns: minmax(0, 1fr); }
  .announcements-hub .news-spotlight .news-art { height: 225px; min-height: 225px; }
  .announcements-hub .news-spotlight .news-art--illustrated { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .announcements-hub .news-spotlight .news-art-title { max-width: none; font-size: 1.75rem; }
  .announcements-hub .news-feed { grid-template-columns: minmax(0, 1fr); }
  .announcements-hub .news-feed.is-list .news-card { grid-template-columns: 108px minmax(0, 1fr); }
  .announcements-hub .news-feed.is-list .news-art { min-height: 0; width: 88px; height: 88px; margin: 17px 0 0 14px; padding: 0; border-radius: 10px; gap: 0; }
  .announcements-hub .news-feed.is-list .news-art-label, .announcements-hub .news-feed.is-list .news-art-chips { display: none; }
  .announcements-hub .news-feed.is-list .news-art-title { display: none; }
  .announcements-hub .news-feed.is-list .news-title { font-size: 1.22rem; line-height: 1.3; }
  .announcements-hub .news-feed.is-list .news-card-copy { padding: 17px 15px 12px; }
  .announcements-hub .news-feed.is-list .news-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: .8rem; }
  .announcements-hub .news-feed.is-list .news-card-actions { flex-wrap: wrap; gap: 0 8px; margin-top: 12px; padding-top: 6px; }
  .announcements-hub .news-feed.is-list .news-copy { padding-left: 0; }
  .announcements-hub .news-feed.is-list .news-art--photo .news-image-credit { position: static; margin-top: auto; z-index: 1; font-size: .5rem; }
  .announcements-hub .news-card-copy { padding: 21px; }
  .announcements-hub .news-card .news-art--illustrated { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .announcements-hub .news-feed.is-list .news-art--illustrated { height: 88px; aspect-ratio: 1; }
  .announcements-hub .news-election-highlights { gap: 6px; margin-top: 17px; }
  .announcements-hub .news-election-highlights > * { padding: 7px 9px; font-size: .69rem; }
  .announcements-hub .news-bottom-note { padding: 22px; gap: 14px; }
  .announcements-hub .news-bottom-note > div { flex: 1 1 190px; }
  .announcements-hub .news-bottom-note .button { margin: 0; width: 100%; }
  .announcements-hub .news-loading { grid-template-columns: minmax(0, 1fr); }
  .announcements-hub .news-loading > div:not(:first-child) { display: none; }
  .announcements-hub .news-reader { max-height: calc(100dvh - 20px); width: calc(100vw - 16px); border-radius: 16px; }
  .announcements-hub .news-reader-top { padding: 8px 16px; }
  .announcements-hub .news-reader-content, .announcements-hub #news-reader-content { padding: 25px 22px; }
  .announcements-hub .news-reader-body { font-size: .91rem; }
  .announcements-hub .news-reader .election-section-header, .announcements-hub .news-reader .election-column { padding: 14px; }
  .announcements-hub .news-section-heading h2 { font-size: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { .announcements-hub .news-card { transition: none; } }
@media print {
  .announcements-hub .news-reader[open] { position: static; max-height: none; width: 100%; overflow: visible; border: 0; box-shadow: none; }
  .announcements-hub:has(.news-reader[open]) .site-header, .announcements-hub:has(.news-reader[open]) .site-footer,
  .announcements-hub:has(.news-reader[open]) main > :not(.news-reader), .announcements-hub .news-reader-top,
  .announcements-hub .news-reader .news-card-actions { display: none; }
}
