/* Newsroom v3.1 refinements: compact award controls and independent expanders. Loaded by Index's styles section AFTER the base
   three-newsroom.css in the current shared master. No shared-layout replacement. */
.nr [hidden], .nr-modal [hidden] { display: none !important; }
.nr:not(.nr-ready) [data-news-list] > [data-news-card]:nth-child(n+4) { display: none; }
.nr .nr-icon, .nr-modal .nr-icon {
    display:inline-block; width:20px; height:20px; min-width:20px;
    max-width:20px; flex:0 0 20px; vertical-align:middle;
    fill:none; stroke:currentColor; stroke-width:1.7;
}
.nr .nr-pill, .nr .nr-award__action, .nr .nr-text-action,
.nr .nr-card__cta, .nr .nr-kit, .nr-modal .nr-pill {
    display:inline-flex; align-items:center; gap:9px;
}
.nr .nr-pill, .nr .nr-award__action { justify-content:center; }
.nr .nr-pill .nr-icon, .nr .nr-card__cta .nr-icon, .nr .nr-award__action .nr-icon {
    width:16px; height:16px; min-width:16px; max-width:16px; flex-basis:16px;
}
.nr .nr-card__cta { align-self:flex-start; }
.nr .nr-card__proof { margin-top:-8px; font-size:11px; }
.nr .nr-card__award-icon {
    display:grid; place-items:center; width:44px; height:44px;
    margin-bottom:18px; background:#fff4df; color:#97651d;
    border:1px solid #edd7ad; border-radius:50%;
}
.nr .nr-card__award-icon .nr-icon { width:24px; height:24px; max-width:24px; }
.nr .nr-search > .nr-icon { color:#71717a; }
.nr .nr-search:focus-within { outline:2px solid var(--nr-gold); outline-offset:3px; }
.nr .nr-select-wrap select:disabled { opacity:.65; cursor:not-allowed; }
.nr .nr-columns { grid-template-columns:repeat(var(--nr-primary-count,3),minmax(0,1fr)); align-items:start; }
.nr .nr-card-stack > .nr-card { width:100%; }
.nr .nr-card__link { overflow-wrap:anywhere; }
.nr .nr-section-title { padding-bottom:20px; }
.nr .nr-extra__cards { align-items:stretch; }
.nr .nr-extra--0 { background:#f1eeea; }
.nr .nr-extra--1 { background:#e8e6e3; }
.nr .nr-extra--2 { background:#fdfbf7; }
.nr .nr-expand { display:flex; justify-content:center; padding-top:30px; padding-bottom:45px; }
.nr .nr-expand button { min-height:46px; min-width:160px; }
/* Each expander now lives inside its own section, which already has bottom padding. */
.nr .nr-featured > .nr-expand, .nr .nr-extra .nr-expand { padding-bottom:0; }
.nr [data-news-toggle][aria-expanded="true"] > .nr-icon { transform:rotate(180deg); }
/* A selected category takes the complete available width. No left-hand column. */
.nr.nr-single-section .nr-columns { grid-template-columns:minmax(0,1fr); }
.nr.nr-single-section .nr-card-stack {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch;
}
.nr.nr-single-section .nr-section-title { min-height:0; margin-bottom:12px; }
.nr.nr-single-section .nr-section-title h2 { font-size:clamp(27px,3vw,36px); }
.nr.nr-single-section .nr-featured { padding-bottom:50px; }
/* Scroll-snap awards bar: one full-width slide, independent from article filters. */
.nr .nr-award-shell { position:relative; display:block; padding-top:26px; padding-bottom:26px; }
.nr .nr-awards__items {
    display:grid; grid-auto-flow:column; grid-auto-columns:100%; gap:28px;
    overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory;
    scrollbar-width:none; position:relative; overscroll-behavior-x:contain;
}
.nr .nr-awards__items::-webkit-scrollbar { display:none; }
.nr .nr-award {
    display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center;
    gap:23px; width:100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;
}
.nr .nr-awards__medal { display:grid; width:52px; height:52px; }
.nr .nr-awards__medal .nr-icon { width:29px; height:29px; max-width:29px; }
.nr .nr-award__right { min-width:0; flex-shrink:1; }
.nr .nr-award__right p { display:flex; align-items:center; gap:7px; }
.nr .nr-award__right p .nr-icon { width:16px; height:16px; min-width:16px; max-width:16px; flex-basis:16px; }
.nr .nr-award__action { white-space:normal; max-width:230px; text-align:center; line-height:1.5; }
/* Controls are out of flow: no extra row, margin, or reserved vertical space.
   Desktop arrows occupy the container's existing side gutters; the counter
   occupies its existing bottom padding. The award content keeps its full width. */
.nr .nr-award-controls {
    position:absolute; inset:0; display:block; margin:0; pointer-events:none;
    align-self:stretch; justify-self:stretch; width:100%; height:100%;
}
.nr .nr-award-controls button {
    position:absolute; top:50%; transform:translateY(-50%);
    display:grid; place-items:center; width:36px; height:36px;
    pointer-events:auto;
}
.nr .nr-award-controls [data-award-prev] { left:4px; }
.nr .nr-award-controls [data-award-next] { right:4px; }
.nr .nr-award-controls [data-award-count] {
    position:absolute; right:clamp(20px,4vw,50px); bottom:4px;
    color:#d4d4d8; font-variant-numeric:tabular-nums;
    min-width:38px; text-align:center; font-size:10px; line-height:16px;
}
.nr .nr-awards__items:focus-visible { outline:2px solid var(--nr-gold); outline-offset:4px; }
.nr-modal .nr-modal__close { display:grid; place-items:center; width:38px; height:38px; }
body.three-reference-page.nr-modal-open { overflow:hidden !important; }
@media(max-width:1100px) {
    .nr .nr-award-controls button { width:24px; height:24px; }
    .nr .nr-award-controls button .nr-icon { width:16px; height:16px; min-width:16px; max-width:16px; }
    .nr .nr-award__right p { display:none; }
    .nr .nr-award { grid-template-columns:44px minmax(0,1fr) auto; gap:18px; }
    .nr .nr-awards__medal { width:42px; height:42px; }
}
@media(max-width:800px) {
    /* Narrow screens: compact controls fit entirely in the unchanged 26px
       bottom padding, not over the title/action and not in an additional row. */
    .nr .nr-award-controls {
        inset:auto clamp(20px,4vw,50px) 1px auto;
        display:flex; align-items:center; justify-content:flex-end;
        gap:10px; width:auto; height:24px;
    }
    .nr .nr-award-controls button { position:static; transform:none; flex:0 0 24px; }
    .nr .nr-award-controls [data-award-count] { position:static; }
    .nr .nr-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nr.nr-single-section .nr-columns { grid-template-columns:minmax(0,1fr); }
    .nr.nr-single-section .nr-card-stack { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nr .nr-extra__cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nr .nr-award { grid-template-columns:44px minmax(0,1fr); }
    .nr .nr-award__right { grid-column:2; margin-top:0; }
}
@media(max-width:590px) {
    .nr .nr-columns, .nr.nr-single-section .nr-card-stack, .nr .nr-extra__cards { grid-template-columns:minmax(0,1fr); }
    .nr .nr-award { gap:12px; }
    .nr .nr-award__copy h2 { font-size:19px; }
    .nr .nr-award__right { grid-column:1 / -1; margin-top:4px; }
    .nr .nr-expand { padding-bottom:30px; }
}
@media(prefers-reduced-motion:reduce) {
    .nr .nr-awards__items { scroll-behavior:auto; }
}
