/* BFSI Updates — "Newsroom" design: a conventional, dense, flat news portal.
   White page, thin rules, one font family, small radii, no gradients/blur/motion tricks. Loaded after bfsi.css (shared tokens + inner pages). */

:root {
  --hair: #eef0f4;
  --r: 8px;
  --r-lg: 10px;
  --max: 1280px;
  --red: #d92d20;
  --serif: var(--f);
}
body { background: var(--bg); }
.btn, .btn-ic { border-radius: 8px; }
.btn-primary { box-shadow: none; }
.btn-primary:hover { transform: none; }
.panel, .feature, .form, .contact-info, .promo { border-radius: var(--r-lg); box-shadow: none; }
.ttl { font-family: var(--f); font-weight: 700; letter-spacing: -.015em; }
.prose h2, .prose h3, .faq h2, .prose blockquote { font-family: var(--f); }
.prose h2 { font-weight: 700; font-size: 25px; letter-spacing: -.015em; }
.prose h3 { font-weight: 700; font-size: 20px; }
.prose blockquote { font-style: normal; font-weight: 600; font-size: 19px; }
.only-m { display: none; }
:root[data-theme='dark'] .nr-bar .logo img, :root[data-theme='dark'] .nr-foot .logo img { filter: brightness(0) invert(1); }
.nr-foot .logo img { filter: brightness(0) invert(1); }

/* ── Utility bar, masthead, sticky category bar, market strip ───────────── */
.nr-util { border-bottom: 1px solid var(--hair); font-size: 12.5px; color: var(--mute); }
.nr-util .w { display: flex; align-items: center; justify-content: space-between; height: 34px; }
.nr-util nav { display: flex; align-items: center; gap: 18px; }
.nr-util a:hover { color: var(--brand); }
.nr-util .theme { display: grid; place-items: center; width: 28px; height: 28px; border: 0; background: none; color: inherit; font-size: 15px; border-radius: 6px; }
.nr-util .theme:hover { color: var(--brand); background: var(--wash); }

.nr-head { position: sticky; top: 0; z-index: 100; background: var(--bg); border-bottom: 1px solid var(--hair); transition: box-shadow .2s; }
.nr-head.scrolled { box-shadow: 0 4px 14px -8px rgba(16, 24, 40, .35); }
.nr-bar { display: flex; align-items: center; gap: 28px; height: 64px; }
.nr-bar .logo { flex: none; }
.nr-bar .logo img { height: 40px; width: auto; max-width: none; }
.nr-main { flex: 1; min-width: 0; display: flex; align-items: stretch; align-self: stretch; overflow-x: auto; scrollbar-width: none; }
.nr-main::-webkit-scrollbar { display: none; }
.nr-main a { position: relative; flex: none; display: flex; align-items: center; padding: 0 14px; font-weight: 700; font-size: 14.5px; color: var(--ink); white-space: nowrap; }
.nr-main a:hover { color: var(--brand); }
.nr-main a.on { color: var(--brand); }
.nr-main a.on::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; background: var(--brand); }
.nr-bar .acts { flex: none; display: flex; align-items: center; gap: 10px; margin-left: auto; }
.nr-bar .acts .btn { height: 42px; }
.nr-bar .burger { display: none; }
.nr-cats { display: none; border-top: 1px solid var(--hair); }
.nr-cats .w { display: flex; overflow-x: auto; scrollbar-width: none; }
.nr-cats .w::-webkit-scrollbar { display: none; }
.nr-cats a { position: relative; flex: none; padding: 12px 12px; font-weight: 700; font-size: 13px; color: var(--ink); white-space: nowrap; }
.nr-cats a.on { color: var(--brand); }
.nr-cats a.on::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; background: var(--brand); }

.nr-strip { background: var(--wash); border-bottom: 1px solid var(--hair); }
.nr-strip ul { display: flex; overflow-x: auto; scrollbar-width: none; font-size: 12px; }
.nr-strip ul::-webkit-scrollbar { display: none; }
.nr-strip li { flex: none; display: flex; align-items: baseline; gap: 8px; padding: 10px 18px 10px 0; margin-right: 18px; border-right: 1px solid var(--line-2); white-space: nowrap; }
.nr-strip li:last-child { border-right: 0; }
.nr-strip b { font-weight: 700; }
.nr-strip .v, .nr-strip .c { font-variant-numeric: tabular-nums; }
.nr-strip .c { font-weight: 700; }
.nr-strip .c i { font-style: normal; font-size: 10px; }
.nr-strip .up .c { color: var(--up); }
.nr-strip .down .c { color: var(--down); }

/* ── Shared atoms ────────────────────────────────────────────────────────── */
.nr-label { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.nr-label h2 { display: flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
.nr-label h2::before { content: ''; width: 5px; height: 22px; border-radius: 5px; background: var(--c, var(--brand)); }
.nr-label.cat { }
.nr-label.cat h2 a { color: var(--c); }
.nr-label .sub { font-size: 11px; color: var(--mute); font-weight: 600; }
.nr-label .more { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--brand); white-space: nowrap; }
.nr-label .more:hover { text-decoration: underline; text-underline-offset: 3px; }
.nr-sec { padding-block: 30px 4px; }
.nr-box { margin-bottom: 30px; }
.nr-box:last-child { margin-bottom: 0; }

.nr-item { min-width: 0; }
.nr-txt { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.nr-img { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--wash); border-radius: var(--r); }
.nr-img img { width: 100%; height: 100%; object-fit: cover; }
.nr-img.ph { display: grid; place-items: center; background: color-mix(in srgb, var(--c, var(--brand)) 11%, var(--bg)); color: var(--c, var(--brand)); }
.nr-img.ph .i { width: 34%; height: 34%; stroke-width: 1.1; opacity: .85; }
.nr-cat { align-self: flex-start; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--c, var(--brand)); }
.nr-cat:hover { text-decoration: underline; text-underline-offset: 3px; }
.nr-ttl { font-weight: 700; font-size: 17px; line-height: 1.28; letter-spacing: -.015em; text-wrap: pretty; }
.nr-ttl a:hover { color: var(--brand); }
.nr-dek { color: var(--ink-2); font-size: 15.5px; line-height: 1.55; }
.nr-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; color: var(--mute); font-weight: 500; }
.nr-meta span + span::before { content: '·'; margin-right: 10px; }

