.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-related-section,
.news-related-card,
.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 > div > 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;
}

.news-related-section {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.85rem;
    padding: 0.85rem;
}

.news-related-head h2 {
    margin: 0.2rem 0 0;
    color: #081a2f;
    font-family: "Source Serif 4", serif;
    font-size: clamp(1.45rem, 2.4vw, 2.1rem);
    line-height: 1.05;
}

.news-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: 0.55rem;
}

.news-related-card {
    display: grid;
    gap: 0.32rem;
    align-content: start;
    padding: 0.65rem;
    box-shadow: none;
}

.news-related-card time {
    color: #526579;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.news-related-card h3 {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.12;
}

.news-related-card h3 a {
    color: #081a2f;
    text-decoration: none;
}

.news-related-card h3 a:hover,
.news-related-card h3 a:focus {
    text-decoration: underline;
}

.news-related-card p {
    margin: 0;
    color: #435a74;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
}

@media (max-width: 1180px) {
    .news-grid,
    .news-chart-band,
    .news-related-grid {
        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,
    .news-related-grid {
        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-related-section,
    .news-related-card,
    .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;
    }
}

/* Publication index ------------------------------------------------------- */

.news-publication {
    --news-ink: #07182c;
    --news-navy: #062f57;
    --news-blue: #0b5b8e;
    --news-slate: #496179;
    --news-rule: #c8d5e1;
    --news-paper: #fbfaf6;
    --news-mist: #f1f6f9;
    --news-green: #08745a;
    --news-red: #a43c2c;
    --news-amber: #b97822;
    color: var(--news-ink);
}

.news-publication a {
    text-underline-offset: 0.16em;
}

.news-edition-masthead {
    border: 1px solid #aebfce;
    background: var(--news-paper);
    box-shadow: 0 24px 60px rgb(7 24 44 / 0.08);
}

.news-edition-line {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
    min-height: 2.45rem;
    padding: 0.45rem clamp(0.85rem, 2vw, 1.35rem);
    border-bottom: 1px solid #aebfce;
    color: #445a70;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-edition-line strong {
    color: var(--news-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 0.84rem;
    letter-spacing: 0.12em;
}

.news-edition-line span:last-child {
    text-align: right;
}

.news-cover {
    position: relative;
    isolation: isolate;
    min-height: clamp(24rem, 37vw, 35rem);
    overflow: hidden;
    background: #061b2e;
}

.news-cover > img,
.news-cover-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.news-cover > img {
    z-index: -2;
    object-fit: cover;
    object-position: center;
}

.news-cover-shade {
    z-index: -1;
    background:
        linear-gradient(90deg, rgb(2 15 28 / 0.96) 0%, rgb(3 21 37 / 0.88) 37%, rgb(3 23 40 / 0.28) 66%, rgb(3 23 40 / 0.06) 100%),
        linear-gradient(0deg, rgb(2 13 24 / 0.5), transparent 52%);
}

.news-cover-copy {
    display: grid;
    align-content: center;
    gap: 1rem;
    width: min(58%, 52rem);
    min-height: inherit;
    padding: clamp(1.5rem, 4.5vw, 4.5rem);
    color: #ffffff;
}

.news-cover-copy .news-kicker {
    color: #9ed5c5;
}

.news-cover-copy h1 {
    margin: 0;
    color: #ffffff;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(2.5rem, 5.2vw, 5.4rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 0.92;
    text-wrap: balance;
}

.news-cover-copy > p:not(.news-kicker) {
    max-width: 46rem;
    margin: 0;
    color: #d6e2ec;
    font-size: clamp(0.95rem, 1.4vw, 1.14rem);
    font-weight: 550;
    line-height: 1.55;
}

.news-cover-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    max-width: 45rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgb(255 255 255 / 0.22);
}

.news-cover-meta span {
    display: grid;
    gap: 0.15rem;
    color: #9eb2c5;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-cover-meta b {
    color: #ffffff;
    font-size: 0.83rem;
    letter-spacing: 0;
    text-transform: none;
}

.news-edition-nav {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    min-height: 3.5rem;
    padding: 0.55rem clamp(0.8rem, 2vw, 1.25rem);
    border-top: 1px solid #aebfce;
}

.news-edition-nav > nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.1rem;
    align-items: center;
}

.news-edition-nav > nav:first-child a {
    padding: 0.45rem 0.65rem;
    color: #2f485f;
    font-size: 0.8rem;
    font-weight: 850;
    text-decoration: none;
}

.news-edition-nav > nav:first-child a:hover,
.news-edition-nav > nav:first-child a:focus,
.news-edition-nav > nav:first-child a.is-active {
    color: var(--news-navy);
    text-decoration: underline;
}

