.news-shell {
    width: min(100% - 2rem, var(--site-width));
    margin: 0 auto;
    padding: 0.75rem 0 2rem;
}

.news-kicker {
    margin: 0;
    color: #4a6380;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.news-index-hero,
.news-feature-card,
.news-card,
.news-preview-banner,
.news-editorial-queue,
.news-article-hero,
.news-audio-panel,
.news-chart-card,
.news-summary-panel,
.news-copy-section,
.news-disclaimer,
.news-source-panel,
.news-sidebar section {
    border: 1px solid #c9d7e6;
    background: #ffffff;
    box-shadow: 0 20px 45px rgb(16 32 51 / 0.06);
}

.news-index-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    padding: clamp(1.1rem, 2.5vw, 1.7rem);
    background:
        linear-gradient(90deg, rgb(255 255 255 / 0.96), rgb(255 255 255 / 0.82)),
        radial-gradient(circle at 92% 15%, rgb(0 51 102 / 0.12), transparent 20rem);
}

.news-index-hero h1,
.news-article-title h1 {
    max-width: 58rem;
    margin: 0.2rem 0 0.5rem;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 0.96;
}

.news-lede,
.news-dek,
.news-index-hero p,
.news-feature-card p,
.news-card p {
    color: #435a74;
    font-weight: 500;
}

.news-index-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.news-index-actions a,
.news-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid #003366;
    color: #003366;
    font-weight: 900;
    text-decoration: none;
}

.news-index-actions a:hover,
.news-index-actions a:focus,
.news-button:hover,
.news-button:focus {
    background: #003366;
    color: #ffffff;
}

.news-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    margin-bottom: 0.65rem;
    color: #526579;
    font-size: 0.78rem;
    font-weight: 800;
}

.news-breadcrumbs a {
    color: #003366;
    text-decoration: none;
}

.news-breadcrumbs a:hover,
.news-breadcrumbs a:focus {
    text-decoration: underline;
}

.news-breadcrumbs .terminal-separator {
    display: inline-block;
    flex: 0 0 auto;
    width: 0.3rem;
    height: 0.3rem;
    margin: 0 0.08rem;
    border-radius: 999px;
    background: #9aaabe;
    vertical-align: middle;
}

.news-listing-layout {
    display: grid;
    grid-template-columns: minmax(15rem, 0.24fr) minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    margin-top: 0.85rem;
}

.news-listing-main {
    min-width: 0;
}

.news-taxonomy-panel {
    position: sticky;
    top: 0.75rem;
    display: grid;
    gap: 0.65rem;
    padding: 0.85rem;
    border: 1px solid #c9d7e6;
    background:
        linear-gradient(180deg, #ffffff, #f8fbfe);
    box-shadow: 0 20px 45px rgb(16 32 51 / 0.05);
}

.news-taxonomy-head h2 {
    margin: 0.2rem 0 0;
    font-size: 1.2rem;
    line-height: 1.05;
}

.news-taxonomy-panel nav,
.news-taxonomy-group,
.news-taxonomy-group div {
    display: grid;
    gap: 0.35rem;
}

.news-taxonomy-all,
.news-taxonomy-group > a,
.news-taxonomy-group div a {
    display: flex;
    gap: 0.65rem;
    align-items: baseline;
    justify-content: space-between;
    min-width: 0;
    padding: 0.48rem 0.55rem;
    border: 1px solid #dce6ef;
    background: #ffffff;
    color: #0b2036;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
}

.news-taxonomy-group div a {
    margin-left: 0.55rem;
    color: #36506b;
    font-size: 0.8rem;
    font-weight: 700;
}

.news-taxonomy-all span,
.news-taxonomy-group span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-taxonomy-all b,
.news-taxonomy-group b {
    color: #006b35;
    font-size: 0.78rem;
}

.news-taxonomy-all:hover,
.news-taxonomy-all:focus,
.news-taxonomy-all.is-active,
.news-taxonomy-group > a:hover,
.news-taxonomy-group > a:focus,
.news-taxonomy-group.is-active > a,
.news-taxonomy-group div a:hover,
.news-taxonomy-group div a:focus,
.news-taxonomy-group div a.is-active {
    border-color: #003366;
    background: #eef5fb;
    color: #003366;
}

.news-taxonomy-empty {
    margin: 0;
    color: #526579;
    font-size: 0.88rem;
    font-weight: 500;
}

.news-feature {
    margin: 0;
}

.news-feature-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.45fr);
    gap: 1rem;
    padding: 1rem;
}

.news-feature-card h2,
.news-card h2 {
    margin: 0.25rem 0 0.45rem;
    font-size: 1.55rem;
    line-height: 1.05;
}

.news-feature-card h2 a,
.news-card h2 a,
.news-feature-card .news-kicker a,
.news-card .news-kicker a {
    color: #081a2f;
    text-decoration: none;
}