.nr-item.is-card { display: flex; flex-direction: column; gap: 12px; }
.nr-item.is-lead { display: flex; flex-direction: column; gap: 16px; }
.nr-item.is-lead .nr-ttl { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
.nr-item.is-lead .nr-dek { font-size: 16px; }
.nr-item.is-lead .nr-txt { gap: 10px; }
.nr-item.is-row { display: grid; grid-template-columns: minmax(0, 1fr) 168px; gap: 20px; align-items: start; padding-block: 18px; border-bottom: 1px solid var(--hair); }
.nr-item.is-row .nr-ttl { font-size: 19px; }
.nr-item.is-row .nr-img { aspect-ratio: 3 / 2; }
.nr-item.is-rowl { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: start; padding-block: 15px; border-bottom: 1px solid var(--hair); }
.nr-item.is-rowl .nr-img { aspect-ratio: 4 / 3; }
.nr-item.is-rowl .nr-ttl { font-size: 15.5px; }
.nr-item.is-text { padding-block: 13px; border-bottom: 1px solid var(--hair); }
.nr-item.is-text .nr-ttl { font-size: 15.5px; }
.nr-stack > .nr-item:first-child { padding-top: 0; }
.nr-stack > .nr-item:last-child { border-bottom: 0; padding-bottom: 0; }
.nr-feed > .nr-item:first-child { padding-top: 0; }

.nr-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 24px; }
.nr-cards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.nr-mt { width: 100%; border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.nr-mt th, .nr-mt td { padding: 9px 0; border-bottom: 1px solid var(--hair); text-align: left; }
.nr-mt thead th { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); padding-top: 0; }
.nr-mt tbody th { font-weight: 700; }
.nr-mt td { font-weight: 600; }
.nr-mt .r { text-align: right; }
.nr-mt .chg { font-weight: 700; white-space: nowrap; }
.nr-mt .chg span[aria-hidden] { font-size: 9.5px; }
.nr-mt .up .chg { color: var(--up); }
.nr-mt .down .chg { color: var(--down); }
.nr-note { margin-top: 8px; font-size: 11.5px; color: var(--mute); line-height: 1.45; }
.nr-rank { counter-reset: r; }
.nr-rank li { counter-increment: r; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px; padding-block: 12px; border-bottom: 1px solid var(--hair); }
.nr-rank li:first-child { padding-top: 0; }
.nr-rank li:last-child { border-bottom: 0; padding-bottom: 0; }
.nr-rank li::before { content: counter(r); font-weight: 700; font-size: 19px; line-height: 1.1; color: var(--brand); }
.nr-rank a { font-weight: 700; font-size: 14.5px; line-height: 1.38; }
.nr-rank a:hover { color: var(--brand); }