.news-edition-nav .news-index-actions a {
    min-height: 2rem;
    padding: 0.28rem 0.55rem;
    border-color: #aebfce;
    background: transparent;
    font-size: 0.75rem;
}

.news-front-page {
    display: grid;
    grid-template-columns: minmax(0, 2.55fr) minmax(20rem, 0.72fr);
    gap: 0;
    margin-top: 1rem;
    border: 1px solid var(--news-rule);
    background: #ffffff;
    box-shadow: 0 20px 50px rgb(7 24 44 / 0.06);
}

.news-lead-story {
    display: grid;
    grid-template-columns: minmax(25rem, 1.1fr) minmax(27rem, 0.9fr);
    min-width: 0;
    border-right: 1px solid var(--news-rule);
}

.news-lead-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.15rem, 2.6vw, 2rem);
}

.news-lead-copy h2 {
    margin: 0.55rem 0 0.8rem;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(2.15rem, 2.75vw, 3.2rem);
    letter-spacing: -0.034em;
    line-height: 0.98;
    text-wrap: balance;
}

.news-lead-copy h2 a,
.news-editors-brief h3 a,
.news-analysis-card h3 a,
.news-more-research h3 a {
    color: var(--news-ink);
    text-decoration: none;
}

.news-lead-copy h2 a:hover,
.news-lead-copy h2 a:focus,
.news-editors-brief h3 a:hover,
.news-editors-brief h3 a:focus,
.news-analysis-card h3 a:hover,
.news-analysis-card h3 a:focus,
.news-more-research h3 a:hover,
.news-more-research h3 a:focus {
    color: var(--news-blue);
    text-decoration: none;
}

.news-lead-dek {
    margin: 0;
    color: #38516a;
    font-size: 1rem;
    font-weight: 520;
    line-height: 1.55;
}

.news-story-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.8rem;
    align-items: center;
    margin-top: 1.15rem;
    color: #64788b;
    font-size: 0.73rem;
    font-weight: 800;
    text-transform: uppercase;
}

.news-story-meta span:not(:first-child)::before,
.news-story-meta time::before {
    content: "";
    display: inline-block;
    width: 0.22rem;
    height: 0.22rem;
    margin-right: 0.75rem;
    border-radius: 50%;
    background: #8ca0b3;
    vertical-align: middle;
}

.news-lead-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    align-items: center;
    margin-top: auto;
    padding-top: 1.3rem;
}

.news-lead-actions a {
    color: var(--news-navy);
    font-size: 0.79rem;
    font-weight: 850;
}

.news-lead-actions .news-primary-link {
    padding: 0.58rem 0.8rem;
    background: var(--news-navy);
    color: #ffffff;
    text-decoration: none;
}