.news-feature-card h2 a:hover,
.news-card h2 a:hover,
.news-feature-card .news-kicker a:hover,
.news-feature-card .news-kicker a:focus,
.news-card .news-kicker a:hover,
.news-card .news-kicker a:focus {
    text-decoration: underline;
}

.news-feature-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    margin-top: 0.7rem;
    color: #526579;
    font-size: 0.85rem;
    font-weight: 800;
}

.news-feature-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.news-feature-metrics span,
.news-hero-panel div,
.news-chip-grid span {
    display: grid;
    gap: 0.15rem;
    padding: 0.65rem;
    border: 1px solid #dce6ef;
    background: #f8fbfe;
    color: #526579;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.news-feature-metrics b,
.news-hero-panel strong,
.news-chip-grid b {
    color: #003366;
    font-size: 1.05rem;
    text-transform: none;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.news-card {
    display: grid;
    align-content: start;
    gap: 0.25rem;
    min-height: 15rem;
    padding: 0.95rem;
}

.news-card:hover {
    border-color: #9bb5cf;
    box-shadow: 0 18px 38px rgb(16 32 51 / 0.08);
}

.news-card-footer,
.news-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    margin-top: auto;
    color: #526579;
    font-size: 0.84rem;
    font-weight: 800;
}

.news-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    justify-content: center;
    margin-top: 0.9rem;
    padding: 0.75rem;
    border: 1px solid #c9d7e6;
    background: #ffffff;
}

.news-pagination a,
.news-pagination span,
.news-pagination strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.2rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid #dce6ef;
    color: #003366;
    font-weight: 900;
    text-decoration: none;
}

.news-pagination span {
    color: #7a8795;
    background: #f8fbfe;
}

.news-pagination strong {
    border-color: transparent;
    color: #526579;
}

.news-pagination a:hover,
.news-pagination a:focus {
    border-color: #003366;
    background: #003366;
    color: #ffffff;
}

.news-empty {
    grid-column: 1 / -1;
    padding: 1.2rem;
    border: 1px solid #c9d7e6;
}

.news-preview-banner {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.8rem;
    background: #fff9df;
    color: #6e5200;
    font-weight: 900;
}

.news-preview-banner span {
    margin-left: 0.35rem;
    color: #806411;
    font-weight: 800;
}

.news-moderation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.news-moderation-actions button {
    min-height: 2rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #b99221;
    background: #ffffff;
    color: #5b4300;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 900;
    cursor: pointer;
}

.news-moderation-actions button:hover,
.news-moderation-actions button:focus {
    background: #6e5200;
    color: #ffffff;
}

.news-editorial-queue {
    margin-top: 0.85rem;
    padding: 0.9rem;
    background:
        linear-gradient(135deg, rgb(255 249 223 / 0.75), #ffffff 65%),
        #ffffff;
}

.news-editorial-head {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.news-editorial-head h2 {
    margin: 0.2rem 0 0;
    font-size: 1.45rem;
}

.news-editorial-head > span {
    color: #526579;
    font-weight: 900;
}

.news-editorial-grid {
    margin-top: 0;
}

.news-card-editorial {
    border-color: #d9bd65;
    background: #fffdf5;
}

.news-article-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.46fr);
    gap: 1rem;
    align-items: stretch;
    padding: clamp(1rem, 2.2vw, 1.55rem);
}

.news-article-title {
    display: grid;
    align-content: center;
}

.news-dek {
    max-width: 62rem;
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.5;
}

.news-hero-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.news-hero-panel small {
    color: #6d7f92;
    text-transform: none;
}

.news-chart-band {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.85fr) minmax(0, 0.7fr);
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.news-audio-panel {
    display: grid;
    gap: 0.55rem;
}

.news-audio-panel h2 {
    margin: 0.2rem 0 0;
    color: #081a2f;
    font-family: "Source Serif 4", serif;
    font-size: 1.2rem;
    line-height: 1.05;
}

.news-audio-disclosure {
    margin: 0;
    color: #435a74;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
}

.news-audio-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

.news-audio-card {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    margin: 0;
    padding: 0.55rem;
    border: 1px solid #dce6ef;
    background: #f8fbfe;
}

.news-audio-card figcaption {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: baseline;
    justify-content: space-between;
    color: #081a2f;
    font-weight: 900;
}

.news-audio-card figcaption small {
    color: #526579;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.news-audio-card audio {
    width: 100%;
    height: 2.35rem;
}

.news-audio-card p {
    margin: 0;
    color: #435a74;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
}

.news-audio-status {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.news-audio-status span {
    display: grid;
    gap: 0.1rem;
    min-width: 11rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid #dce6ef;
    background: #f8fbfe;
    color: #435a74;
    font-weight: 700;
}

.news-audio-status b {
    color: #081a2f;
    font-weight: 900;
}

.news-audio-status small {
    color: #8a4c00;
    font-weight: 700;
}

.news-chart-card {
    min-width: 0;
    padding: 0.85rem;
}

.news-chart-card figcaption,
.news-summary-panel h2,
.news-copy-section h2,
.news-disclaimer h2,
.news-source-panel h2,
.news-sidebar h2 {
    margin: 0 0 0.55rem;
    color: #081a2f;
    font-family: "Source Serif 4", serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.05;
}

.news-chart-card {
    margin: 0;
}

.news-line-chart {
    min-height: 12rem;
}

.news-volume-bars {
    min-height: 12rem;
}

.news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.38fr);
    gap: 0.75rem;
    align-items: start;
    margin-top: 0.75rem;
}