/* ── Home ────────────────────────────────────────────────────────────────── */
.nr-breaking { display: flex; align-items: baseline; gap: 14px; padding-block: 12px; border-bottom: 1px solid var(--hair); font-size: 13px; }
.nr-breaking b { flex: none; background: var(--red); color: #fff; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 3px; }
.nr-breaking div { display: flex; gap: 24px; min-width: 0; overflow: hidden; white-space: nowrap; }
.nr-breaking a { overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.nr-breaking a + a { padding-left: 24px; border-left: 1px solid var(--line-2); }
.nr-breaking a:hover { color: var(--brand); }

.nr-front { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr); padding-block: 24px 6px; }
.nr-fl { padding-right: 26px; }
.nr-fc { padding-inline: 26px; border-inline: 1px solid var(--line); }
.nr-fr { padding-left: 26px; }
.nr-two { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 44px; align-items: start; }
.nr-side { display: flex; flex-direction: column; gap: 30px; }
.nr-side .ad { margin: 0; max-width: none; }



.nr-foot { margin-top: 48px; background: #0b1220; color: #c3cbda; }
.nr-foot a:hover { color: #fff; }
.nr-foot .cols { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 40px; padding-block: 48px 36px; }
.nr-foot .about p { margin-top: 16px; max-width: 40ch; font-size: 14.5px; line-height: 1.65; color: #9aa5ba; }
.nr-foot h3 { color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin-bottom: 16px; }
.nr-foot ul { display: flex; flex-direction: column; gap: 11px; font-size: 14.5px; }
.nr-foot .must a { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; align-items: start; line-height: 1.4; }
.nr-foot .must img, .nr-foot .must .ph { width: 64px; height: 48px; border-radius: 6px; object-fit: cover; background: #18243b; }
.nr-foot .must .must-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nr-foot .must .must-copy b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.35; font-weight: 600; color: #e8edf7; }
.nr-foot .must .must-copy small { color: #7d889d; font-size: 11px; line-height: 1.2; }
.nr-foot .none { color: #7d889d; }
.nr-foot .social { display: flex; gap: 8px; margin-top: 20px; }
.nr-foot .social a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: rgba(255, 255, 255, .08); color: #fff; font-size: 16px; }
.nr-foot .social a:hover { background: var(--brand); }
.nr-foot .bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 28px; padding-block: 20px 28px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 12.5px; color: #8793a8; }
.nr-foot .bar p { max-width: 90ch; line-height: 1.55; }

/* ── Listing ─────────────────────────────────────────────────────────────── */
.nr-listing { padding-block: 22px 56px; }
.nr-listing .crumbs { margin-bottom: 14px; }
.nr-pagehead { padding-bottom: 18px; }
.nr-pagehead h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 700; letter-spacing: -.025em; line-height: 1.1; }
.nr-pagehead p { margin-top: 8px; color: var(--ink-2); font-size: 16px; }
.nr-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--hair); margin-bottom: 28px; }
.nr-tabs { display: flex; overflow-x: auto; scrollbar-width: none; margin-bottom: -1px; }
.nr-tabs::-webkit-scrollbar { display: none; }
.nr-tabs a { flex: none; padding: 12px 14px; font-weight: 700; font-size: 14.5px; color: var(--ink-2); border-bottom: 3px solid transparent; white-space: nowrap; }
.nr-tabs a:hover { color: var(--brand); }
.nr-tabs a.on { color: var(--brand); border-bottom-color: var(--brand); }
.nr-period { display: flex; gap: 4px; padding-bottom: 6px; flex: none; }
.nr-period a { padding: 6px 11px; border-radius: 6px; font-size: 12px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.nr-period a:hover { background: var(--wash); }
.nr-period a.on { background: var(--ink); color: var(--bg); }
.nr-listtop { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 36px; margin-bottom: 34px; padding-bottom: 34px; border-bottom: 1px solid var(--hair); }

/* ── Article ─────────────────────────────────────────────────────────────── */
.nr-art { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 52px; padding-block: 22px 44px; align-items: start; }
.nr-art article { min-width: 0; max-width: 780px; }
.nr-art .crumbs { margin-bottom: 14px; }
.nr-arthead { display: flex; flex-direction: column; gap: 12px; }
.nr-arthead h1 { font-size: clamp(30px, 4vw, 46px); font-weight: 700; letter-spacing: -.028em; line-height: 1.1; text-wrap: balance; }
.nr-arthead .dek { font-size: 19px; line-height: 1.5; color: var(--ink-2); }
.nr-arthead .byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 6px; padding-block: 14px; border-block: 1px solid var(--line); }
.nr-arthead .who { display: flex; align-items: center; gap: 12px; }
.nr-arthead .av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--brand-100); color: var(--brand); font-weight: 700; }
.nr-arthead .who b { display: block; font-size: 13px; line-height: 1.25; }
.nr-arthead .who span { font-size: 12px; color: var(--mute); }
.nr-arthead .share { display: flex; gap: 8px; }
.nr-fig { margin: 22px 0 0; }
.nr-fig .nr-img { aspect-ratio: 16 / 9; }
.nr-take { margin-top: 24px; padding: 18px 22px; border-left: 4px solid var(--brand); background: var(--wash); border-radius: 0 var(--r) var(--r) 0; }
.nr-take h2 { font-size: 12.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 10px; }
.nr-take ul { list-style: disc; padding-left: 1.2em; display: flex; flex-direction: column; gap: 7px; font-weight: 500; line-height: 1.5; }
.nr-take li::marker { color: var(--brand); }
.nr-art .prose { font-size: 17px; line-height: 1.75; margin-top: 26px; }
.nr-art .prose > p:first-child { font-size: 18px; }
.nr-src { margin-top: 24px; font-size: 13px; color: var(--mute); }
.nr-src a { color: var(--brand); font-weight: 600; }
.nr-art .faq h2 { font-size: 23px; font-weight: 700; }
.nr-side .promo { border-radius: var(--r-lg); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .nr-front { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 32px; }
  .nr-fc { grid-column: 1 / -1; order: -1; padding: 0 0 28px; border: 0; margin-bottom: 28px; border-bottom: 1px solid var(--hair); }
  .nr-fl { padding: 0; }
  .nr-fr { padding: 0; }
  .nr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nr-two, .nr-art { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .nr-art article { max-width: none; }
  .nr-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 32px; align-items: start; }
  .nr-foot .cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .nr-main { display: none; }
  .nr-cats { display: block; }
  .nr-bar { height: 56px; gap: 12px; }
  .nr-bar .logo img { height: 34px; }
  .nr-bar .burger { display: inline-grid; }
    .nr-filterbar { flex-direction: column; align-items: stretch; gap: 0; border-bottom: 0; }
  .nr-tabs { border-bottom: 1px solid var(--hair); }
  .nr-period { padding: 10px 0 0; overflow-x: auto; scrollbar-width: none; }
  .nr-filterbar { margin-bottom: 24px; }
}
@media (max-width: 700px) {
  .nr-util { display: none; }
  .nr-bar .sub span { display: none; }
  .nr-bar .sub { width: 42px; padding: 0; }
  .nr-front, .nr-side { grid-template-columns: minmax(0, 1fr); }
  .nr-fl { margin-bottom: 28px; }
  .nr-item.is-lead .nr-dek { display: none; }
  .nr-item.is-row { grid-template-columns: minmax(0, 1fr) 110px; gap: 14px; padding-block: 15px; }
  .nr-item.is-row .nr-ttl { font-size: 16px; }
  .nr-item.is-row .nr-dek { display: none; }
    .nr-breaking a:nth-child(n+2) { display: none; }
  .nr-foot .cols { grid-template-columns: 1fr; gap: 30px; padding-block: 36px 24px; }
  .nr-arthead .dek { font-size: 17px; }
  .nr-art .prose { font-size: 17.5px; }
  .nr-arthead .byline { align-items: flex-start; }
}
@media (max-width: 560px) {
  .nr-cards, .nr-cards.three { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .nr-item.is-card .nr-ttl { font-size: 18px; }
}

/* ── Don't miss: photo tiles ─────────────────────────────────────────────── */
.nr-bento { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 190px; }
.nr-bento.n1, .nr-bento.n2, .nr-bento.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nr-tile { position: relative; display: block; overflow: hidden; border-radius: var(--r-lg); background: #1d2433; color: #fff; isolation: isolate; }
.nr-tile.big { grid-column: span 2; grid-row: span 2; }
.nr-tile .bg { position: absolute; inset: 0; z-index: -2; display: grid; place-items: center; color: var(--c); background: color-mix(in srgb, var(--c) 30%, #111827); }
.nr-tile .bg img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.nr-tile .bg .i { width: 30%; height: 30%; opacity: .6; stroke-width: 1.1; color: #fff; }
.nr-tile::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.28) 0, rgba(0,0,0,0) 35%, rgba(0,0,0,.82) 100%); }
.nr-tile:hover .bg img { transform: scale(1.04); }
.nr-tile .chip { position: absolute; top: 12px; left: 12px; padding: 4px 10px; border-radius: 4px; background: var(--c); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.nr-tile .in { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
.nr-tile .t { font-weight: 700; font-size: 15.5px; line-height: 1.28; letter-spacing: -.01em; }
.nr-tile.big .t { font-size: 25px; line-height: 1.2; }
.nr-tile .m { font-size: 11px; color: rgba(255,255,255,.8); font-weight: 600; }
.nr-tile:hover .t { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nr-bento.n1 .nr-tile.big, .nr-bento.n2 .nr-tile.big, .nr-bento.n3 .nr-tile.big { grid-column: span 1; }

/* ── Chips, badge, mini newsletter, topics, sticky side ──────────────────── */
.nr-chip { position: absolute; top: 10px; left: 10px; padding: 3px 8px; border-radius: 3px; background: var(--c); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.nr-new { display: inline-block; margin-right: 8px; padding: 1px 6px; border-radius: 3px; background: var(--red); color: #fff; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.nr-mini { padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--brand); border-radius: var(--r); background: var(--wash); }
.nr-mini h2 { font-size: 16px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.nr-mini p { margin-top: 6px; font-size: 13.5px; color: var(--ink-2); }
.nr-mini form { display: grid; gap: 8px; margin-top: 12px; }
.nr-mini input[type='email'] { height: 42px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--bg); color: var(--ink); font: inherit; min-width: 0; }
.nr-mini input[type='email']:focus { outline: none; border-color: var(--brand); }
.nr-mini .btn { height: 42px; }
.nr-mini .ok { color: var(--up); font-weight: 600; font-size: 12px; }
.hp { position: absolute; left: -9999px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.nr-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.nr-tags a { padding: 6px 12px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 12px; font-weight: 600; }
.nr-tags a:hover { border-color: var(--brand); color: var(--brand); }
.nr-side.sticky { position: sticky; top: 84px; }

/* ── Category modules ────────────────────────────────────────────────────── */
.nr-mod.a { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.nr-mod.b { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.nr-mod.b.solo { grid-template-columns: minmax(0, 1fr); }
.nr-heads { padding: 18px 20px; border-radius: var(--r); background: var(--wash); border-left: 3px solid var(--c); }
.nr-heads h3 { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--c); margin-bottom: 4px; }
.nr-heads li { padding-block: 11px; border-bottom: 1px solid var(--hair); }
.nr-heads li:last-child { border-bottom: 0; padding-bottom: 0; }
.nr-heads a { display: block; font-weight: 700; font-size: 14.5px; line-height: 1.35; }
.nr-heads a:hover { color: var(--brand); }
.nr-heads time { display: block; margin-top: 3px; font-size: 11px; color: var(--mute); }

@media (max-width: 1100px) {
  .nr-bento { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 180px; }
  .nr-tile.big { grid-column: span 3; grid-row: span 2; }
  .nr-mod.a, .nr-mod.b { grid-template-columns: minmax(0, 1fr); }
  .nr-side.sticky { position: static; }
}
@media (max-width: 700px) {
  .nr-bento, .nr-bento.n1, .nr-bento.n2, .nr-bento.n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 170px; gap: 10px; }
  .nr-tile.big, .nr-bento .nr-tile.big { grid-column: span 2; grid-row: span 2; }
  .nr-tile.big .t { font-size: 20px; }
  .nr-tile .t { font-size: 13px; }
}
@media print { .nr-util, .nr-head, .nr-strip, .nr-news, .nr-foot, .nr-side { display: none !important; } }

html, body { overflow-x: clip; }

:root[data-theme='dark'] { --hair: #1c2230; }
.nr-strip { border-bottom-color: var(--hair); background: var(--wash); }
.nr-strip li { border-right-color: var(--line); }
.live { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--up); box-shadow: 0 0 0 0 color-mix(in srgb, var(--up) 55%, transparent); animation: nrping 2s infinite; }
@keyframes nrping { 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .live, .nr-wire .now i { animation: none; } }
.pill { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; transition: background .15s, border-color .15s; }
.pill:hover { background: var(--wash); border-color: var(--ink-2); }
.pill .i { width: 15px; height: 15px; }
.nr-label .more { font-weight: 700; }

/* ── Hero: cover story + top stories ─────────────────────────────────────── */
.nr-panel { background: var(--wash); border-radius: 20px; padding: 22px; }
.nr-panel .ph { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.nr-panel .ph h2 { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.nr-panel .ph h2 .i { color: var(--brand); }
.nr-panel .more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 13.5px; font-weight: 700; color: var(--brand); }
.nr-panel .more:hover { text-decoration: underline; text-underline-offset: 3px; }
/* ── Markets cards ───────────────────────────────────────────────────────── */
.nr-mkt .nr-label { flex-wrap: wrap; }
.nr-mkt .tabs { display: flex; gap: 6px; margin-right: auto; padding: 4px; border-radius: 999px; background: var(--wash); }
.nr-mkt .tabs button { height: 34px; padding: 0 16px; border: 0; border-radius: 999px; background: none; color: var(--ink-2); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.nr-mkt .tabs button.on { background: var(--bg); color: var(--ink); box-shadow: var(--shadow-sm); }
.mk-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mk-grid[hidden] { display: none; }
.mk-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 84px; grid-template-areas: 'top top' 'px sp' 'ch sp'; gap: 4px 10px; align-items: end; padding: 16px 18px; border: 1px solid var(--hair); border-radius: 16px; background: var(--bg); transition: box-shadow .2s, border-color .2s, transform .2s; }
.mk-card:hover { border-color: var(--line-2); box-shadow: var(--shadow); transform: translateY(-2px); }
.mk-card .top { grid-area: top; display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.mk-card .top b { font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mk-card .top small { flex: none; padding: 1px 6px; border-radius: 4px; background: var(--wash); color: var(--mute); font-size: 10.5px; font-weight: 700; letter-spacing: .04em; }
.mk-card .px { grid-area: px; font-size: 23px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.mk-card .ch { grid-area: ch; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.mk-card .ch i { font-style: normal; font-size: 10px; }
.mk-card .sp { grid-area: sp; width: 100%; height: 40px; align-self: center; }
.mk-card.up .ch, .mk-card.up .sp { color: var(--up); }
.mk-card.down .ch, .mk-card.down .sp { color: var(--down); }
.mk-card.flat .ch, .mk-card.flat .sp { color: var(--mute); }
.mk-note { margin-top: 12px; font-size: 11px; color: var(--mute); }

/* ── Wire timeline ───────────────────────────────────────────────────────── */
.nr-wire ol { position: relative; display: flex; flex-direction: column; margin-top: 4px; }
.nr-wire ol::before { content: ''; position: absolute; left: 46px; top: 14px; bottom: 14px; width: 2px; background: var(--line); border-radius: 2px; }
.nr-wire li { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 20px; padding: 11px 0; }
.nr-wire li::before { content: ''; position: absolute; left: 41px; top: 18px; width: 12px; height: 12px; border-radius: 50%; background: var(--wash); border: 3px solid var(--c); }
.nr-wire time { font-size: 12.5px; font-weight: 700; color: var(--mute); font-variant-numeric: tabular-nums; padding-top: 2px; }
.nr-wire li > div { display: flex; flex-direction: column; gap: 3px; padding-left: 10px; }
.nr-wire .k { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c); }
.nr-wire li a { font-weight: 700; font-size: 14.5px; line-height: 1.38; }
.nr-wire li a:hover { color: var(--brand); }
.nr-wire .now { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--up); }
.nr-wire .now i { width: 7px; height: 7px; border-radius: 50%; background: var(--up); animation: nrping 2s infinite; }
.nr-side .nr-box { padding: 0 4px; }

/* ── Category module cards ───────────────────────────────────────────────── */
.nr-modcard { padding: clamp(20px, 2.4vw, 32px); border: 1px solid var(--hair); border-radius: 28px; background: var(--bg); box-shadow: var(--shadow-sm); }
.nr-modcard .mh { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.nr-modcard .mh h2 { display: flex; align-items: center; gap: 12px; font-size: 23px; font-weight: 700; letter-spacing: -.02em; }
.nr-modcard .ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--c); color: #fff; }
.nr-modcard .ic .i { width: 20px; height: 20px; }
.nr-modcard .pill { border-color: color-mix(in srgb, var(--c) 40%, var(--line)); color: var(--c); }
.nr-modcard .pill:hover { background: color-mix(in srgb, var(--c) 8%, var(--bg)); border-color: var(--c); }
.nr-heads { border-left: 0; border-radius: 18px; }

/* ── Videos rail ─────────────────────────────────────────────────────────── */
.nr-vids { padding-bottom: 6px; }
.nr-vids .rail { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
.nr-vids .rail::-webkit-scrollbar { display: none; }
.vc { position: relative; flex: 0 0 calc((100% - 64px) / 5); aspect-ratio: 2 / 3; border-radius: 14px; overflow: hidden; scroll-snap-align: start; background: #1d2433; color: #fff; isolation: isolate; }
.vc img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.vc:hover img { transform: scale(1.05); }
.vc::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.88) 100%); }
.vc .in { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.vc .pl { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; border: 2px solid #fff; font-size: 16px; transition: background .15s, color .15s; }
.vc:hover .pl { background: #fff; color: #0b1220; }
.vc .t { font-size: 15px; font-weight: 700; line-height: 1.3; }
.rail-ctl { display: flex; align-items: center; justify-content: center; position: relative; margin-top: 16px; min-height: 36px; }
.rail-ctl .dots { display: flex; gap: 8px; }
.rail-ctl .dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--line-2); cursor: pointer; }
.rail-ctl .dots button.on { background: var(--ink); }
.rail-ctl .arr { position: absolute; right: 0; display: flex; gap: 8px; }
.rail-ctl .arr button { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--ink); background: none; color: var(--ink); display: grid; place-items: center; cursor: pointer; }
.rail-ctl .arr button:first-child .i { transform: rotate(180deg); }
.rail-ctl .arr button:disabled { opacity: .3; border-color: var(--line-2); cursor: default; }
.rail-ctl .arr .i { width: 16px; height: 16px; }

/* ── Newsletter card ─────────────────────────────────────────────────────── */
.nr-news { padding-block: 52px 0; }
.nr-news .card { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; gap: 34px; align-items: center; padding: clamp(28px, 4.4vw, 56px); border-radius: 32px; color: #fff; overflow: hidden; background: radial-gradient(70% 120% at 100% 0%, #3b5bdb 0%, transparent 60%), linear-gradient(135deg, #0c2459, #081a44); }
.nr-news .card::before, .nr-news .card::after { content: ''; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); pointer-events: none; }
.nr-news .card::before { width: 520px; height: 520px; right: -120px; bottom: -300px; }
.nr-news .card::after { width: 300px; height: 300px; right: 40px; bottom: -170px; border-color: rgba(255,255,255,.18); }
.nr-news .kick { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #a9bcff; }
.nr-news h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.05; font-weight: 700; letter-spacing: -.03em; }
.nr-news p { margin-top: 14px; max-width: 46ch; line-height: 1.6; color: #bccbf3; }
.nr-news .frm { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); }
.nr-news .frm input[type='email'] { flex: 1 1 180px; min-width: 0; height: 52px; padding: 0 20px; border: 0; border-radius: 999px; background: transparent; color: #fff; font: inherit; font-size: 15px; }
.nr-news .frm input::placeholder { color: #9fb2e8; }
.nr-news .frm input:focus { outline: none; }
.nr-news .frm:focus-within { border-color: #fff; }
.nr-news .frm .btn { height: 52px; padding-inline: 26px; border-radius: 999px; background: #fff; color: #081a44; box-shadow: none; font-weight: 700; }
.nr-news .frm .ok, .nr-news .frm .err { width: 100%; padding: 4px 14px 8px; font-size: 13px; font-weight: 600; }
.nr-news .ok { color: #4ff0b0; }
.nr-news .err { color: #ff93a1; }

@media (max-width: 1100px) {
  .mk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vc { flex-basis: calc((100% - 32px) / 3); }
  .nr-news .card { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .nr-label h2, .nr-modcard .mh h2 { font-size: 19px; }
  .nr-modcard { border-radius: 22px; padding: 18px; }
  .nr-modcard .mh .pill { height: 34px; padding: 0 14px; font-size: 12px; }
  .nr-mkt .tabs { width: 100%; overflow-x: auto; scrollbar-width: none; }
  .nr-mkt .nr-label .more { display: none; }
  .mk-card { padding: 14px; grid-template-columns: minmax(0, 1fr) 60px; }
  .mk-card .px { font-size: 19px; }
  .vc { flex-basis: 62%; }
  .rail-ctl .arr { display: none; }
  .nr-news .card { border-radius: 24px; }
  .nr-news .frm { border-radius: 26px; }
  .nr-news .frm .btn { width: 100%; }
}
@media (max-width: 900px) { .nr-listtop { grid-template-columns: minmax(0, 1fr); } }

/* ── Hero carousel + spotlight ───────────────────────────────────────────── */
.nr-hero { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: 18px; padding-block: 20px 6px; }
.nr-slides { position: relative; min-height: 520px; border-radius: 24px; overflow: hidden; isolation: isolate; background: #101a33; color: #fff; }
.nr-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.nr-slide.on { opacity: 1; visibility: visible; z-index: 1; }
.nr-slide .bg { position: absolute; inset: 0; z-index: -2; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 40%, #0b1220); }
.nr-slide .bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 7s cubic-bezier(.2,.6,.2,1); }
.nr-slide.on .bg img { transform: scale(1); }
.nr-slide .bg .i { width: 30%; height: 30%; stroke-width: .8; color: rgba(255,255,255,.35); }
.nr-slide::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,12,24,.2) 0%, rgba(8,12,24,0) 28%, rgba(8,12,24,.72) 62%, rgba(8,12,24,.94) 100%); }
.nr-slide .in { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(20px, 3vw, 38px); padding-bottom: 72px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.nr-slide .chip { padding: 5px 11px; border-radius: 999px; background: var(--c); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.nr-slide h2 { font-size: clamp(24px, 3vw, 40px); line-height: 1.12; font-weight: 700; letter-spacing: -.022em; max-width: 24ch; text-wrap: balance; }
.nr-slide h2 a:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.nr-slide p { max-width: 60ch; font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,.85); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nr-slide .m { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.8); }
.nr-slide .go { display: inline-flex; align-items: center; gap: 8px; padding: 8px 15px; border-radius: 999px; background: #fff; color: #0b1220; font-weight: 700; }
.nr-slide .go:hover { background: var(--brand-100); }
.nr-ctl { position: absolute; z-index: 3; right: clamp(16px, 2.4vw, 28px); bottom: 20px; display: flex; align-items: center; gap: 8px; }
.nr-ctl .cnt { margin-right: 6px; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.75); font-variant-numeric: tabular-nums; }
.nr-ctl .cnt b { color: #fff; font-size: 13px; }
.nr-ctl button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(6px); transition: background .15s, color .15s; }
.nr-ctl button:hover { background: #fff; color: #0b1220; }
.nr-ctl button[data-prev] .i { transform: rotate(180deg); }
.nr-ctl .i { width: 16px; height: 16px; }

.nr-spot { display: flex; flex-direction: column; padding: 18px; border-radius: 24px; background: var(--wash); }
.nr-spot .ph { display: flex; align-items: baseline; justify-content: space-between; padding: 2px 6px 12px; }
.nr-spot .ph h2 { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.nr-spot .hint { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
.nr-spot ol { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.nr-spot li { flex: 1; display: flex; }
.nr-spot .it { position: relative; flex: 1; display: grid; grid-template-columns: 22px minmax(0, 1fr) 72px; gap: 12px; align-items: center; width: 100%; padding: 10px 12px; border: 1px solid transparent; border-radius: 16px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; overflow: hidden; transition: background .2s, box-shadow .2s; }
.nr-spot .it:hover { background: color-mix(in srgb, var(--bg) 70%, transparent); }
.nr-spot .it.on { background: var(--bg); box-shadow: var(--shadow-sm); }
.nr-spot .n { font-size: 12px; font-weight: 700; color: var(--mute); font-variant-numeric: tabular-nums; }
.nr-spot .it.on .n { color: var(--c); }
.nr-spot .tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nr-spot .k { font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--c); }
.nr-spot .t { font-weight: 600; font-size: 13px; line-height: 1.32; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nr-spot .it.on .t { font-weight: 700; }
.nr-spot .ago { font-size: 11.5px; color: var(--mute); }
.nr-spot .th { aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; display: grid; place-items: center; color: var(--c); background: color-mix(in srgb, var(--c) 14%, var(--bg)); }
.nr-spot .th img { width: 100%; height: 100%; object-fit: cover; }
.nr-spot .th .i { width: 44%; height: 44%; stroke-width: 1.2; }
.nr-spot .bar { position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px; background: var(--c); transform: scaleX(0); transform-origin: left; }
.nr-spot .it.done .bar { transform: scaleX(1); opacity: .25; }
.nr-spot .it.on .bar { animation: nrfill var(--dur, 6500ms) linear forwards; }
[data-hero].paused .nr-spot .it.on .bar { animation-play-state: paused; }
[data-hero].static .nr-spot .it.on .bar { animation: none; transform: scaleX(1); }
@keyframes nrfill { to { transform: scaleX(1); } }

/* ── Market movers ───────────────────────────────────────────────────────── */
.nr-movers .ph .all { font-size: 12px; font-weight: 700; color: var(--brand); }
.nr-movers h3 { margin: 10px 0 2px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nr-movers h3.up { color: var(--up); } .nr-movers h3.down { color: var(--down); }
.nr-movers li a { display: grid; grid-template-columns: minmax(0, 1fr) auto 64px; gap: 10px; align-items: center; padding: 9px 0; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.nr-movers .n { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nr-movers .p { color: var(--ink-2); }
.nr-movers .c { justify-self: end; padding: 2px 8px; border-radius: 6px; font-weight: 700; font-size: 12.5px; }
.nr-movers .c.up { color: var(--up); background: color-mix(in srgb, var(--up) 12%, transparent); }
.nr-movers .c.down { color: var(--down); background: color-mix(in srgb, var(--down) 12%, transparent); }
.nr-movers li a:hover .n { color: var(--brand); }
.nr-wire { background: var(--wash); }
.nr-wire li:first-child time { color: var(--up); }
.nr-wire li:first-child::before { background: var(--c); }

@media (max-width: 1100px) {
  .nr-hero { grid-template-columns: minmax(0, 1fr); }
  .nr-slides { min-height: 460px; }
  .nr-spot ol { flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 10px; }
  .nr-spot ol::-webkit-scrollbar { display: none; }
  .nr-spot li { flex: 0 0 min(300px, 78%); scroll-snap-align: start; }
  .nr-spot .it { grid-template-columns: minmax(0, 1fr) 72px; background: var(--bg); }
  .nr-spot .n { display: none; }
  .nr-spot .t { -webkit-line-clamp: 2; }
}
@media (max-width: 700px) {
  .nr-slides { min-height: 430px; border-radius: 18px; }
  .nr-slide .in { padding-bottom: 66px; gap: 10px; }
  .nr-slide p { display: none; }
  .nr-slide h2 { font-size: 23px; }
  .nr-ctl .cnt { display: none; }
  .nr-spot { padding: 14px; border-radius: 18px; }
}

/* ── Refinements: layout c, softer surfaces, 2026 details ────────────────── */
.nr-head { background: color-mix(in srgb, var(--bg) 88%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); }
.nr-img { border-radius: 14px; }
.nr-item.is-card .nr-img img, .nr-item.is-row .nr-img img, .nr-item.is-lead .nr-img img { transition: transform .5s; }
.nr-item.is-card:hover .nr-img img, .nr-item.is-row:hover .nr-img img, .nr-item.is-lead:hover .nr-img img { transform: scale(1.04); }
.nr-item .nr-ttl a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .25s; }
.nr-item:hover .nr-ttl a { background-size: 100% 1.5px; }
.nr-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 0; }
.nr-meta > * + *::before { content: '·'; margin: 0 7px; color: var(--line-2); }
.nr-meta .nr-new + time::before { content: none; }
.nr-feed .nr-item.is-row { border-bottom-color: var(--hair); }
.nr-cards.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nr-mod.c { display: grid; gap: 26px; }
.nr-mod.c .wide .nr-tile { height: 340px; }
.nr-mod.c .wide .nr-tile .t { font-size: clamp(22px, 2.6vw, 32px); max-width: 28ch; }
.nr-mod.c .wide .nr-tile .in { padding: clamp(18px, 2.6vw, 30px); }
.nr-mod.c .nr-item.is-card .nr-ttl { font-size: 16px; }

@media (max-width: 1100px) {
  .nr-cards.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nr-sec { padding-block: 22px 0; }
  .nr-label { margin-bottom: 14px; }
  .nr-label h2 { font-size: 19px; }
  .nr-label h2::before { height: 18px; }

  /* Don't miss: big tile, then a swipeable row of tiles */
  .nr-bento, .nr-bento.n1, .nr-bento.n2, .nr-bento.n3 { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .nr-bento::-webkit-scrollbar { display: none; }
  .nr-bento .nr-tile { flex: 0 0 72%; height: 250px; scroll-snap-align: start; }
  .nr-bento .nr-tile.big { flex-basis: 86%; height: 300px; }
  .nr-tile .t, .nr-bento .nr-tile .t { font-size: 16px; line-height: 1.27; }
  .nr-bento .nr-tile.big .t { font-size: 21px; }

  /* Category cards: compact rows instead of full-width pictures */
  .nr-modcard .nr-item.is-card { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 14px; align-items: start; }
  .nr-modcard .nr-item.is-card .nr-img { aspect-ratio: 4 / 3; }
  .nr-modcard .nr-item.is-card .nr-ttl { font-size: 16px; }
  .nr-modcard .nr-cards, .nr-modcard .nr-cards.three, .nr-modcard .nr-cards.four { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .nr-mod.c .wide .nr-tile { height: 280px; }
  .nr-mod.a { gap: 22px; }
  .nr-item.is-lead .nr-ttl { font-size: 22px; }
  .nr-heads { padding: 14px 16px; }

  /* The wire: first five only */
  .nr-wire li:nth-child(n+6) { display: none; }
  .nr-wire ol::before { left: 40px; }
  .nr-wire li { grid-template-columns: 34px minmax(0, 1fr); gap: 16px; }
  .nr-wire li::before { left: 35px; }
  .nr-panel { padding: 18px; border-radius: 18px; }

  .nr-news .card { padding: 26px 20px; }
  .nr-news .frm { padding: 6px; border-radius: 22px; gap: 6px; }
  .nr-news .frm input[type='email'] { flex-basis: 100%; height: 46px; padding: 0 14px; }
  .nr-news .frm .btn { height: 46px; border-radius: 16px; }
  .nr-news h2 { font-size: 28px; }
}
@media (max-width: 380px) {
  .nr-slide h2 { font-size: 22px; }
  .mk-card .px { font-size: 18px; }
  .mk-card .top small { display: none; }
}
.nr-tile::after { background: linear-gradient(180deg, rgba(0,0,0,.3) 0, rgba(0,0,0,0) 28%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.9) 100%); }
.nr-tile .t { text-shadow: 0 1px 8px rgba(0,0,0,.45); }
@media (min-width: 701px) and (max-width: 1100px) {
  .nr-bento, .nr-bento.n1, .nr-bento.n2, .nr-bento.n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 200px; }
  .nr-tile.big, .nr-bento .nr-tile.big { grid-column: span 2; grid-row: span 2; }
  .nr-tile .t { font-size: 17px; }
}

/* ═══ Design pass: type scale, fixed-size boxes, clamped titles, darker text gradients ═══ */
:root { --r-card: 14px; --r-panel: 20px; --r-mod: 28px; }
.nr-clamp, .nr-ttl, .nr-slide h2, .nr-tile .t, .nr-spot .t, .nr-wire li a, .nr-rank a, .nr-heads a, .vc .t, .mk-card .top b {
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; hyphens: auto;
}
.nr-slide h2 { -webkit-line-clamp: 3; font-size: clamp(22px, 1.2vw + 16px, 34px); line-height: 1.16; max-width: 26ch; }
.nr-tile .t { -webkit-line-clamp: 3; }
.nr-tile.big .t { -webkit-line-clamp: 4; }
.nr-item.is-lead .nr-ttl { -webkit-line-clamp: 4; font-size: clamp(21px, .8vw + 17px, 28px); line-height: 1.2; }
.nr-item.is-card .nr-ttl { -webkit-line-clamp: 3; font-size: 17px; line-height: 1.3; }
.nr-item.is-row .nr-ttl { -webkit-line-clamp: 3; font-size: 19px; line-height: 1.28; }
.nr-item.is-rowl .nr-ttl, .nr-item.is-text .nr-ttl { -webkit-line-clamp: 3; font-size: 15px; line-height: 1.34; }
.nr-item .nr-dek { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 15px; line-height: 1.5; }
.nr-spot .t { -webkit-line-clamp: 2; }
.nr-wire li a { -webkit-line-clamp: 3; font-size: 14px; }
.nr-rank a { -webkit-line-clamp: 3; }
.nr-heads a { -webkit-line-clamp: 2; }
.vc .t { -webkit-line-clamp: 3; }
.mk-card .top b { -webkit-line-clamp: 1; display: block; white-space: nowrap; text-overflow: ellipsis; }
.nr-item.is-card { height: 100%; }
.nr-cards { align-items: stretch; }

/* Same black linear gradient on every card that carries text */
.nr-slide::after { background: linear-gradient(180deg, rgba(0,0,0,.32) 0%, rgba(0,0,0,0) 24%, rgba(0,0,0,.55) 46%, rgba(0,0,0,.9) 74%, rgba(0,0,0,.96) 100%); }
.nr-tile::after { background: linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,0) 26%, rgba(0,0,0,.5) 48%, rgba(0,0,0,.88) 76%, rgba(0,0,0,.95) 100%); }
.vc::after { background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,.55) 48%, rgba(0,0,0,.92) 100%); }
.nr-slide h2, .nr-slide p, .nr-slide .m, .nr-tile .t, .nr-tile .m, .vc .t { text-shadow: 0 1px 10px rgba(0,0,0,.5); }
.nr-slides { min-height: clamp(440px, 41vw, 560px); }
.nr-tile .in { padding: 14px 16px 16px; }

/* Market band: white cards on a soft band */
.nr-mkt { margin-top: 26px; padding-block: 28px 22px; background: var(--wash); }
.nr-mkt .tabs { background: color-mix(in srgb, var(--ink) 6%, transparent); }
.nr-mkt .tabs button.on { background: var(--bg); }
.mk-card { border-color: transparent; box-shadow: var(--shadow-sm); }

@media (max-width: 1100px) {
  .nr-slides { min-height: clamp(420px, 56vw, 520px); }
}
@media (max-width: 700px) {
  .nr-slides { min-height: 440px; }
  .nr-slide h2 { font-size: 22px; line-height: 1.2; }
  .nr-slide .in { padding: 18px 18px 64px; }
  .nr-tile .t, .nr-bento .nr-tile .t { font-size: 15.5px; -webkit-line-clamp: 4; }
  .nr-bento .nr-tile.big .t { font-size: 19px; }
  .nr-item.is-lead .nr-ttl { font-size: 21px; }
  .nr-item.is-row .nr-ttl { font-size: 17px; }
  .nr-mkt { padding-block: 22px 16px; }
}
.nr-slide h2 { font-size: clamp(22px, 1vw + 17px, 31px); }
.nr-wire li a { -webkit-line-clamp: 2; }
.nr-wire li { padding: 10px 0; }
.nr-side .nr-box { padding: 22px; border: 1px solid var(--hair); border-radius: var(--r-panel); margin-bottom: 0; background: var(--bg); }
.nr-side .nr-box .nr-label { margin-bottom: 10px; }
.nr-side .nr-box .nr-label h2 { font-size: 17px; }
.nr-side .nr-box .nr-label h2::before { height: 16px; width: 4px; }
.nr-side .nr-rank li { padding-block: 11px; }
.nr-side .nr-rank a { font-size: 14px; }
@media (max-width: 700px) { .nr-side .nr-box { padding: 18px; border-radius: 18px; } }

/* ── Inner pages: listing, videos ────────────────────────────────────────── */
.vc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 18px; margin-bottom: 8px; }
.vc-grid .vc { flex: none; }
.vc .d { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.75); }
@media (min-width: 701px) and (max-width: 1100px) {
  .nr-listing .nr-cards.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .vc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .vc-grid .vc .in { padding: 12px; gap: 9px; }
  .vc-grid .vc .pl { width: 36px; height: 36px; font-size: 13px; }
  .vc-grid .vc .t { font-size: 14px; -webkit-line-clamp: 4; }
  .vc-grid .vc .d { display: none; }
  .nr-listing .nr-cards.three, .nr-listing .nr-cards { gap: 16px; }
  .nr-listing .nr-item.is-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: start; height: auto; }
  .nr-listing .nr-item.is-card .nr-img { aspect-ratio: 4 / 3; }
  .nr-listing .nr-item.is-card .nr-dek { display: none; }
  .nr-listing .nr-item.is-card .nr-ttl { font-size: 16px; }
  .nr-listing .nr-chip { top: 6px; left: 6px; padding: 2px 6px; font-size: 9.5px; max-width: calc(100% - 12px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nr-pagehead h1 { font-size: 28px; }
}

/* ── Article page ────────────────────────────────────────────────────────── */
.nr-arthead h1 { font-size: clamp(24px, 1.6vw + 18px, 38px); line-height: 1.16; letter-spacing: -.022em; overflow-wrap: anywhere; }
.nr-arthead .dek { font-size: 17px; }
.prose table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prose img, .prose iframe, .prose video { max-width: 100%; height: auto; }
.prose pre { overflow-x: auto; }
.prose { overflow-wrap: break-word; }
@media (max-width: 700px) {
  .nr-label { flex-wrap: wrap; row-gap: 6px; }
  .nr-label h2 { white-space: nowrap; }
  .nr-art .nr-cards.three { grid-template-columns: minmax(0, 1fr); }
  .nr-art .nr-item.is-card, .nr-related .nr-item.is-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: start; height: auto; }
  .nr-art .nr-item.is-card .nr-img, .nr-related .nr-item.is-card .nr-img { aspect-ratio: 4 / 3; }
  .nr-art .nr-chip { top: 6px; left: 6px; padding: 2px 6px; font-size: 9.5px; max-width: calc(100% - 12px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* ── Cards instead of grey boxes; Most read in the Latest style; mobile fixes ─ */
.nr-panel, .nr-spot, .nr-wire { background: var(--bg); border: 1px solid var(--hair); box-shadow: var(--shadow-sm); }
.nr-spot { padding: 20px; }
.nr-spot .it { border: 1px solid transparent; }
.nr-spot .it:hover { background: var(--wash); }
.nr-spot .it.on { background: color-mix(in srgb, var(--c) 7%, var(--bg)); border-color: color-mix(in srgb, var(--c) 22%, var(--bg)); box-shadow: none; }
.nr-spot .th { width: 72px; border-radius: 12px; }
.nr-spot .t { font-weight: 700; }
.nr-wire ol::before { background: var(--hair); }
.nr-wire li::before { background: var(--bg); }
.nr-wire li:first-child::before { background: var(--c); }
.nr-movers .c.up, .nr-movers .c.down { border-radius: 8px; }
.nr-side .nr-box { box-shadow: var(--shadow-sm); }
.nr-side .nr-box .nr-item.is-rowl { grid-template-columns: 92px minmax(0, 1fr); padding-block: 12px; border-bottom: 1px solid var(--hair); }
.nr-side .nr-box .nr-item.is-rowl:last-child { border-bottom: 0; padding-bottom: 0; }
.nr-side .nr-box .nr-item.is-rowl:first-child { padding-top: 0; }
.nr-side .nr-box .nr-item.is-rowl .nr-ttl { font-size: 14.5px; }
.nr-rk { position: absolute; left: 6px; top: 6px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #0b1220; font-size: 12px; font-weight: 700; box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.nr-item.is-rowl .nr-img { position: relative; }
.nr-clamp, .nr-ttl, .nr-slide h2, .nr-tile .t, .nr-spot .t, .nr-wire li a, .nr-rank a, .nr-heads a, .vc .t { hyphens: none; overflow-wrap: break-word; word-break: normal; }
.nr-modcard .pill .lg { display: inline; }
.nr-modcard .mh { min-width: 0; }
.nr-modcard .mh h2 { min-width: 0; }
.nr-modcard .mh h2 a { overflow-wrap: break-word; }
.nr-modcard .pill { flex: none; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 6px; }
.nr-progress { position: fixed; z-index: 120; left: 0; top: 0; height: 3px; width: 0; background: var(--brand); transition: width .1s linear; }

@media (max-width: 700px) {
  .nr-modcard .pill .lg { display: none; }
  .nr-modcard .mh h2 { font-size: 18px; gap: 10px; }
  .nr-modcard .ic { width: 34px; height: 34px; border-radius: 10px; flex: none; }

  /* Don't miss: big tile + tidy 2-column grid */
  .nr-bento, .nr-bento.n1, .nr-bento.n2, .nr-bento.n3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 10px; overflow: visible; margin-inline: 0; padding-inline: 0; scroll-snap-type: none; }
  .nr-bento .nr-tile { flex: none; height: 214px; }
  .nr-bento .nr-tile.big { grid-column: 1 / -1; grid-row: auto; height: 280px; }
  .nr-bento .nr-tile .chip { top: 8px; left: 8px; padding: 3px 7px; font-size: 9.5px; max-width: calc(100% - 16px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nr-bento .nr-tile .in { padding: 10px 12px 12px; gap: 5px; }
  .nr-bento .nr-tile .t { font-size: 13.5px; line-height: 1.28; -webkit-line-clamp: 4; }
  .nr-bento .nr-tile .m { font-size: 11px; }
  .nr-bento .nr-tile.big .t { font-size: 19px; -webkit-line-clamp: 4; }
  .nr-bento .nr-tile.big .in { padding: 14px 16px 16px; }
  .nr-spot { padding: 14px; }
  .nr-spot li { flex-basis: min(290px, 82%); }
}
@media (max-width: 360px) {
  .nr-bento .nr-tile { height: 200px; }
  .nr-bento .nr-tile .t { font-size: 13px; }
}

.nr-spot .it { text-decoration: none; }
.nr-spot .it .t { color: var(--ink); }
.nr-spot .it:hover .t { color: var(--brand); }
.nr-spot .it .ago { font-size: 11.5px; color: var(--mute); }
.nr-slide .kp { position: absolute; z-index: 2; top: 20px; right: 20px; width: min(290px, 34%); padding: 14px 16px; border-radius: 16px; background: rgba(10,14,26,.5); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; }
.nr-slide .kp b { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.nr-slide .kp li { position: relative; padding-left: 14px; font-size: 13px; line-height: 1.4; margin-bottom: 7px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.nr-slide .kp li::before { content: ''; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
.nr-slide .kp li:last-child { margin-bottom: 0; }
@media (max-width: 1280px) { .nr-slide .kp { display: none; } }
.nr-mod.b { grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr); }
.nr-mod.b > .nr-stack { padding-left: 4px; }
.nr-mod.b > .nr-stack .nr-item.is-rowl { border-bottom: 1px solid var(--hair); }
.nr-mod.b > .nr-stack .nr-item.is-rowl:last-child { border-bottom: 0; }
@media (max-width: 1100px) { .nr-mod.b { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1101px) { .nr-mod.b .nr-cards.three { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); } .nr-mod.b.solo .nr-cards.three[style*='--n: 2'] .nr-item .nr-ttl { font-size: 19px; } }

/* ── Market strip: links + marquee ───────────────────────────────────────── */
.nr-strip li { padding: 0; margin: 0; border-right: 0; }
.nr-strip li a { display: flex; align-items: baseline; gap: 8px; padding: 10px 18px; border-right: 1px solid var(--line-2); white-space: nowrap; }
.nr-strip li:first-child a { padding-left: 0; }
.nr-strip li a:hover b { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.nr-strip ul { -webkit-overflow-scrolling: touch; }

/* ── Market cards on small screens: chart goes under the numbers ─────────── */
@media (max-width: 700px) {
  .mk-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'top' 'px' 'ch' 'sp'; gap: 3px; padding: 14px; align-items: start; }
  .mk-card .sp { height: 30px; width: 100%; margin-top: 6px; }
  .mk-card .px { font-size: 21px; }
  .mk-card .top small { display: inline-block; }
}
@media (max-width: 380px) { .mk-card .top small { display: none; } }

/* Wire: room between the time, the dot and the text (all widths) */
.nr-wire li, .nr-wire li:first-child { grid-template-columns: 48px minmax(0, 1fr); gap: 22px; }
.nr-wire ol::before { left: 59px; }
.nr-wire li::before { left: 53px; }
.nr-wire time { white-space: nowrap; text-align: left; }
.nr-wire li > div { padding-left: 4px; }
@media (max-width: 700px) {
  .nr-wire li { grid-template-columns: 48px minmax(0, 1fr); gap: 22px; }
  .nr-wire ol::before { left: 59px; }
  .nr-wire li::before { left: 53px; }
}
@media (min-width: 701px) and (max-width: 1100px) { .nr-foot .cols { grid-template-columns: 1fr 1fr 1fr; } .nr-foot .about { grid-column: 1 / -1; } }
