.news-portal { --news-ink: #172538; --news-muted: #647184; --news-accent: #b83228; padding: 32px 0 64px; background: #fff; color: var(--news-ink); }
.news-portal * { box-sizing: border-box; }
.news-masthead { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 8px 0 26px; }
.news-brand { color: var(--news-ink)!important; font-size: clamp(26px, 3.6vw, 42px); font-weight: 800; letter-spacing: -1.8px; line-height: 1.1; }
.news-brand span { color: var(--news-accent); }
.news-masthead p { margin: 9px 0 0; color: var(--news-muted); font-size: 14px; }
.news-search { display: flex; width: 290px; border: 1px solid #dce1e6; background: #f7f8fa; border-radius: 4px; }
.news-search input { width: 100%; min-width: 0; height: 44px; margin: 0; border: 0; box-shadow: none; background: transparent; padding: 0 14px; font-size: 14px; }
.news-search button { flex: 0 0 44px; border: 0; background: transparent; color: var(--news-ink); cursor: pointer; }
.news-categories { display: flex; gap: 28px; overflow-x: auto; border-top: 3px solid var(--news-ink); border-bottom: 1px solid #dce1e6; padding: 15px 0; }
.news-categories a { flex-shrink: 0; color: var(--news-ink); font-size: 13px; font-weight: 600; }
.news-categories .news-all { color: var(--news-accent); }
.news-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 28px 0 22px; }
.news-section-heading h1 { font-size: 22px; line-height: 1.4; font-weight: 700; margin: 0; border-left: 4px solid var(--news-accent); padding-left: 12px; }
.news-section-heading > span { color: var(--news-muted); font-size: 10px; letter-spacing: 1.8px; white-space: nowrap; }
.news-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 36px; }
.news-main, .news-sidebar { min-width: 0; }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
.news-card { min-width: 0; border-bottom: 1px solid #dce1e6; padding-bottom: 22px; }
.news-image { display: block; overflow: hidden; background: #edf0f3; aspect-ratio: 16 / 10; }
.news-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.news-image:hover img { transform: scale(1.025); }
.news-card-body { padding-top: 16px; }
.news-category { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; line-height: 1.6; margin-bottom: 9px; color: var(--news-accent); }
.news-category a { color: var(--news-accent); }
.news-card h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 23px; line-height: 1.24; font-weight: 700; margin: 0 0 12px; overflow-wrap: anywhere; }
.news-card h2 a { color: var(--news-ink); }
.news-portal a:hover { color: var(--news-accent); }
.news-excerpt { color: var(--news-muted); font-size: 14px; line-height: 1.7; margin: 0 0 14px; }
.news-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 11px; line-height: 1.6; color: var(--news-muted); }
.news-meta a { color: var(--news-ink); font-weight: 600; }
.news-read { display: inline-block; margin-top: 16px; color: var(--news-ink); font-size: 12px; font-weight: 600; }
.news-read span { margin-left: 7px; }
.news-card:first-child { grid-column: 1 / -1; background: #f3f5f7; padding: 0; border: 0; }
.news-card:first-child .news-image { aspect-ratio: 16 / 8; }
.news-card:first-child .news-card-body { padding: 24px 28px 28px; }
.news-card:first-child h2 { font-size: clamp(28px, 3vw, 39px); letter-spacing: -.6px; }
.news-card:first-child .news-excerpt { font-size: 15px; }
.news-editorial { padding: 28px 24px; background: #172538; color: #fff; border-top: 4px solid var(--news-accent); margin-bottom: 30px; }
.news-eyebrow { font-size: 10px; letter-spacing: 1.5px; color: #e9b4ac; font-weight: 600; }
.news-editorial h2 { font: 700 28px/1.25 Georgia, 'Times New Roman', serif; color: #fff; margin: 16px 0; }
.news-editorial p { color: #c7d0dc; font-size: 13px; line-height: 1.8; margin-bottom: 22px; }
.news-editorial a { color: #fff; font-size: 12px; font-weight: 600; }
.news-topics { margin-bottom: 30px; }
.news-topics h2, .news-sidebar .widget-title { font-size: 17px; font-weight: 700; border-bottom: 2px solid var(--news-ink); padding-bottom: 12px; margin: 0 0 8px; }
.news-topics > a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid #e8ebef; color: var(--news-ink); font-size: 13px; }
.news-count { font-size: 11px; background: #f0f2f5; border-radius: 3px; padding: 1px 8px; }
.news-sidebar .job-tags a { font-size: 12px; background: #f3f5f7; color: #465467; }
.news-empty { padding: 60px 24px; text-align: center; background: #f7f8fa; }
.news-empty > i { font-size: 32px; color: var(--news-muted); }
.news-empty h2 { font-size: 24px; margin: 20px 0 12px; }
.news-empty p { color: var(--news-muted); }
.news-portal a:focus-visible, .news-portal button:focus-visible, .news-portal input:focus-visible { outline: 2px solid var(--news-accent); outline-offset: 4px; }
@media (max-width: 1199px) { .news-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 26px; } }
@media (max-width: 991px) { .news-layout { grid-template-columns: minmax(0, 1fr); } .news-sidebar { border-top: 3px solid var(--news-ink); padding-top: 24px; } .news-desktop-ad { display: none; } }
@media (max-width: 575px) { .news-portal { padding-top: 20px; } .news-masthead { align-items: stretch; flex-direction: column; gap: 18px; padding-bottom: 20px; } .news-search { width: 100%; } .news-categories { gap: 22px; } .news-section-heading > span { display: none; } .news-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; } .news-card:first-child .news-card-body { padding: 20px; } .news-card:first-child .news-image { aspect-ratio: 16 / 10; } .news-card h2 { font-size: 25px; } }
@media (prefers-reduced-motion: reduce) { .news-image img { transition: none; } }

/* Full-width journal with comfortable responsive edge spacing. */
.news-portal > .container { width: 100%; max-width: none; padding-left: clamp(16px, 2.5vw, 48px); padding-right: clamp(16px, 2.5vw, 48px); }

.news-card:first-child .news-image { aspect-ratio: auto; height: clamp(200px, 25vw, 360px); }