.news-story,
.news-sidebar {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.news-summary-panel,
.news-copy-section,
.news-disclaimer,
.news-source-panel,
.news-sidebar section {
    padding: 0.95rem;
}

.news-summary-panel p,
.news-copy-section p,
.news-disclaimer p,
.news-source-panel p,
.news-sidebar p,
.news-sidebar li {
    color: #203c5a;
    font-weight: 400;
}

.news-summary-panel ul,
.news-sidebar ul {
    display: grid;
    gap: 0.45rem;
    margin: 0.7rem 0 0;
    padding-left: 1.1rem;
}

.news-copy-section p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.68;
}

.news-summary-panel > p {
    color: #18314d;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.62;
}

.news-summary-panel li,
.news-copy-section li,
.news-disclaimer li {
    line-height: 1.6;
}

.news-source-panel {
    background: #f8fbfe;
}

.news-source-panel p {
    margin: 0.35rem 0 0;
    overflow-wrap: anywhere;
    line-height: 1.55;
}

.news-source-panel a {
    color: #003366;
    font-weight: 700;
}

.news-story strong,
.news-sidebar strong {
    color: #0b2036;
    font-weight: 800;
}

.news-story b,
.news-sidebar b {
    font-weight: 800;
}

.news-sidebar p {
    line-height: 1.55;
}

.news-sidebar ul {
    color: #203c5a;
}

.news-chip-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.news-sidebar dl {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.news-sidebar dl div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid #e1e9f1;
}

.news-sidebar dt {
    color: #526579;
    font-weight: 800;
}

.news-sidebar dd {
    margin: 0;
    color: #081a2f;
    font-weight: 900;
    text-align: right;
}

.news-sidebar dd a {
    color: #003366;
    font-weight: 900;
    text-decoration: none;
}

.news-sidebar dd a:hover,
.news-sidebar dd a:focus {
    text-decoration: underline;
}

.news-sidebar .news-button {
    width: 100%;
    margin-top: 0.4rem;
}

@media (max-width: 1180px) {
    .news-grid,
    .news-chart-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-chart-card-wide {
        grid-column: 1 / -1;
    }

    .news-listing-layout {
        grid-template-columns: 1fr;
    }

    .news-taxonomy-panel {
        position: static;
    }

    .news-taxonomy-panel nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .news-index-hero,
    .news-feature-card,
    .news-article-hero,
    .news-layout {
        grid-template-columns: 1fr;
    }

    .news-index-actions {
        justify-content: flex-start;
    }

    .news-grid,
    .news-audio-grid,
    .news-chart-band {
        grid-template-columns: 1fr;
    }

    .news-taxonomy-panel nav {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .news-shell {
        width: min(100% - 1rem, var(--site-width));
    }

    .news-hero-panel,
    .news-feature-metrics,
    .news-chip-grid {
        grid-template-columns: 1fr;
    }

    .news-index-hero h1,
    .news-article-title h1 {
        font-size: 2rem;
    }

    .news-line-chart,
    .news-volume-bars {
        min-height: 9rem;
    }

    .news-index-actions,
    .news-moderation-actions,
    .news-card-footer,
    .news-meta,
    .news-feature-footer,
    .news-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .news-index-actions a,
    .news-moderation-actions button,
    .news-card-footer a,
    .news-feature-footer a,
    .news-pagination a,
    .news-pagination span,
    .news-pagination strong {
        width: 100%;
        justify-content: center;
    }

    .news-feature-card,
    .news-card,
    .news-taxonomy-panel,
    .news-article-hero,
    .news-audio-panel,
    .news-audio-card,
    .news-chart-card,
    .news-summary-panel,
    .news-copy-section,
    .news-disclaimer,
    .news-source-panel,
    .news-sidebar section {
        padding: 0.8rem;
    }

    .news-sidebar dl div {
        display: grid;
        gap: 0.15rem;
    }

    .news-sidebar dd {
        text-align: left;
    }
}

@media (max-width: 420px) {
    .news-shell {
        width: min(100% - 0.75rem, var(--site-width));
    }

    .news-index-hero h1,
    .news-article-title h1 {
        font-size: 1.72rem;
        line-height: 1.03;
    }

    .news-feature-card h2,
    .news-card h2 {
        font-size: 1.28rem;
    }

    .news-chart-card figcaption,
    .news-summary-panel h2,
    .news-copy-section h2,
    .news-disclaimer h2,
    .news-source-panel h2,
    .news-sidebar h2 {
        font-size: 1.08rem;
    }
}
