/* AA contrast: white buttons get brand dark blue text (9.8:1) instead of
   .app-txt-blue #478cc4 (3.6:1). Page-scoped — fragments are per-document. */
.btn.app-txt-blue { color: #283a97 !important; }
/* Filter pills — pattern from the Tapway insights hub, ITMAX brand colors.
   Active = dark blue fill (9.8:1 with white text); inactive = dark blue on white. */
.nr-filters { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center;
    width: fit-content; max-width: 100%; margin: 0 auto; padding: 5px;
    border: 1px solid #dee2e6; border-radius: 999px; background: #fff; }
.nr-filter-btn { font-family: inherit; font-size: 14px; font-weight: 700;
    letter-spacing: 0.02em; padding: 11px 22px; border: none; border-radius: 999px;
    background: transparent; color: #283a97; cursor: pointer;
    transition: background .18s ease-out, color .18s ease-out; }
.nr-filter-btn:hover { background: #eef0f9; }
.nr-filter-btn[aria-pressed="true"] { background: #283a97; color: #fff; }
.nr-filter-btn[aria-pressed="true"]:hover { background: #1f2d78; }
.nr-filter-btn:focus-visible { outline: 2px solid #283a97; outline-offset: 2px; }
/* Card grid — image 4:3, rounded 8px, soft shadow, hover lift (per Sarah's
   reference, 14 Sep 2026). Date #5c636a passes AA on white and .bg-light. */
.nr-grid { row-gap: 28px; }
.nr-col { display: flex; }
.nr-card { display: flex; flex-direction: column; width: 100%; background: #fff;
    border-radius: 8px; overflow: hidden; text-decoration: none; color: inherit;
    box-shadow: 0 4px 12px rgba(0,0,0,.05);
    transition: box-shadow .18s ease-out, transform .18s ease-out; }
.nr-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.10); transform: translateY(-2px);
    text-decoration: none; color: inherit; }
.nr-card:focus-visible { outline: 2px solid #283a97; outline-offset: 2px; }
.nr-card-img { aspect-ratio: 4 / 2; overflow: hidden; background: #eef0f9; }
.nr-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nr-card-body { padding: 16px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.nr-card-title { font-size: 18px; font-weight: 700; line-height: 1.45; color: #212529;
    margin: 0; }
.nr-card:hover .nr-card-title { color: #283a97; }
.nr-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
    margin-top: auto; }
.nr-card-date { font-size: 14px; color: #5c636a; }
.nr-card-source { font-size: 12px; font-weight: 500; color: #343a40; background: #f5f5f5;
    border: 1px solid #ddd; border-radius: 4px; padding: 2px 8px; }
@media (prefers-reduced-motion: reduce) {
    .nr-filter-btn, .nr-card { transition: none; }
    .nr-card:hover { transform: none; }
}

/* Press release detail — scoped to this page only. */
.pr-article { max-width: 820px; margin: 0 auto; }
.pr-article p { font-size: calc(100vw * 0.01111); line-height: 1.7; color: #212529; margin-bottom: 1.1rem; }
/* Subtitle deck — an all-italic first paragraph (e.g. NVIDIA Cosmos release).
   3px smaller than body copy (Sarah, 14 Sep 2026). */
.pr-article > p:first-child > em:only-child {
    font-size: calc(100vw * 0.01111 - 3px);
}
.pr-article blockquote p { margin-bottom: 0.5rem; }
.pr-meta { color: #5c636a; font-size: calc(100vw * 0.01111); }
.pr-back { color: #283a97; text-decoration: none; font-weight: 600; }
.pr-back:hover { text-decoration: underline; }
/* Banner: authentic h-75 (root-cause wrapper fix makes it resolve to 675px). */
.btn.app-txt-blue { color: #283a97 !important; }
.pr-article blockquote {
    border-left: 4px solid #283a97; margin: 1.6rem 0; padding: 0.4rem 0 0.4rem 1.4rem;
    color: #283a97; font-style: italic;
}

@media only screen and (max-width: 991px) {
    .pr-article p,
    .pr-meta {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }
    .pr-article > p:first-child > em:only-child {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
}