.news-lead-evidence {
    display: grid;
    grid-template-rows: auto minmax(10rem, 1fr) auto auto;
    gap: 0.65rem;
    min-width: 0;
    margin: 0;
    padding: 1.1rem;
    border-left: 1px solid #d2dee7;
    background:
        radial-gradient(circle at 92% 8%, rgb(8 116 90 / 0.1), transparent 13rem),
        linear-gradient(155deg, #f6f9fb, #eaf1f5);
}

.news-lead-evidence figcaption {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    justify-content: space-between;
    color: #5a7187;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-lead-evidence figcaption b {
    color: var(--news-ink);
    letter-spacing: 0;
    text-align: right;
    text-transform: none;
}

.news-index-line-chart {
    min-height: 12rem;
    overflow: hidden;
    padding: 0.45rem 0;
}

.news-index-line-chart svg,
.news-card-chart svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.news-chart-grid line {
    stroke: #c9d5df;
    stroke-width: 0.35;
    vector-effect: non-scaling-stroke;
}

.news-chart-price,
.news-chart-trend,
.news-chart-fair {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.news-chart-price {
    stroke: #063c70;
    stroke-width: 2.2;
}

.news-chart-trend {
    stroke: #169474;
    stroke-width: 1.25;
    stroke-dasharray: 4 2;
}

.news-chart-fair {
    stroke: #be7922;
    stroke-width: 1.1;
    stroke-dasharray: 2 2;
}

.news-evidence-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
    color: #4c647b;
    font-size: 0.67rem;
    font-weight: 800;
}

.news-evidence-legend span {
    display: inline-flex;
    gap: 0.28rem;
    align-items: center;
}

.news-evidence-legend i {
    display: inline-block;
    width: 1rem;
    height: 0.15rem;
    background: #063c70;
}

.news-evidence-legend .is-trend { background: #169474; }
.news-evidence-legend .is-fair { background: #be7922; }

.news-lead-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #c0cfda;
    border-left: 1px solid #c0cfda;
}

.news-lead-kpis > span {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
    padding: 0.55rem;
    border-right: 1px solid #c0cfda;
    border-bottom: 1px solid #c0cfda;
    background: rgb(255 255 255 / 0.58);
}

.news-lead-kpis small,
.news-card-evidence small {
    color: #65798c;
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.news-lead-kpis b {
    color: var(--news-ink);
    font-size: 0.92rem;
    font-weight: 900;
}

.news-lead-kpis em {
    overflow: hidden;
    color: #738699;
    font-size: 0.58rem;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-editors-brief {
    min-width: 0;
    padding: 1.15rem;
    border-top: 4px solid var(--news-green);
    background:
        linear-gradient(180deg, rgb(8 116 90 / 0.045), transparent 11rem),
        var(--news-paper);
}

.news-section-heading {
    display: flex;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px double #8fa2b5;
}

.news-section-heading h2 {
    margin: 0.2rem 0 0;
    color: var(--news-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1;
}

.news-section-heading > p {
    max-width: 34rem;
    margin: 0;
    color: #597087;
    font-size: 0.8rem;
    line-height: 1.45;
    text-align: right;
}

.news-section-heading > span,
.news-section-heading--compact > span {
    color: #75889a;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.news-section-heading--compact {
    margin-bottom: 0.55rem;
    padding-bottom: 0.55rem;
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.news-section-heading--compact h2 {
    font-size: 1.28rem;
}

.news-brief-list {
    display: grid;
}

.news-brief-list > article {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: 0.55rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--news-rule);
}

.news-brief-list > article:last-child { border-bottom: 0; }

.news-brief-number {
    color: var(--news-green);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 0.85rem;
    font-weight: 800;
}

.news-brief-list article p {
    margin: 0 0 0.28rem;
    color: #60758a;
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-brief-list h3 {
    margin: 0;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1rem, 1.35vw, 1.25rem);
    letter-spacing: -0.015em;
    line-height: 1.05;
}

.news-brief-list footer {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.55rem;
    color: #61768a;
    font-size: 0.67rem;
    font-weight: 750;
}

.news-signal-strip {
    display: grid;
    grid-template-columns: minmax(12rem, 1.2fr) repeat(4, minmax(8rem, 0.75fr));
    margin-top: 0.7rem;
    border: 1px solid var(--news-rule);
    border-top: 3px solid var(--news-navy);
    background: #ffffff;
}

.news-signal-strip > div {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.72rem 0.85rem;
    border-right: 1px solid var(--news-rule);
}

.news-signal-strip > div:last-child { border-right: 0; }

.news-signal-intro strong,
.news-signal-item b {
    overflow: hidden;
    color: var(--news-ink);
    font-size: 0.88rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-signal-intro > span,
.news-signal-item > span {
    color: #667b8f;
    font-size: 0.63rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.is-positive,
.is-positive b { color: var(--news-green) !important; }
.is-negative,
.is-negative b { color: var(--news-red) !important; }
.is-neutral,
.is-neutral b { color: var(--news-navy) !important; }

.news-edition-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.28fr);
    gap: 1rem;
    align-items: start;
    margin-top: 1.25rem;
}

.news-edition-main,
.news-intelligence-rail {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

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

.news-analysis-card {
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--news-rule);
    border-top: 3px solid var(--news-navy);
    background: #ffffff;
    box-shadow: 0 15px 34px rgb(7 24 44 / 0.05);
}

.news-analysis-card.is-positive { border-top-color: var(--news-green); }
.news-analysis-card.is-negative { border-top-color: var(--news-red); }

.news-card-chart {
    display: grid;
    grid-template-rows: auto minmax(7.5rem, 1fr);
    gap: 0.25rem;
    aspect-ratio: 2.25 / 1;
    contain: paint;
    overflow: hidden;
    padding: 0.65rem 0.75rem 0.45rem;
    border-bottom: 1px solid var(--news-rule);
    background: linear-gradient(180deg, #f4f8fa, #ecf3f6);
    text-decoration: none;
}

.news-card-chart-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    color: #60758a;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.news-card-chart-head b {
    color: var(--news-ink);
    font-size: 0.86rem;
    letter-spacing: 0;
}

.news-analysis-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0.9rem;
}

.news-analysis-copy .news-kicker a {
    color: inherit;
    text-decoration: none;
}

.news-analysis-copy h3 {
    margin: 0.35rem 0 0.55rem;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.25rem, 1.65vw, 1.62rem);
    letter-spacing: -0.023em;
    line-height: 1.02;
    text-wrap: balance;
}

.news-analysis-copy > p:not(.news-kicker) {
    margin: 0;
    color: #435b73;
    font-size: 0.83rem;
    font-weight: 500;
    line-height: 1.5;
}

.news-card-evidence {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 0.8rem;
    border: 1px solid #d5e0e8;
}

.news-card-evidence span {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
    padding: 0.48rem;
    border-right: 1px solid #d5e0e8;
    background: #f8fafb;
}

.news-card-evidence span:last-child { border-right: 0; }

.news-card-evidence b {
    overflow: hidden;
    color: var(--news-ink);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-analysis-copy footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.65rem;
    align-items: center;
    margin-top: auto;
    padding-top: 0.85rem;
    color: #687d90;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.news-analysis-copy footer a {
    margin-left: auto;
    color: var(--news-navy);
    font-weight: 900;
    text-decoration: none;
}

.news-more-research {
    margin-top: 1rem;
    border-top: 4px solid var(--news-ink);
}

.news-more-research .news-section-heading { padding-top: 0.8rem; }

.news-more-research > article {
    display: grid;
    grid-template-columns: 3.2rem 3.2rem minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: baseline;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--news-rule);
}

.news-more-research time,
.news-more-research > article > span {
    color: #60758a;
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.news-more-research h3 {
    margin: 0;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.05rem;
    line-height: 1.15;
}

.news-more-research > article > b { font-size: 0.78rem; }

.news-intelligence-rail > section {
    border: 1px solid var(--news-rule);
    background: #ffffff;
    box-shadow: 0 14px 32px rgb(7 24 44 / 0.045);
}

.news-sector-radar,
.news-method-card {
    padding: 0.9rem;
}

.news-sector-radar nav {
    display: grid;
}

.news-sector-radar nav a {
    display: grid;
    gap: 0.35rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #dce4eb;
    color: var(--news-ink);
    text-decoration: none;
}

.news-sector-radar nav a:last-child { border-bottom: 0; }

.news-sector-radar nav a > span {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    justify-content: space-between;
}

.news-sector-radar nav b { font-size: 0.79rem; }
.news-sector-radar nav em { color: #6c8093; font-size: 0.63rem; font-style: normal; font-weight: 750; }

.news-sector-radar nav i {
    display: block;
    height: 0.24rem;
    overflow: hidden;
    background: #e4ebf0;
}

.news-sector-radar nav u {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--news-navy), #159273);
    text-decoration: none;
}

.news-sector-radar nav a:hover b,
.news-sector-radar nav a:focus b,
.news-sector-radar nav a.is-active b { color: var(--news-green); }

.news-publication .news-taxonomy-panel {
    position: static;
    gap: 0.7rem;
    margin: 0;
    padding: 0.9rem;
    box-shadow: 0 14px 32px rgb(7 24 44 / 0.045);
}

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

.news-publication .news-taxonomy-all {
    padding: 0.5rem 0;
    border: 0;
    border-bottom: 1px solid var(--news-rule);
    background: transparent;
}

.news-publication details.news-taxonomy-group {
    display: block;
    border-bottom: 1px solid #dce4eb;
}

.news-publication details.news-taxonomy-group summary {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.48rem 0;
    cursor: pointer;
    list-style: none;
}

.news-publication details.news-taxonomy-group summary::-webkit-details-marker { display: none; }

.news-publication details.news-taxonomy-group summary::before {
    content: "+";
    flex: 0 0 auto;
    color: #7b8e9f;
    font-size: 0.75rem;
    font-weight: 900;
}

.news-publication details.news-taxonomy-group[open] summary::before { content: "−"; }

.news-publication details.news-taxonomy-group summary a {
    flex: 1;
    color: var(--news-ink);
    font-size: 0.76rem;
    font-weight: 850;
    text-decoration: none;
}

.news-publication details.news-taxonomy-group summary b { color: var(--news-green); font-size: 0.68rem; }

.news-publication details.news-taxonomy-group > div {
    display: grid;
    gap: 0.2rem;
    padding: 0 0 0.55rem 1.2rem;
}

.news-publication details.news-taxonomy-group > div a {
    margin: 0;
    padding: 0.32rem 0;
    border: 0;
    background: transparent;
    font-size: 0.69rem;
}

.news-method-card {
    background: var(--news-ink) !important;
    color: #ffffff;
}

.news-method-card .news-kicker { color: #83c6b2; }

.news-method-card h2 {
    margin: 0.4rem 0 0.6rem;
    color: #ffffff;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.45rem;
    line-height: 1.02;
}

.news-method-card > p:not(.news-kicker) {
    margin: 0;
    color: #c9d5df;
    font-size: 0.8rem;
    line-height: 1.55;
}

.news-method-card a {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    margin-top: 0.9rem;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
}

@media (max-width: 1240px) {
    .news-lead-story { grid-template-columns: 1fr; }
    .news-lead-actions { margin-top: 0.2rem; }
    .news-lead-evidence { grid-template-rows: auto minmax(10rem, 14rem) auto auto; }
    .news-lead-evidence { border-top: 1px solid #d2dee7; border-left: 0; }
    .news-front-page { grid-template-columns: minmax(0, 1.9fr) minmax(17rem, 0.8fr); }
}

@media (max-width: 1080px) {
    .news-cover-copy { width: min(70%, 48rem); }
    .news-front-page { grid-template-columns: 1fr; }
    .news-lead-story { border-right: 0; border-bottom: 1px solid var(--news-rule); }
    .news-brief-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; }
    .news-brief-list > article { border: 1px solid var(--news-rule); padding: 0.7rem; }
    .news-edition-layout { grid-template-columns: 1fr; }
    .news-intelligence-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .news-publication .news-taxonomy-panel nav { max-height: 25rem; overflow: auto; }
}

@media (max-width: 780px) {
    .news-edition-line { grid-template-columns: 1fr auto; }
    .news-edition-line strong { display: none; }
    .news-cover { min-height: 31rem; }
    .news-cover > img { object-position: 68% center; }
    .news-cover-shade { background: linear-gradient(90deg, rgb(2 15 28 / 0.96), rgb(3 21 37 / 0.7)); }
    .news-cover-copy { width: 78%; padding: 1.35rem; }
    .news-cover-copy h1 { font-size: clamp(2.35rem, 10vw, 4rem); }
    .news-cover-meta { grid-template-columns: 1fr; }
    .news-cover-meta span:nth-child(n+2) { display: none; }
    .news-edition-nav { align-items: flex-start; flex-direction: column; }
    .news-edition-nav > nav:first-child { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    .news-edition-nav > nav:first-child a { white-space: nowrap; }
    .news-lead-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .news-brief-list { grid-template-columns: 1fr; }
    .news-signal-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .news-signal-strip > div { border-bottom: 1px solid var(--news-rule); }
    .news-signal-intro { grid-column: 1 / -1; }
    .news-analysis-grid { grid-template-columns: 1fr; }
    .news-intelligence-rail { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .news-edition-line { display: flex; justify-content: space-between; font-size: 0.58rem; }
    .news-edition-line span:last-child { display: none; }
    .news-cover { min-height: 30rem; }
    .news-cover-copy { width: 100%; align-content: end; }
    .news-cover-shade { background: linear-gradient(0deg, rgb(2 15 28 / 0.98) 0%, rgb(2 15 28 / 0.82) 62%, rgb(2 15 28 / 0.2) 100%); }
    .news-cover-copy h1 { font-size: 2.55rem; }
    .news-edition-nav .news-index-actions { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; }
    .news-edition-nav .news-index-actions a { width: auto; min-width: 0; padding-inline: 0.3rem; }
    .news-lead-copy { padding: 1rem; }
    .news-lead-copy h2 { font-size: 2rem; }
    .news-lead-actions { align-items: flex-start; flex-direction: column; }
    .news-lead-evidence { padding: 0.8rem; }
    .news-index-line-chart { min-height: 9rem; }
    .news-lead-kpis { grid-template-columns: 1fr 1fr; }
    .news-section-heading { align-items: flex-start; flex-direction: column; }
    .news-section-heading > p { text-align: left; }
    .news-signal-strip { grid-template-columns: 1fr 1fr; }
    .news-card-chart { min-height: 10rem; aspect-ratio: auto; }
    .news-card-evidence { grid-template-columns: 1fr; }
    .news-card-evidence span { border-right: 0; border-bottom: 1px solid #d5e0e8; }
    .news-card-evidence span:last-child { border-bottom: 0; }
    .news-more-research > article { grid-template-columns: 2.8rem 2.8rem minmax(0, 1fr); }
    .news-more-research > article > b { display: none; }
}

/* Company research article ------------------------------------------------ */

.news-article-shell {
    --news-ink: #07182c;
    --news-navy: #062f57;
    --news-rule: #c8d5e1;
    --news-mist: #f1f6f9;
    --news-green: #08745a;
    --news-red: #a43c2c;
    color: var(--news-ink);
}

.news-article-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 0.7rem;
    overflow: hidden;
    border: 1px solid var(--news-rule);
    background: #ffffff;
}

.news-article-nav a {
    padding: 0.68rem 0.9rem;
    border-right: 1px solid var(--news-rule);
    color: var(--news-navy);
    font-size: 0.72rem;
    font-weight: 900;
    text-decoration: none;
}

.news-article-nav a:hover,
.news-article-nav a:focus {
    background: var(--news-navy);
    color: #ffffff;
}

.news-chart-section,
.news-research-paths {
    margin-top: 0.75rem;
    padding: clamp(0.85rem, 1.8vw, 1.15rem);
    border: 1px solid var(--news-rule);
    background: #ffffff;
    box-shadow: 0 18px 40px rgb(9 30 51 / 0.05);
}

.news-chart-section .news-chart-band {
    margin-top: 0.9rem;
}

.news-detail-section-head {
    display: flex;
    gap: 1.2rem;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 0.75rem;
    border-bottom: 3px double #93a7b9;
}

.news-detail-section-head h2,
.news-copy-heading h2,
.news-finding-grid h2,
.news-peer-panel h2,
.news-balance-panel h2 {
    margin: 0.2rem 0 0;
    color: var(--news-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    letter-spacing: -0.02em;
    line-height: 1.02;
}

.news-detail-section-head > p {
    max-width: 35rem;
    margin: 0;
    color: #526b81;
    font-size: 0.79rem;
    line-height: 1.5;
    text-align: right;
}

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

.news-finding-grid > section {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--news-rule);
    border-top: 3px solid var(--news-navy);
    background: linear-gradient(180deg, #ffffff, #f6f9fb);
}

.news-finding-grid > section:nth-child(2) { border-top-color: var(--news-green); }
.news-finding-grid > section:nth-child(3) { border-top-color: #b97822; }

.news-finding-grid h2 {
    font-size: 1.28rem;
}

.news-finding-grid ul,
.news-balance-panel ul {
    display: grid;
    gap: 0.45rem;
    margin: 0.7rem 0 0;
    padding-left: 1.05rem;
    color: #28445f;
    font-size: 0.81rem;
    line-height: 1.48;
}

.news-copy-heading {
    padding: 0.45rem 0 0.15rem;
    border-bottom: 3px double #93a7b9;
}

.news-peer-panel,
.news-balance-panel {
    padding: 1rem;
    border: 1px solid var(--news-rule);
    background: #ffffff;
    box-shadow: 0 15px 34px rgb(7 24 44 / 0.045);
}

.news-panel-intro {
    max-width: 56rem;
    color: #455f77;
    line-height: 1.55;
}

.news-peer-grid,
.news-balance-panel > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.75rem;
}

.news-peer-grid article,
.news-balance-panel article {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid #d7e2e9;
    background: #f7fafb;
}

.news-peer-grid h3,
.news-balance-panel h3 {
    margin: 0;
    color: var(--news-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.05rem;
}

.news-peer-grid article > span {
    color: #667c90;
    font-size: 0.68rem;
    font-weight: 800;
}

.news-peer-grid article > div {
    display: grid;
    gap: 0.25rem;
    margin-top: 0.65rem;
}

.news-peer-grid p {
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    margin: 0;
    color: #3f5870;
    font-size: 0.7rem;
}

.news-peer-grid em { color: var(--news-ink); font-style: normal; font-weight: 900; }
.news-peer-grid i { display: block; height: 0.3rem; overflow: hidden; background: #dfe7ed; }
.news-peer-grid u { display: block; height: 100%; background: linear-gradient(90deg, var(--news-navy), var(--news-green)); text-decoration: none; }
.news-balance-panel article.is-positive { border-top: 3px solid var(--news-green); }
.news-balance-panel article.is-negative { border-top: 3px solid var(--news-red); }

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

.news-research-link-grid a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.2rem 0.75rem;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid #d2dee7;
    color: var(--news-ink);
    background: #f8fafb;
    text-decoration: none;
}

.news-research-link-grid strong {
    color: var(--news-navy);
    font-size: 0.83rem;
}

.news-research-link-grid span {
    grid-column: 1;
    color: #526b81;
    font-size: 0.72rem;
    line-height: 1.4;
}

.news-research-link-grid b {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    color: var(--news-green);
    font-size: 1.1rem;
}

.news-research-link-grid a:hover,
.news-research-link-grid a:focus {
    border-color: var(--news-navy);
    background: #eef5f8;
}

@media (max-width: 960px) {
    .news-finding-grid,
    .news-research-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .news-article-nav { flex-wrap: nowrap; overflow-x: auto; }
    .news-article-nav a { flex: 0 0 auto; }
    .news-detail-section-head { align-items: flex-start; flex-direction: column; }
    .news-detail-section-head > p { text-align: left; }
    .news-finding-grid,
    .news-peer-grid,
    .news-balance-panel > div,
    .news-research-link-grid { grid-template-columns: 1fr; }
}

/* Article audio and analytical charts ------------------------------------ */

.news-full-audio {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.8rem;
    color: #ffffff;
    background: linear-gradient(135deg, #06182c, #0b3b64);
    border: 1px solid #082d51;
    box-shadow: 0 12px 28px rgb(4 22 40 / 0.18);
}

.news-audio-heading,
.news-summary-audio > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: center;
}

.news-audio-icon {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgb(255 255 255 / 0.38);
    border-radius: 50%;
    background: rgb(255 255 255 / 0.12);
    color: #ffffff;
    font-size: 0.68rem;
}

.news-audio-heading > div,
.news-summary-audio > div > div {
    display: grid;
    min-width: 0;
}

.news-audio-heading small {
    color: #9fc4dc;
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.news-audio-heading strong {
    color: #ffffff;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1rem;
}

.news-full-audio > p {
    margin: 0;
    color: #c6d9e6;
    font-size: 0.7rem;
    line-height: 1.42;
}

.news-full-audio audio,
.news-summary-audio audio {
    display: block;
    width: 100%;
    height: 2.25rem;
    accent-color: #0b6f63;
}

.news-audio-transcript {
    justify-self: end;
    color: #ffffff;
    font-size: 0.66rem;
    font-weight: 850;
}

.news-summary-audio {
    display: grid;
    gap: 0.55rem;
    margin: 0.65rem 0 0.9rem;
    padding: 0.7rem;
    border: 1px solid #b9cbd8;
    border-left: 4px solid var(--news-green);
    background: linear-gradient(90deg, #eef6f4, #f8fbfc);
}

.news-summary-audio .news-audio-icon {
    border-color: #83aa9f;
    background: #0b6f63;
}

.news-summary-audio strong {
    color: var(--news-ink);
    font-size: 0.8rem;
}

.news-summary-audio small {
    color: #506a80;
    font-size: 0.68rem;
    line-height: 1.35;
}

.news-chart-card {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(11rem, 1fr) auto;
    gap: 0.6rem;
    overflow: hidden;
    border-top: 3px solid var(--news-navy);
    background: linear-gradient(165deg, #ffffff, #f5f9fb);
    box-shadow: 0 12px 28px rgb(8 31 53 / 0.055);
}

.news-chart-card-dynamics { border-top-color: var(--news-green); }
.news-chart-card-volume { border-top-color: #7892aa; }

.news-chart-card figcaption.news-chart-card-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: start;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
}

.news-chart-card-head > div:first-child {
    display: grid;
    gap: 0.15rem;
}

.news-chart-card-head > div:first-child > span {
    color: #71859a;
    font-size: 0.57rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.news-chart-card-head h3 {
    margin: 0;
    color: var(--news-ink);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.06rem;
    letter-spacing: -0.015em;
    line-height: 1.05;
}

.news-chart-card-head dl {
    display: flex;
    gap: 0.3rem;
    margin: 0;
}

.news-chart-card-head dl div {
    display: grid;
    min-width: 3.2rem;
    padding: 0.3rem 0.42rem;
    border: 1px solid #d5e1e9;
    background: #f7fafb;
}

.news-chart-card-head dt {
    color: #71859a;
    font-size: 0.5rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.news-chart-card-head dd {
    margin: 0;
    color: var(--news-ink);
    font-size: 0.67rem;
    font-weight: 900;
    white-space: nowrap;
}

.news-chart-card-dynamics figcaption.news-chart-card-head,
.news-chart-card-volume figcaption.news-chart-card-head {
    grid-template-columns: 1fr;
}

.news-chart-card-dynamics .news-chart-card-head dl,
.news-chart-card-volume .news-chart-card-head dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.news-chart-card-dynamics .news-chart-card-head dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.news-line-chart,
.news-volume-bars {
    position: relative;
    min-height: 11rem;
    overflow: hidden;
    border: 1px solid #d6e2ea;
    background:
        linear-gradient(180deg, rgb(255 255 255 / 0.7), rgb(232 242 247 / 0.55)),
        repeating-linear-gradient(90deg, transparent 0, transparent calc(20% - 1px), rgb(193 209 221 / 0.26) 20%);
}

.news-line-chart svg {
    filter: drop-shadow(0 3px 3px rgb(4 41 73 / 0.06));
}

.news-line-chart .terminal-report-line-price { stroke-width: 2.35; }
.news-line-chart .terminal-report-line-trend { stroke-width: 1.55; }
.news-line-chart .terminal-report-line-fair { stroke-width: 1.45; }
.news-chart-area { fill: url(#news-price-area); stroke: none; }

.news-chart-foot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.6rem;
    align-items: center;
    color: #788b9d;
    font-size: 0.54rem;
    font-weight: 750;
}

.news-chart-foot > span:last-child { color: var(--news-ink); }
.news-chart-card-volume .news-chart-foot { grid-template-columns: 1fr auto; }
.news-volume-bars span { background: linear-gradient(180deg, #8ca8c0, #b2c5d5); }
.news-volume-bars span.is-latest { background: linear-gradient(180deg, var(--news-green), #49a58c); }

.news-chart-guide {
    border-top: 3px solid #b97822 !important;
}

.news-guide-grid {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.7rem;
}

.news-guide-grid > article {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.65rem;
    border: 1px solid #d7e2e9;
    background: #f8fafb;
}

.news-guide-grid header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.5rem;
    align-items: center;
}

.news-guide-grid header > span {
    display: grid;
    width: 1.5rem;
    height: 1.5rem;
    place-items: center;
    border-radius: 50%;
    background: var(--news-navy);
    color: #ffffff;
    font-size: 0.56rem;
    font-weight: 900;
}

.news-guide-grid header div { display: grid; }
.news-guide-grid header small { color: #71859a; font-size: 0.53rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.news-guide-grid header strong { color: var(--news-ink); font-size: 0.7rem; }

.news-range-scale {
    position: relative;
    height: 1.1rem;
    margin: 0.2rem 0 0;
}

.news-range-scale > i {
    position: absolute;
    top: 0.42rem;
    right: 0;
    left: 0;
    height: 0.25rem;
    border-radius: 1rem;
    background: linear-gradient(90deg, #c7d5df, #7ca99b);
}

.news-range-scale > b {
    position: absolute;
    top: 0.2rem;
    width: 0.68rem;
    height: 0.68rem;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #758ca1;
    box-shadow: 0 0 0 1px #526b81;
    transform: translateX(-50%);
}

.news-range-scale > b.is-positive { background: var(--news-green); }
.news-range-ends,
.news-risk-labels { display: flex; gap: 0.5rem; justify-content: space-between; color: #74889a; font-size: 0.55rem; font-weight: 750; }
.news-range-legend { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.25rem !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.news-range-legend li { display: grid; gap: 0.05rem; min-width: 0; color: #71859a !important; font-size: 0.54rem !important; }
.news-range-legend b { color: var(--news-ink); font-size: 0.65rem; }

.news-guide-bars { display: grid; gap: 0.42rem; }
.news-guide-bars > div { display: grid; gap: 0.18rem; }
.news-guide-bars p { display: flex; justify-content: space-between; margin: 0; color: #637a8f; font-size: 0.57rem; }
.news-guide-bars i { display: block; height: 0.28rem; overflow: hidden; background: #dfe7ed; }
.news-guide-bars u { display: block; height: 100%; background: #7b91a4; text-decoration: none; }
.news-guide-bars u.is-positive { background: var(--news-green); }
.news-guide-bars u.is-negative { background: var(--news-red); }

.news-guide-volume {
    display: flex;
    gap: 0.16rem;
    align-items: end;
    height: 3rem;
    padding-top: 0.25rem;
    border-bottom: 1px solid #bacbd7;
}

.news-guide-volume i { flex: 1; min-height: 0.15rem; background: #9fb4c6; }
.news-guide-volume i.is-latest { background: var(--news-green); }
.news-guide-grid article > p { margin: 0; color: #63798d; font-size: 0.56rem; line-height: 1.35; }

.news-risk-strip { display: flex; height: 0.6rem; overflow: hidden; border-radius: 1rem; background: #dfe7ed; }
.news-risk-strip i.is-positive { background: var(--news-green); }
.news-risk-strip i.is-neutral { background: #8fa3b5; }
.news-risk-strip i.is-negative { background: var(--news-red); }

.news-chart-explainer {
    margin-top: 0.65rem;
    border-top: 1px solid #d7e2e9;
}

.news-chart-explainer summary {
    padding: 0.6rem 0 0;
    color: var(--news-navy);
    font-size: 0.68rem;
    font-weight: 900;
    cursor: pointer;
}

.news-chart-explainer ul { font-size: 0.72rem; }

.news-chart-guide-link {
    display: flex;
    justify-content: space-between;
    margin-top: 0.7rem;
    padding-top: 0.65rem;
    border-top: 1px solid #d7e2e9;
    color: var(--news-navy);
    font-size: 0.7rem;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 1180px) {
    .news-chart-card-price { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
    .news-chart-card figcaption.news-chart-card-head { grid-template-columns: 1fr; }
    .news-chart-card-head dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .news-chart-card-head dl div { min-width: 0; }
    .news-chart-foot { grid-template-columns: 1fr auto; }
    .news-chart-foot > span:first-of-type { display: none; }
    .news-audio-heading,
    .news-summary-audio > div { grid-template-columns: auto minmax(0, 1fr); }
}
