:root {
  color-scheme: light;
  --bn-ink: #111111;
  --bn-muted: #59616a;
  --bn-line: #d8dde3;
  --bn-paper: #f5f6f8;
  --bn-panel: #ffffff;
  --bn-red: #cc0000;
  --bn-red-dark: #9f0000;
  --bn-teal: #0b746d;
  --bn-hover: #b00000;
  --bn-gold: #d5a02c;
  --bn-left: #2563eb;
  --bn-center: #7c3aed;
  --bn-right: #e11d48;
  --bn-alert: #e11d48;
  --bn-watchlist: #7c3aed;
  --bn-success: #16a34a;
  --bn-gutter: 7px;
}

* {
  box-sizing: border-box;
}

body {
  background: var(--bn-paper);
  color: var(--bn-ink);
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  line-height: 1.5;
  margin: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body.search-panel-open::before {
  background: rgba(0, 0, 0, 0.46);
  content: "";
  inset: 0;
  pointer-events: auto;
  position: fixed;
  z-index: 80;
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.bn-card-action-dock {
  --bn-action-trigger-size: 2.25rem;
  align-items: center;
  border-top: 1px solid rgba(216, 221, 227, 0.78);
  display: inline-flex;
  gap: 0;
  justify-content: flex-end;
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  position: relative;
  width: 100%;
  z-index: 20;
}

.bn-card-action-dock.is-compact {
  border-top-color: rgba(255, 255, 255, 0.24);
  margin-top: 0.55rem;
  padding-top: 0.5rem;
}

.bn-card-action-dock.is-open {
  z-index: 80;
}

.bn-action-trigger {
  align-items: center;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.25rem;
  justify-content: center;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
  width: 2.25rem;
}

.overlay-story .bn-action-trigger,
.bn-card-action-dock.is-compact .bn-action-trigger {
  background: rgba(255, 255, 255, 0.92);
  color: #111;
}

.bn-action-trigger:hover,
.bn-action-trigger:focus-visible,
.bn-action-trigger[aria-expanded="true"],
.bn-action-trigger.is-active {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: var(--bn-left);
  outline: 0;
}

.bn-action-trigger.is-alert {
  background: #fff1f2;
  border-color: #fda4af;
  color: var(--bn-alert);
}

.bn-action-trigger[aria-expanded="true"] {
  transform: translateY(-1px);
}

.bn-action-menu {
  align-items: center;
  animation: bnActionMenuSlideLeft 0.16s ease-out;
  backdrop-filter: blur(10px);
  background: rgba(10, 12, 16, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  justify-content: flex-end;
  max-width: min(22rem, calc(100vw - 2rem));
  min-width: 0;
  padding: 0.38rem;
  position: absolute;
  right: 3rem;
  bottom: 0;
  transform-origin: right center;
  z-index: 320;
}

.bn-action-menu[hidden] {
  display: none;
}

@keyframes bnActionMenuSlideLeft {
  from {
    opacity: 0;
    transform: translateX(0.55rem) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.bn-action-button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 900;
  gap: 0.3rem;
  line-height: 1;
  min-height: 2rem;
  padding: 0.35rem 0.58rem;
  text-decoration: none;
}

.bn-action-menu .bn-action-button {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  justify-content: flex-start;
  min-height: 2rem;
  white-space: nowrap;
  width: auto;
}

.overlay-story .bn-action-button,
.bn-card-action-dock.is-compact .bn-action-button {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.bn-action-menu .bn-action-button:hover,
.bn-action-menu .bn-action-button:focus,
.bn-action-menu .bn-action-button.is-active {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.28);
  color: #ffffff;
  outline: 0;
}

.bn-action-menu .bn-action-button.is-active i {
  color: #bfdbfe;
}

.bn-action-button:hover,
.bn-action-button:focus,
.bn-action-button.is-active {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: var(--bn-left);
}

.bn-action-button.is-alert {
  background: #fff1f2;
  border-color: #fda4af;
  color: var(--bn-alert);
}

.followable-tag {
  align-items: center;
  display: inline-flex;
  gap: 0.24rem;
}

.followable-tag-actions {
  align-items: center;
  display: inline-flex;
  gap: 0.12rem;
}

.followable-tag-actions button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.68rem;
  height: 1.42rem;
  justify-content: center;
  padding: 0;
  width: 1.42rem;
}

.followable-tag-actions button:hover,
.followable-tag-actions button.is-active {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: var(--bn-left);
}

.followable-tag-actions button.is-alert {
  background: #fff1f2;
  border-color: #fda4af;
  color: var(--bn-alert);
}

.bn-toast-stack {
  bottom: 1.25rem;
  display: grid;
  gap: 0.65rem;
  position: fixed;
  right: 1.25rem;
  width: min(360px, calc(100vw - 2rem));
  z-index: 1200;
}

.bn-toast {
  align-items: start;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-radius: 8px;
  box-shadow: 0 14px 42px rgba(15, 23, 42, 0.16);
  display: grid;
  gap: 0.15rem 0.65rem;
  grid-template-columns: auto 1fr auto;
  padding: 0.75rem 0.85rem;
}

.bn-toast i {
  color: var(--bn-left);
  margin-top: 0.18rem;
}

.bn-toast.is-alert {
  background: #fff1f2;
  border-color: #fda4af;
}

.bn-toast.is-alert i {
  color: var(--bn-alert);
}

.bn-toast strong,
.bn-toast span {
  display: block;
}

.bn-toast span {
  color: var(--bn-muted);
  font-size: 0.82rem;
}

.bn-toast button {
  background: transparent;
  border: 0;
  color: var(--bn-muted);
}

.bn-alert-modal[hidden] {
  display: none;
}

.bn-alert-modal {
  align-items: center;
  background: rgba(15, 23, 42, 0.42);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  z-index: 1190;
}

.bn-alert-builder {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  width: min(760px, 100%);
}

.bn-alert-builder header,
.bn-alert-builder footer {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem;
}

.bn-alert-builder header {
  border-bottom: 1px solid var(--bn-line);
}

.bn-alert-builder footer {
  border-top: 1px solid var(--bn-line);
}

.bn-alert-builder h2,
.bn-alert-builder h3,
.bn-alert-builder p {
  margin: 0;
}

.bn-alert-builder-body {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.bn-alert-context,
.bn-alert-preview {
  border: 1px solid var(--bn-line);
  border-radius: 8px;
  padding: 0.85rem;
}

.bn-alert-context {
  align-items: center;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto 1fr;
}

.bn-alert-context-icon {
  align-items: center;
  background: #fff1f2;
  border-radius: 999px;
  color: var(--bn-alert);
  display: inline-flex;
  height: 2.6rem;
  justify-content: center;
  width: 2.6rem;
}

.bn-alert-type-grid,
.bn-alert-delivery-grid,
.bn-alert-feedback-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.bn-alert-type-grid button,
.bn-alert-delivery-grid label,
.bn-alert-feedback-row button,
.bn-alert-builder footer button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  color: var(--bn-ink);
  display: inline-flex;
  font-weight: 900;
  gap: 0.38rem;
  min-height: 2.35rem;
  padding: 0.45rem 0.7rem;
}

.bn-alert-type-grid button.is-selected,
.bn-alert-builder footer button[data-alert-submit] {
  background: var(--bn-center);
  border-color: var(--bn-center);
  color: #fff;
}

.bn-alert-preview {
  background: linear-gradient(90deg, #f5f3ff, #fff);
  border-color: #ddd6fe;
}

@media (max-width: 720px) {
  .bn-card-action-dock {
    gap: 0.28rem;
  }

  .bn-action-button span {
    font-size: 0.68rem;
  }

  .bn-alert-modal {
    align-items: end;
    padding: 0;
  }

  .bn-alert-builder {
    border-radius: 16px 16px 0 0;
    max-height: 92vh;
    width: 100%;
  }

  .bn-toast-stack {
    bottom: 0.75rem;
    left: 0.75rem;
    right: 0.75rem;
    width: auto;
  }
}

.container-xxl {
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
  padding-left: var(--bn-gutter);
  padding-right: var(--bn-gutter);
  width: 100%;
}

.row {
  --bn-gutter-x: 1.5rem;
  --bn-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--bn-gutter-x) * -0.5);
  margin-right: calc(var(--bn-gutter-x) * -0.5);
  margin-top: calc(var(--bn-gutter-y) * -1);
}

.row > * {
  flex-shrink: 0;
  margin-top: var(--bn-gutter-y);
  max-width: 100%;
  padding-left: calc(var(--bn-gutter-x) * 0.5);
  padding-right: calc(var(--bn-gutter-x) * 0.5);
  width: 100%;
}

.g-3 {
  --bn-gutter-x: var(--bn-gutter);
  --bn-gutter-y: var(--bn-gutter);
}

.navbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  position: relative;
}

.navbar > .container-xxl {
  align-items: center;
  display: flex;
  flex-wrap: inherit;
  justify-content: space-between;
}

.navbar-brand {
  margin-right: 1rem;
  text-decoration: none;
  white-space: nowrap;
}

.navbar-nav {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.navbar-collapse {
  align-items: center;
  flex-basis: 100%;
  flex-grow: 1;
}

.collapse:not(.show) {
  display: none;
}

.navbar-toggler {
  align-items: center;
  background: #f4f6f8;
  border: 1px solid #cfd5dc;
  border-radius: 4px;
  color: var(--bn-ink);
  display: inline-flex;
  height: 2.3rem;
  justify-content: center;
  margin-left: auto;
  padding: 0;
  position: relative;
  width: 2.3rem;
  z-index: 2;
}

.navbar-toggler-icon {
  background:
    linear-gradient(currentColor, currentColor) 50% 28% / 1.35rem 0.12rem no-repeat,
    linear-gradient(currentColor, currentColor) 50% 50% / 1.35rem 0.12rem no-repeat,
    linear-gradient(currentColor, currentColor) 50% 72% / 1.35rem 0.12rem no-repeat;
  color: currentColor;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
}

.mobile-search-toggle {
  align-items: center;
  background: #f4f6f8;
  border: 1px solid #cfd5dc;
  border-radius: 4px;
  color: var(--bn-ink);
  display: none;
  height: 2.3rem;
  justify-content: center;
  margin-left: auto;
  padding: 0;
  position: relative;
  width: 2.3rem;
  z-index: 2;
}

.mobile-search-toggle:hover,
.mobile-search-toggle:focus {
  border-color: var(--bn-red);
  color: var(--bn-hover);
}

.nav-link {
  display: block;
  text-decoration: none;
}

.ms-auto {
  margin-left: auto;
}

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.btn {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 4px;
  display: inline-flex;
  font-weight: 900;
  gap: 0.45rem;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.55rem 0.85rem;
  text-decoration: none;
}

.btn-danger {
  background: var(--bn-red);
  border-color: var(--bn-red);
  color: #ffffff;
}

@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
}

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }

  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-lg .navbar-toggler {
    display: none;
  }

  .align-items-lg-center {
    align-items: center !important;
  }
}

@media (min-width: 1200px) {
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.333333%;
  }

  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.666667%;
  }
}

.site-header {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--bn-line);
  border-top: 4px solid var(--bn-red);
  top: 0;
  z-index: 10;
}

.brand {
  color: var(--bn-red);
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.navbar .nav-link {
  color: var(--bn-ink);
  font-size: 0.88rem;
  font-weight: 800;
  text-transform: uppercase;
}

.mega-search-panel[hidden] {
  display: none !important;
}

.mega-search-panel {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 8px;
  border-top: 4px solid var(--bn-red);
  box-shadow: 0 1rem 2.4rem rgba(17, 24, 32, 0.18);
  color: var(--bn-ink);
  padding: 1rem;
  position: absolute;
  right: 0.75rem;
  top: calc(100% - 0.3rem);
  width: min(920px, calc(100% - 1.5rem));
  z-index: 40;
}

.mega-search-form {
  display: grid;
  gap: 0.8rem;
}

.mega-search-input-row {
  align-items: center;
  background: #f4f6f8;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.45rem;
}

.mega-search-input-row i {
  color: var(--bn-red);
  padding-left: 0.45rem;
}

.mega-search-input-row input {
  background: transparent;
  border: 0;
  color: var(--bn-ink);
  font-size: 1.05rem;
  font-weight: 800;
  min-height: 2.5rem;
  min-width: 0;
  outline: 0;
}

.mega-search-input-row input::placeholder {
  color: #717b87;
  font-weight: 700;
}

.mega-search-input-row button {
  align-items: center;
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  display: inline-flex;
  gap: 0.4rem;
  font-weight: 900;
  min-height: 2.5rem;
  padding: 0.45rem 0.75rem;
  text-transform: uppercase;
}

.mega-search-filters {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mega-search-filters label {
  display: grid;
  gap: 0.25rem;
}

.mega-search-filters span {
  color: var(--bn-muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mega-search-filters select {
  appearance: none;
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  color: var(--bn-ink);
  font-weight: 800;
  min-height: 2.35rem;
  padding: 0.4rem 0.55rem;
  width: 100%;
}

.mega-search-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.85rem;
}

.mega-search-quick button {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-ink);
  font-size: 0.78rem;
  font-weight: 900;
  padding: 0.35rem 0.7rem;
  text-transform: uppercase;
}

.mega-search-quick button:hover,
.mega-search-quick button:focus {
  border-color: var(--bn-hover);
  color: var(--bn-hover);
}

.mega-search-status {
  color: var(--bn-muted);
  font-size: 0.84rem;
  font-weight: 800;
  margin-top: 0.85rem;
}

.mega-search-results {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.75rem;
  max-height: 24rem;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.mega-search-result {
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  display: grid;
  gap: 0.35rem;
  padding: 0.7rem;
  text-decoration: none;
}

.mega-search-result:hover,
.mega-search-result:focus {
  border-color: var(--bn-hover);
  color: var(--bn-ink);
}

.mega-search-result strong {
  display: block;
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1.05rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.mega-search-result span {
  color: var(--bn-muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.mega-search-result p {
  color: var(--bn-muted);
  display: -webkit-box;
  font-size: 0.86rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  overflow: hidden;
}

.news-home {
  padding-bottom: 4rem;
  padding-top: 1rem;
}

.lead-story,
.stack-story,
.story-card,
.article-weight-panel,
.source-record,
.empty-state {
  background: var(--bn-panel);
  border: 1px solid var(--bn-line);
  border-radius: 8px;
  overflow: hidden;
}

.lead-story {
  height: 100%;
}

.story-media {
  background:
    linear-gradient(135deg, rgba(17, 17, 17, 0.04), rgba(17, 17, 17, 0.18)),
    radial-gradient(circle at 22% 18%, rgba(204, 0, 0, 0.16), transparent 31%),
    #dfe4ea;
  display: block;
  overflow: hidden;
  position: relative;
}

.story-media::before,
.latest-thumb::before {
  background:
    linear-gradient(110deg, transparent 0 35%, rgba(255, 255, 255, 0.34) 45%, transparent 55% 100%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0 2px, transparent 2px 12px);
  content: "";
  inset: 0;
  opacity: 0.42;
  position: absolute;
}

.story-media img,
.article-image img {
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.story-media img {
  aspect-ratio: 16 / 10;
  position: relative;
  z-index: 1;
}

.lead-media img {
  aspect-ratio: 16 / 9;
}

.lead-story:has(.bn-card-action-dock),
.stack-story:has(.bn-card-action-dock),
.story-card:has(.bn-card-action-dock),
.latest-item:has(.bn-card-action-dock),
.overlay-story:has(.bn-card-action-dock) {
  overflow: visible;
}

.story-copy {
  padding: 1rem;
}

.kicker,
.source {
  color: var(--bn-red);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0 0 0.45rem;
  text-transform: uppercase;
}

.source-archive-link {
  color: inherit;
  text-decoration: none;
}

.source-archive-link:hover,
.source-archive-link:focus {
  color: var(--bn-hover);
  text-decoration: underline;
  text-decoration-thickness: 0.09em;
  text-underline-offset: 0.16em;
}

.original-source-link {
  color: var(--bn-muted);
  font-weight: 800;
}

h1,
h2,
h3 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.lead-story h1,
.article-header h1,
.empty-state h1 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-weight: 900;
}

.lead-story h1 {
  font-size: clamp(2rem, 4vw, 4rem);
  margin-bottom: 0.7rem;
}

.lead-story h1 a,
.stack-story h2 a,
.story-card h2 a,
.latest-item a {
  text-decoration: none;
}

.lead-story h1 a:hover,
.stack-story h2 a:hover,
.story-card h2 a:hover,
.latest-item a:hover {
  color: var(--bn-hover);
}

.lead-story p,
.story-card p,
.dek,
.empty-state p {
  color: var(--bn-muted);
}

.stack-story h2,
.story-card h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1.28rem;
  font-weight: 900;
  margin: 0;
}

.story-card h2 {
  font-size: 1.45rem;
  margin-bottom: 0.55rem;
}

.section-heading h2 {
  font-size: 0.9rem;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
}

.latest-item {
  border-top: 1px solid var(--bn-line);
  display: grid;
  gap: 0.28rem;
  padding: 0.8rem 0;
}

.latest-item:first-of-type {
  border-top: 0;
}

.latest-item a {
  font-weight: 900;
  line-height: 1.18;
}

.latest-item span,
.meta {
  color: var(--bn-muted);
  font-size: 0.82rem;
}

.meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.section-heading {
  align-items: center;
  border-bottom: 2px solid var(--bn-ink);
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
}

.section-heading a {
  color: var(--bn-red);
  font-size: 0.86rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.story-grid:empty::before {
  color: var(--bn-muted);
  content: "More stories will appear here as the feed publishes.";
}

.article-shell {
  padding-bottom: 5rem;
  padding-top: 1.25rem;
}

.back-link {
  color: var(--bn-muted);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 0.3rem;
  line-height: 1;
  margin-bottom: 0.55rem;
  text-decoration: none;
  text-transform: uppercase;
}

.article-header {
  border-bottom: 2px solid var(--bn-ink);
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
}

.article-header h1 {
  font-size: clamp(2.2rem, 5vw, 5rem);
  margin: 0 0 1rem;
  overflow-wrap: anywhere;
}

.article-image {
  margin: 0 0 2rem;
}

.article-image img {
  aspect-ratio: 16 / 10;
  border-radius: 8px;
}

.article-image figcaption {
  color: var(--bn-muted);
  font-size: 0.84rem;
  margin-top: 0.45rem;
}

.comment-honeypot,
.contact-honeypot {
  display: none !important;
  height: 0 !important;
  left: -10000px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  width: 0 !important;
}

.dek {
  font-size: 1.2rem;
  max-width: 760px;
  overflow-wrap: anywhere;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}

.tag {
  align-items: center;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  display: inline-flex;
  gap: 0.35rem;
  font-size: 0.78rem;
  line-height: 1.15;
  max-width: 100%;
  padding: 0.15rem 0.55rem;
  text-decoration: none;
}

.tag:hover,
.tag:focus {
  border-color: var(--bn-hover);
  color: var(--bn-hover);
}

.tag small {
  color: var(--bn-teal);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.dig-deeper-panel {
  align-items: start;
  background: #fff;
  border: 1px solid var(--bn-line);
  border-left: 4px solid var(--bn-red);
  border-radius: 0 8px 8px 0;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 0 1rem;
  max-width: 760px;
  padding: 0.9rem 1rem;
}

.dig-deeper-panel h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  margin: 0;
}

.dig-deeper-toggle {
  align-items: center;
  background: var(--bn-ink);
  border: 0;
  border-radius: 4px;
  color: #fff;
  display: inline-flex;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 0.45rem;
  min-height: 2.45rem;
  padding: 0.55rem 0.75rem;
  text-transform: uppercase;
}

.dig-deeper-toggle:hover,
.dig-deeper-toggle:focus-visible,
.dig-deeper-panel.is-active .dig-deeper-toggle {
  background: var(--bn-red);
}

.dig-deeper-seeds {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  grid-column: 1 / -1;
}

.dig-deeper-seeds button {
  background: #f6f8fa;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 0.2rem 0.58rem;
}

.dig-deeper-seeds button:hover,
.dig-deeper-seeds button:focus-visible {
  border-color: var(--bn-red);
  color: var(--bn-red);
}

.dig-deeper-status {
  color: var(--bn-muted);
  font-size: 0.82rem;
  font-weight: 700;
  grid-column: 1 / -1;
  margin: 0;
}

body.dig-deeper-active .article-body [data-dig-deeper-term],
body.dig-deeper-active .article-header [data-dig-deeper-term] {
  background: #fff7cf;
  border-radius: 4px;
  box-shadow: inset 0 -0.18rem 0 rgba(204, 0, 0, 0.28);
  color: var(--bn-ink);
  cursor: help;
  padding: 0.02rem 0.12rem;
}

.dig-deeper-modal-open {
  overflow: hidden;
}

.dig-deeper-modal {
  inset: 0;
  position: fixed;
  z-index: 1085;
}

.dig-deeper-modal[hidden] {
  display: none;
}

.dig-deeper-modal-backdrop {
  background: rgba(15, 23, 42, 0.58);
  inset: 0;
  position: absolute;
}

.dig-deeper-dialog {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28);
  left: 50%;
  max-height: min(88vh, 720px);
  max-width: 640px;
  overflow-y: auto;
  padding: 1.25rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100vw - 2rem), 640px);
}

.dig-deeper-dialog-close {
  align-items: center;
  background: #f4f5f7;
  border: 1px solid var(--bn-line);
  border-radius: 50%;
  color: var(--bn-ink);
  display: inline-flex;
  height: 2.25rem;
  justify-content: center;
  position: absolute;
  right: 0.9rem;
  top: 0.9rem;
  width: 2.25rem;
}

.dig-deeper-dialog h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(1.7rem, 5vw, 2.35rem);
  font-weight: 900;
  margin: 0.2rem 2.6rem 0.7rem 0;
}

.dig-deeper-dialog p {
  color: var(--bn-muted);
}

.dig-deeper-context {
  background: #f8fafc;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  color: var(--bn-ink) !important;
  font-weight: 700;
  padding: 0.85rem;
}

.dig-deeper-form {
  display: grid;
  gap: 0.75rem;
}

.dig-deeper-form label {
  color: var(--bn-muted);
  display: grid;
  font-size: 0.76rem;
  font-weight: 900;
  gap: 0.35rem;
  text-transform: uppercase;
}

.dig-deeper-form textarea {
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  font: inherit;
  min-height: 6rem;
  padding: 0.75rem;
  resize: vertical;
  text-transform: none;
}

.dig-deeper-form button[type="submit"] {
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #fff;
  font: inherit;
  font-weight: 900;
  justify-self: start;
  min-height: 2.6rem;
  padding: 0.6rem 0.9rem;
  text-transform: uppercase;
}

.dig-deeper-form button[disabled] {
  cursor: wait;
  opacity: 0.7;
}

.dig-deeper-response {
  font-weight: 800;
  margin: 0;
}

.dig-deeper-response.success {
  color: #087b3a;
}

.dig-deeper-response.error {
  color: var(--bn-red);
}

.article-body {
  background: var(--bn-panel);
  border-left: 4px solid var(--bn-red);
  border-radius: 0 8px 8px 0;
  max-width: 760px;
  padding: clamp(1rem, 4vw, 2rem);
}

.article-body h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1.55rem;
  font-weight: 900;
  margin-top: 1.4rem;
}

.coverage-compare-panel {
  background: #fff;
  border: 1px solid var(--bn-line);
  border-radius: 8px;
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.coverage-compare-header {
  align-items: start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.coverage-compare-header h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
  margin: 0;
}

.coverage-compare-header > span {
  background: #f4f6f8;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  flex: 0 0 auto;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 0.18rem 0.55rem;
  text-transform: uppercase;
}

.coverage-compare-panel > p {
  color: var(--bn-muted);
  font-size: 0.86rem;
  margin: 0;
}

.coverage-source-list {
  display: grid;
  gap: 0.65rem;
}

.coverage-source-card {
  border: 1px solid #edf1f5;
  border-radius: 6px;
  display: grid;
  gap: 0.6rem;
  padding: 0.75rem;
}

.coverage-source-title {
  align-items: start;
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
}

.coverage-source-title h3 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 900;
  margin: 0;
}

.coverage-source-title a,
.coverage-source-link {
  color: var(--bn-ink);
  text-decoration: none;
}

.coverage-source-title a:hover,
.coverage-source-title a:focus,
.coverage-source-link:hover,
.coverage-source-link:focus {
  color: var(--bn-red);
}

.coverage-source-card p {
  color: var(--bn-muted);
  font-size: 0.84rem;
  line-height: 1.35;
  margin: 0;
}

.coverage-source-card dl {
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.coverage-source-card dt {
  color: var(--bn-muted);
  font-size: 0.64rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coverage-source-card dd {
  font-size: 0.78rem;
  font-weight: 900;
  margin: 0;
}

.coverage-source-link {
  color: var(--bn-red);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.source-record {
  color: var(--bn-ink);
}

.source-record-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.source-record-list li {
  border-top: 1px solid #edf1f5;
  display: grid;
  gap: 0.22rem;
  padding: 0.68rem 0;
}

.source-record-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.source-record-list a {
  font-weight: 900;
}

.source-record-list span {
  color: var(--bn-muted);
  display: block;
  font-size: 0.86rem;
  line-height: 1.35;
}

.source-signal {
  --signal-position: 50%;
  background: #f7f9fc;
  border: 0;
  border-radius: 6px;
  color: var(--bn-ink);
  margin-top: 0.75rem;
  padding: 0.85rem;
}

.source-signal-summary {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.source-signal-summary strong {
  display: block;
  font-size: 0.94rem;
  line-height: 1.2;
}

.source-signal-summary small {
  color: var(--bn-muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  margin-top: 0.16rem;
}

.source-signal-explain {
  color: var(--bn-muted);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0.55rem 0 0;
}

.source-signal-score {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dce3eb;
  border-radius: 4px;
  color: var(--bn-ink) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.92rem !important;
  font-weight: 900;
  justify-content: center;
  min-height: 2.05rem;
  min-width: 2.35rem;
  padding: 0.26rem 0.42rem;
}

.source-signal-score.tone-left {
  color: #1f68b3 !important;
}

.source-signal-score.tone-right {
  color: #c83131 !important;
}

.source-signal-score.tone-center {
  color: #6d28d9 !important;
}

.source-signal-score.tone-unrated {
  color: var(--bn-muted) !important;
}

.signal-track {
  background: linear-gradient(90deg, #286fb4 0%, #3d7fbd 30%, #7c3aed 50%, #c65f72 70%, #c93a35 100%);
  border-radius: 999px;
  display: block;
  height: 0.52rem;
  margin-top: 0.72rem;
  position: relative;
}

.signal-zone {
  display: none;
}

.signal-marker {
  align-items: center;
  background: #ffffff;
  border: 3px solid var(--bn-ink);
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(17, 24, 32, 0.18);
  color: var(--bn-ink);
  display: inline-flex;
  font-size: 0.66rem;
  font-weight: 900;
  height: 1rem;
  justify-content: center;
  left: var(--signal-position);
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
}

.signal-marker.is-unverified {
  border-color: #717b87;
  color: #717b87;
}

.source-signal-unrated .signal-track {
  background: linear-gradient(90deg, #adc7de 0%, #d3c6f5 50%, #ddb9ba 100%);
}

.signal-axis {
  display: flex;
  justify-content: space-between;
  letter-spacing: 0;
  margin-top: 0.34rem;
  gap: 0.35rem;
}

.signal-axis-button {
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: var(--bn-muted) !important;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.64rem !important;
  font-weight: 900;
  line-height: 1;
  padding: 0.24rem 0.26rem;
  text-transform: uppercase;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.signal-axis-button.axis-left {
  color: #286fb4 !important;
}

.signal-axis-button.axis-center {
  color: #6d28d9 !important;
}

.signal-axis-button.axis-right {
  color: #c83131 !important;
}

.signal-axis-button:hover,
.signal-axis-button:focus-visible {
  background: #ffffff;
  color: var(--bn-ink) !important;
  outline: 0;
}

.signal-axis-button.is-active {
  background: #ffffff;
  box-shadow: inset 0 -2px currentColor;
}

.signal-axis-button.axis-left:hover,
.signal-axis-button.axis-left:focus-visible,
.signal-axis-button.axis-left.is-active {
  color: #286fb4 !important;
}

.signal-axis-button.axis-center:hover,
.signal-axis-button.axis-center:focus-visible,
.signal-axis-button.axis-center.is-active {
  background: #f1eaff;
  color: #6d28d9 !important;
}

.signal-axis-button.axis-right:hover,
.signal-axis-button.axis-right:focus-visible,
.signal-axis-button.axis-right.is-active {
  color: #c83131 !important;
}

.source-signal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem 0.75rem;
  margin-top: 0.68rem;
}

.source-signal-meta span {
  align-items: baseline;
  color: var(--bn-muted);
  display: inline-flex;
  gap: 0.26rem;
}

.source-signal-meta strong,
.source-signal-meta small {
  display: inline;
}

.source-signal-meta strong {
  color: var(--bn-ink);
  font-size: 0.86rem;
  line-height: 1;
}

.source-signal-meta small {
  color: var(--bn-muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.source-signal-list {
  border-top: 1px solid #e4e9ef;
  list-style: none;
  margin: 0.75rem 0 0 !important;
  padding: 0 !important;
}

.source-signal-list li {
  align-items: center;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.65rem 0 0;
}

.source-signal-list strong {
  color: var(--bn-ink);
  display: block;
  font-size: 0.86rem;
  line-height: 1.2;
}

.source-signal-list .source-archive-link {
  color: var(--bn-ink);
}

.source-signal-list .source-archive-link:hover,
.source-signal-list .source-archive-link:focus {
  color: var(--bn-hover);
}

.source-signal-list small {
  color: var(--bn-muted);
  font-size: 0.74rem;
  line-height: 1.25;
}

.source-signal-value {
  border-radius: 4px;
  display: inline-flex !important;
  font-size: 0.72rem !important;
  font-weight: 900;
  line-height: 1.1;
  padding: 0.34rem 0.42rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.tone-left .source-signal-value {
  background: rgba(40, 111, 180, 0.12);
  color: #286fb4 !important;
}

.tone-center .source-signal-value,
.tone-mixed .source-signal-value {
  background: #f1eaff;
  color: #6d28d9 !important;
}

.tone-right .source-signal-value {
  background: rgba(201, 58, 53, 0.12);
  color: #c93a35 !important;
}

.tone-unrated .source-signal-value {
  background: #edf1f5;
  color: var(--bn-muted) !important;
}

.source-signal-empty {
  color: var(--bn-muted);
  font-size: 0.74rem;
  line-height: 1.3;
  margin: 0.8rem 0 0;
}

.source-signal-modal[hidden] {
  display: none;
}

.source-signal-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 1.25rem;
  position: fixed;
  z-index: 1100;
}

.source-signal-modal-backdrop {
  background: rgba(17, 24, 32, 0.48);
  inset: 0;
  position: fixed;
}

.source-signal-dialog {
  background: #ffffff;
  border: 1px solid #dce3eb;
  border-radius: 6px;
  box-shadow: 0 22px 70px rgba(17, 24, 32, 0.24);
  color: var(--bn-ink);
  max-width: 34rem;
  padding: 1.35rem;
  position: relative;
  width: min(100%, 34rem);
}

.source-signal-dialog-kicker {
  color: var(--bn-red);
  font-family: "Roboto", sans-serif;
  font-size: 0.72rem !important;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0 2.25rem 0.34rem 0 !important;
  text-transform: uppercase;
}

.source-signal-dialog h2 {
  color: var(--bn-ink);
  font-family: "Signika", sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.8rem) !important;
  font-weight: 800;
  line-height: 1.05;
  margin: 0 2.25rem 0.82rem 0 !important;
}

.source-signal-dialog-body {
  display: grid;
  gap: 0.72rem;
}

.source-signal-dialog-body p {
  color: var(--bn-body);
  font-size: 0.96rem !important;
  line-height: 1.45;
  margin: 0 !important;
}

.source-signal-dialog-close {
  align-items: center;
  background: #f4f7fa;
  border: 1px solid #dce3eb;
  border-radius: 4px;
  color: var(--bn-ink);
  cursor: pointer;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 2rem;
}

.source-signal-dialog-close:hover,
.source-signal-dialog-close:focus-visible {
  background: #111820;
  color: #ffffff;
  outline: 0;
}

body.source-signal-modal-open {
  overflow: hidden;
}

.bias-breakdown {
  border-top: 1px solid #edf1f5;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
}

.bias-breakdown-header {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.bias-breakdown-header span {
  color: var(--bn-ink) !important;
  display: block;
  font-size: 0.76rem !important;
  font-weight: 900;
  text-transform: uppercase;
}

.bias-breakdown-header strong {
  align-items: center;
  background: #edf1f5;
  border: 1px solid #dce3eb;
  border-radius: 4px;
  color: var(--bn-ink);
  display: inline-flex;
  font-size: 0.86rem;
  justify-content: center;
  min-width: 2.4rem;
  padding: 0.22rem 0.42rem;
}

.bias-breakdown p {
  color: var(--bn-muted);
  font-size: 0.84rem;
  line-height: 1.4;
  margin: 0.55rem 0 0;
}

.bias-signal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  margin-top: 0.65rem;
}

.bias-signal-tags .bias-signal-tag {
  appearance: none;
  background: #edf1f5;
  border: 1px solid #dce3eb;
  border-radius: 999px;
  color: var(--bn-ink) !important;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 0.68rem !important;
  font-weight: 900;
  gap: 0.28rem;
  padding: 0.22rem 0.48rem;
  text-align: left;
  text-transform: uppercase;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.bias-signal-tags .bias-signal-tag:hover,
.bias-signal-tags .bias-signal-tag:focus-visible {
  background: #ffffff;
  border-color: rgba(17, 24, 39, 0.32);
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.14);
  outline: 0;
  transform: translateY(-1px);
}

.bias-signal-tags .bias-signal-tag strong {
  color: #1f68b3;
}

.bias-agency-tags {
  border-top: 1px solid #edf1f5;
  list-style: none;
  margin: 0.7rem 0 0 !important;
  padding: 0 !important;
}

.bias-agency-tags li {
  align-items: baseline;
  display: flex;
  gap: 0.55rem;
  justify-content: space-between;
  padding-top: 0.48rem;
}

.bias-agency-tags strong {
  color: var(--bn-ink);
  font-size: 0.78rem;
}

.bias-agency-tags span {
  color: var(--bn-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 900;
  white-space: nowrap;
}

.article-weight-panel {
  --aws-red: #dc2626;
  --aws-red-soft: #fee2e2;
  --aws-charcoal: #111827;
  --aws-ink: #1f2937;
  --aws-muted: #6b7280;
  --aws-line: #e5e7eb;
  --aws-bg: #f8fafc;
  display: grid;
  gap: 0.78rem;
  padding: 1rem;
}

.article-weight-header {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.article-weight-header span {
  color: var(--aws-red);
  font-family: "Roboto", sans-serif;
  font-size: 0.76rem !important;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.article-weight-header strong {
  align-items: center;
  background: var(--aws-charcoal);
  border-radius: 6px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 900;
  justify-content: center;
  min-height: 2rem;
  min-width: 3.35rem;
  padding: 0.25rem 0.48rem;
}

.article-weight-overview {
  color: var(--aws-ink);
  font-size: 0.82rem !important;
  line-height: 1.42;
  margin: 0 !important;
}

.article-weight-overview strong {
  color: var(--aws-charcoal);
}

.article-weight-rows {
  display: grid;
  gap: 0.48rem;
}

.article-weight-row {
  align-items: center;
  appearance: none;
  background: #ffffff;
  border: 1px solid var(--aws-line);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
  color: inherit;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 0.7rem;
  grid-template-columns: 2.35rem minmax(0, 1fr) auto;
  min-height: 4rem;
  padding: 0.72rem;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  width: 100%;
}

.article-weight-row:hover,
.article-weight-row:focus-visible {
  border-color: #cbd5e1;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.1);
  outline: none;
  transform: translateY(-1px);
}

.article-weight-row-negative,
.article-weight-row-timeline {
  align-items: start;
}

.article-weight-icon {
  align-items: center;
  color: var(--aws-charcoal);
  display: inline-flex;
  height: 2.1rem;
  justify-content: center;
  width: 2.1rem;
}

.article-weight-icon svg {
  display: block;
  height: 2.1rem;
  width: 2.1rem;
}

.article-weight-row-main {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.article-weight-row-main strong {
  color: var(--aws-charcoal);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}

.article-weight-row-main span {
  color: var(--aws-ink);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.article-weight-row-main .source-archive-link {
  color: var(--aws-ink);
}

.article-weight-row-value,
.article-weight-row-note {
  display: grid;
  gap: 0.08rem;
  justify-items: end;
  min-width: 3.45rem;
  text-align: right;
}

.article-weight-row-value strong {
  color: var(--aws-charcoal);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.article-weight-row-value span,
.article-weight-row-note {
  color: var(--aws-muted);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.18;
}

.article-weight-danger {
  color: var(--aws-red) !important;
}

.article-weight-source-value strong {
  color: #2563eb;
  text-transform: uppercase;
}

.article-weight-balance {
  align-items: center;
  display: grid;
  gap: 0.34rem;
  grid-template-columns: auto minmax(4.2rem, 1fr) auto;
  margin-top: 0.18rem;
}

.article-weight-balance span {
  color: var(--aws-charcoal);
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1;
}

.article-weight-balance i {
  background: linear-gradient(90deg, var(--aws-red) 0 var(--article-weight-source-position), #c6cbd2 var(--article-weight-source-position) 100%);
  border-radius: 999px;
  display: block;
  height: 0.26rem;
  position: relative;
}

.article-weight-balance i::after {
  background: var(--aws-red);
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 1px 4px rgba(17, 24, 39, 0.22);
  content: "";
  height: 0.72rem;
  left: var(--article-weight-source-position);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0.72rem;
}

.article-weight-cues {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  margin-top: 0.36rem;
}

.article-weight-cues span {
  background: var(--aws-red-soft);
  border: 1px solid #fecaca;
  border-radius: 999px;
  color: #9f1239;
  display: inline-flex;
  font-size: 0.66rem !important;
  font-weight: 800;
  line-height: 1.1;
  max-width: 100%;
  padding: 0.24rem 0.5rem;
}

.article-weight-cues .article-weight-cue-more {
  background: #eef2f7;
  border-color: #d9e0ea;
  color: var(--aws-muted);
}

.article-weight-row-note {
  border-left: 1px solid var(--aws-line);
  max-width: 6.6rem;
  min-height: 2.05rem;
  padding-left: 0.68rem;
}

.article-weight-methodology {
  border: 1px solid var(--aws-line);
  border-radius: 8px;
  overflow: hidden;
}

.article-weight-methodology summary {
  align-items: center;
  color: var(--aws-charcoal);
  cursor: pointer;
  display: flex;
  font-size: 0.78rem;
  font-weight: 900;
  justify-content: space-between;
  list-style: none;
  padding: 0.74rem 0.82rem;
}

.article-weight-methodology summary::-webkit-details-marker {
  display: none;
}

.article-weight-methodology summary i {
  color: var(--aws-charcoal);
  font-size: 0.76rem;
  transition: transform 160ms ease;
}

.article-weight-methodology[open] summary i {
  transform: rotate(90deg);
}

.article-weight-methodology ol {
  border-top: 1px solid var(--aws-line);
  display: grid;
  gap: 0.45rem;
  margin: 0 !important;
  padding: 0.72rem 0.9rem 0.82rem 1.9rem !important;
}

.article-weight-methodology li {
  color: var(--aws-muted);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.34;
  padding-left: 0.15rem;
}

.article-weight-detail-modal[hidden] {
  display: none;
}

.article-weight-detail-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 1.125rem;
  position: fixed;
  z-index: 1100;
}

.article-weight-detail-backdrop {
  background: rgba(15, 23, 42, 0.64);
  inset: 0;
  position: absolute;
}

.article-weight-detail-dialog {
  background: #ffffff;
  border: 1px solid rgba(217, 222, 232, 0.95);
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.32);
  color: var(--aws-ink);
  max-height: calc(100vh - 80px);
  max-width: min(1120px, calc(100vw - 36px));
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.article-weight-detail-scroll {
  display: grid;
  gap: 0.95rem;
  max-height: calc(100vh - 80px);
  overflow: auto;
  padding: 1.65rem;
}

.article-weight-detail-layout {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 3fr);
}

.article-weight-detail-primary,
.article-weight-detail-secondary {
  min-width: 0;
}

.article-weight-detail-secondary {
  display: grid;
  gap: 0.72rem;
  position: sticky;
  top: 0;
}

.article-weight-detail-close {
  align-items: center;
  appearance: none;
  background: #f8fafc;
  border: 1px solid var(--aws-line);
  border-radius: 999px;
  color: var(--aws-charcoal);
  cursor: pointer;
  display: inline-flex;
  height: 2.25rem;
  justify-content: center;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 2.25rem;
  z-index: 2;
}

.article-weight-detail-close:hover,
.article-weight-detail-close:focus-visible {
  background: var(--aws-charcoal);
  color: #ffffff;
  outline: 0;
}

.article-weight-detail-head {
  padding-right: 2.9rem;
}

.article-weight-detail-kicker {
  color: var(--aws-red);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0 0 0.35rem !important;
  text-transform: uppercase;
}

.article-weight-detail-dialog h2 {
  color: var(--aws-charcoal);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.04;
  margin: 0;
  overflow-wrap: anywhere;
}

.article-weight-detail-dek {
  color: #344054;
  font-size: 0.92rem !important;
  font-weight: 700;
  line-height: 1.5;
  margin: 0.55rem 0 0 !important;
  max-width: 48rem;
}

.article-weight-followable-strip {
  align-items: center;
  background: linear-gradient(90deg, #eff6ff 0%, #f5f3ff 54%, #fff1f2 100%);
  border: 1px solid #dbe4f3;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.82rem 0.9rem;
}

.article-weight-followable-strip[hidden] {
  display: none;
}

.article-weight-followable-copy {
  display: grid;
  gap: 0.16rem;
  min-width: min(18rem, 100%);
}

.article-weight-followable-copy span {
  color: var(--aws-red);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.article-weight-followable-copy strong {
  color: var(--aws-charcoal);
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.article-weight-followable-copy small {
  color: var(--aws-muted);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: capitalize;
}

.article-weight-followable-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.article-weight-followable-actions .bn-action-button {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(203, 213, 225, 0.9);
  border-radius: 999px;
  min-height: 2.1rem;
  padding: 0.46rem 0.62rem;
}

.article-weight-followable-actions .bn-action-button span {
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1;
}

.article-weight-followable-actions .bn-action-button[data-alert-open].is-alert,
.article-weight-followable-actions .bn-action-button.is-alert {
  border-color: #fda4af;
}

.article-weight-detail-metrics {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1fr;
}

.article-weight-detail-metric {
  appearance: none;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
  border: 1px solid var(--aws-line);
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 0.22rem;
  min-height: 0;
  padding: 0.72rem;
  text-align: left;
}

button.article-weight-detail-metric {
  cursor: pointer;
}

button.article-weight-detail-metric:hover,
button.article-weight-detail-metric:focus-visible {
  border-color: #fca5a5;
  box-shadow: 0 8px 22px rgba(220, 38, 38, 0.12);
  outline: 0;
}

.article-weight-detail-metric i {
  align-items: center;
  background: #f3f6fb;
  border: 1px solid #e3e8ef;
  border-radius: 999px;
  color: var(--aws-charcoal);
  display: inline-flex;
  font-size: 0.82rem;
  height: 1.85rem;
  justify-content: center;
  margin-bottom: 0.2rem;
  width: 1.85rem;
}

.article-weight-detail-metric strong {
  color: var(--aws-charcoal);
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
  overflow-wrap: anywhere;
}

.article-weight-detail-metric span {
  color: var(--aws-charcoal);
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.2;
}

.article-weight-detail-metric small {
  color: var(--aws-muted);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.22;
}

.article-weight-detail-metric.is-add strong,
.article-weight-detail-points.is-add {
  color: var(--aws-red);
}

.article-weight-detail-metric.is-minus strong,
.article-weight-detail-points.is-minus {
  color: #0f766e;
}

.article-weight-detail-metric.is-source-left strong,
.article-weight-detail-points.is-source-left {
  color: #1f68b3;
}

.article-weight-detail-metric.is-source-right strong,
.article-weight-detail-points.is-source-right {
  color: #c83131;
}

.article-weight-detail-metric.is-final strong,
.article-weight-detail-points.is-final {
  color: var(--aws-charcoal);
}

.article-weight-detail-body {
  display: grid;
  gap: 0.78rem;
}

.article-weight-occurrence-deck {
  background: linear-gradient(180deg, #fff7f7, #ffffff);
  border: 1px solid #fecaca;
  border-radius: 8px;
  display: grid;
  gap: 0.72rem;
  padding: 0.9rem;
}

.article-weight-occurrence-deck.is-empty {
  background: #fbfcff;
  border-color: var(--aws-line);
}

.article-weight-occurrence-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: space-between;
}

.article-weight-occurrence-head h3,
.article-weight-occurrence-deck h3 {
  color: var(--aws-charcoal);
  font-size: 0.98rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0;
}

.article-weight-occurrence-head strong {
  background: var(--aws-red);
  border-radius: 999px;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.42rem 0.58rem;
}

.article-weight-occurrence-deck > p,
.article-weight-occurrence-overflow {
  color: var(--aws-muted);
  font-size: 0.78rem !important;
  font-weight: 750;
  line-height: 1.4;
  margin: 0 !important;
}

.article-weight-occurrence-grid {
  display: grid;
  gap: 0.65rem;
}

.article-weight-occurrence-card {
  background: #ffffff;
  border: 1px solid #fecaca;
  border-radius: 8px;
  display: grid;
  gap: 0.62rem;
  padding: 0.82rem;
}

.article-weight-occurrence-meta,
.article-weight-occurrence-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: space-between;
}

.article-weight-signal-tag {
  align-items: center;
  background: #ffe4e6;
  border: 1px solid #fda4af;
  border-radius: 999px;
  color: #b91c1c;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 900;
  gap: 0.32rem;
  line-height: 1;
  padding: 0.38rem 0.56rem;
}

.article-weight-signal-tag::before {
  content: "\f071";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.article-weight-point-chip,
.article-weight-jump-button {
  appearance: none;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 900;
  justify-content: center;
  line-height: 1;
  min-height: 1.9rem;
  padding: 0.38rem 0.62rem;
}

.article-weight-point-chip {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
}

.article-weight-jump-button {
  background: var(--aws-charcoal);
  border: 1px solid var(--aws-charcoal);
  color: #ffffff;
}

.article-weight-point-chip:hover,
.article-weight-point-chip:focus-visible,
.article-weight-jump-button:hover,
.article-weight-jump-button:focus-visible {
  box-shadow: 0 8px 18px rgba(17, 24, 39, 0.14);
  outline: 0;
  transform: translateY(-1px);
}

.article-weight-occurrence-card blockquote {
  color: var(--aws-ink);
  font-size: 0.94rem !important;
  font-weight: 700;
  line-height: 1.48;
  margin: 0 !important;
}

.article-weight-occurrence-card mark,
.article-weight-live-mark {
  background: #fee2e2;
  border-radius: 4px;
  box-shadow: inset 0 -2px 0 #fb7185;
  color: var(--aws-charcoal);
  font-weight: 900;
  padding: 0.02rem 0.12rem;
}

.article-weight-occurrence-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.article-weight-occurrence-chips a {
  background: #f8fafc;
  border: 1px solid var(--aws-line);
  border-radius: 999px;
  color: var(--aws-charcoal);
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.34rem 0.52rem;
  text-decoration: none;
}

.article-weight-occurrence-chips a:hover,
.article-weight-occurrence-chips a:focus-visible {
  background: #eef2ff;
  border-color: #c7d2fe;
  outline: 0;
}

.article-weight-detail-links {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.article-weight-detail-link-card {
  background: #f8fafc;
  border: 1px solid var(--aws-line);
  border-radius: 8px;
  color: var(--aws-charcoal);
  display: grid;
  gap: 0.24rem;
  min-height: 5.2rem;
  padding: 0.72rem;
  text-decoration: none;
}

.article-weight-detail-link-card span {
  color: var(--aws-red);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.article-weight-detail-link-card strong {
  font-size: 0.9rem;
  line-height: 1.22;
}

.article-weight-detail-link-card small {
  color: var(--aws-muted);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.25;
}

.article-weight-detail-link-card:hover,
.article-weight-detail-link-card:focus-visible {
  background: #ffffff;
  border-color: #94a3b8;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
  outline: 0;
  transform: translateY(-1px);
}

.article-weight-detail-section {
  background: #ffffff;
  border: 1px solid var(--aws-line);
  border-radius: 8px;
  display: grid;
  gap: 0.82rem;
  grid-template-columns: 12.4rem minmax(0, 1fr);
  padding: 0.95rem;
}

.article-weight-detail-section.is-formula {
  background: #fffafa;
  border-color: #fecaca;
}

.article-weight-detail-section.is-emphasized {
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
}

.article-weight-detail-section-rail {
  align-content: start;
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: 1.65rem minmax(0, 1fr) 1rem;
  padding: 0;
  text-align: left;
}

.article-weight-detail-section-rail > i {
  align-self: center;
  color: var(--aws-muted);
  display: block;
  font-size: 0.78rem;
  transition: transform 160ms ease;
}

.article-weight-detail-section[data-open="true"] .article-weight-detail-section-rail > i {
  transform: rotate(90deg);
}

.article-weight-detail-step {
  align-items: center;
  background: var(--aws-red);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  height: 1.65rem;
  justify-content: center;
  line-height: 1;
  width: 1.65rem;
}

.article-weight-detail-section-copy h3 {
  color: var(--aws-charcoal);
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 1.16;
  margin: 0;
}

.article-weight-detail-section-copy p {
  color: var(--aws-muted);
  font-size: 0.72rem !important;
  font-weight: 750;
  line-height: 1.38;
  margin: 0.35rem 0 0 !important;
}

.article-weight-detail-section-content {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
}

.article-weight-detail-section[data-open="false"] .article-weight-detail-section-content {
  display: none;
}

.article-weight-detail-section-content > p {
  color: var(--aws-ink);
  font-size: 0.86rem !important;
  font-weight: 650;
  line-height: 1.45;
  margin: 0 !important;
  overflow-wrap: anywhere;
}

.article-weight-detail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.article-weight-detail-chips span {
  background: var(--aws-red-soft);
  border: 1px solid #fecaca;
  border-radius: 999px;
  color: #9f1239;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.1;
  padding: 0.32rem 0.58rem;
}

.article-weight-detail-chips span.is-overflow {
  background: #eef2f7;
  border-color: #d9e0ea;
  color: var(--aws-muted);
}

.article-weight-detail-ledger {
  border: 1px solid var(--aws-line);
  border-collapse: separate;
  border-radius: 8px;
  border-spacing: 0;
  font-size: 0.78rem;
  overflow: hidden;
  width: 100%;
}

.article-weight-detail-ledger th,
.article-weight-detail-ledger td {
  border-bottom: 1px solid var(--aws-line);
  padding: 0.62rem 0.72rem;
  text-align: left;
  vertical-align: top;
}

.article-weight-detail-ledger th {
  background: #f8fafc;
  color: #475467;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.article-weight-detail-ledger tr:last-child td {
  border-bottom: 0;
}

.article-weight-detail-points {
  font-weight: 900;
  white-space: nowrap;
}

.article-weight-detail-cards,
.article-weight-detail-evidence {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.article-weight-detail-card,
.article-weight-detail-evidence-item {
  background: #fbfcff;
  border: 1px solid var(--aws-line);
  border-radius: 8px;
  margin: 0;
  padding: 0.82rem;
}

.article-weight-detail-card h4 {
  color: var(--aws-charcoal);
  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1.18;
  margin: 0 0 0.35rem;
}

.article-weight-detail-card p,
.article-weight-detail-evidence-item blockquote {
  color: var(--aws-ink);
  font-size: 0.8rem !important;
  font-weight: 650;
  line-height: 1.42;
  margin: 0 !important;
}

.article-weight-detail-evidence-item blockquote::before {
  color: var(--aws-red);
  content: "\201C";
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 0;
  margin-right: 0.18rem;
  vertical-align: -0.18rem;
}

.article-weight-detail-evidence-item mark {
  background: #fff1a8;
  border-radius: 3px;
  color: var(--aws-charcoal);
  font-weight: 900;
  padding: 0.03rem 0.14rem;
}

.article-weight-detail-evidence-item figcaption {
  color: var(--aws-muted);
  font-size: 0.68rem;
  font-weight: 850;
  margin-top: 0.55rem;
  text-transform: uppercase;
}

.article-weight-detail-footer {
  align-items: center;
  border-top: 1px solid var(--aws-line);
  color: var(--aws-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  padding-top: 0.85rem;
}

.article-weight-detail-footer span {
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.35;
  max-width: 42rem;
}

.article-weight-detail-link {
  align-items: center;
  border: 1px solid var(--aws-line);
  border-radius: 6px;
  color: var(--aws-charcoal);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.48rem 0.72rem;
  text-decoration: none;
}

.article-weight-detail-link:hover,
.article-weight-detail-link:focus-visible {
  background: var(--aws-charcoal);
  color: #ffffff;
  outline: 0;
}

body.article-weight-detail-modal-open {
  overflow: hidden;
}

.article-weight-live-target {
  animation: articleWeightLiveTargetPulse 1.1s ease-out 2;
  background: #fff7ed;
  border-radius: 8px;
  box-shadow: 0 0 0 4px rgba(251, 113, 133, 0.18);
  padding: 0.18rem 0.25rem;
}

.article-weight-return-button {
  align-items: center;
  background: rgba(15, 23, 42, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  bottom: 1.1rem;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.28);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 900;
  left: 50%;
  min-height: 2.55rem;
  padding: 0.55rem 0.85rem;
  position: fixed;
  transform: translateX(-50%);
  z-index: 1090;
}

.article-weight-return-button:hover,
.article-weight-return-button:focus-visible {
  background: var(--aws-red);
  outline: 0;
}

@keyframes articleWeightLiveTargetPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(251, 113, 133, 0.35);
  }
  100% {
    box-shadow: 0 0 0 9px rgba(251, 113, 133, 0);
  }
}

@media (max-width: 760px) {
  .article-weight-detail-modal {
    align-items: flex-end;
    padding: 0;
  }

  .article-weight-detail-dialog {
    border-radius: 18px 18px 0 0;
    max-height: 92dvh;
    max-width: 100vw;
  }

  .article-weight-detail-scroll {
    gap: 0.82rem;
    max-height: 92dvh;
    padding: 1rem 0.85rem 4.5rem;
  }

  .article-weight-detail-layout {
    display: flex;
    flex-direction: column;
  }

  .article-weight-detail-primary {
    order: 1;
  }

  .article-weight-detail-secondary {
    order: 2;
    position: static;
  }

  .article-weight-detail-dialog h2 {
    font-size: 1.55rem;
  }

  .article-weight-detail-dek {
    font-size: 0.86rem !important;
  }

  .article-weight-followable-strip {
    align-items: stretch;
    display: grid;
  }

  .article-weight-followable-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .article-weight-followable-actions .bn-action-button {
    justify-content: center;
    min-width: 0;
  }

  .article-weight-detail-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .article-weight-detail-metric {
    min-height: 6rem;
    padding: 0.72rem;
  }

  .article-weight-detail-metric strong {
    font-size: 1.18rem;
  }

  .article-weight-detail-section {
    display: block;
    gap: 0;
    overflow: hidden;
    padding: 0;
  }

  .article-weight-detail-section-rail {
    align-items: center;
    cursor: pointer;
    grid-template-columns: 1.65rem minmax(0, 1fr) 1rem;
    padding: 0.82rem;
    width: 100%;
  }

  .article-weight-detail-section-rail > i {
    color: var(--aws-muted);
    display: block;
    font-size: 0.78rem;
    transition: transform 160ms ease;
  }

  .article-weight-detail-section[data-open="true"] .article-weight-detail-section-rail > i {
    transform: rotate(90deg);
  }

  .article-weight-detail-section-content {
    display: none;
    padding: 0 0.82rem 0.92rem 3.2rem;
  }

  .article-weight-detail-section[data-open="true"] .article-weight-detail-section-content {
    display: grid;
  }

  .article-weight-detail-ledger {
    border: 0;
  }

  .article-weight-detail-ledger thead {
    display: none;
  }

  .article-weight-detail-ledger tbody,
  .article-weight-detail-ledger tr,
  .article-weight-detail-ledger td {
    display: block;
    width: 100%;
  }

  .article-weight-detail-ledger tr {
    border: 1px solid var(--aws-line);
    border-radius: 8px;
    margin-bottom: 0.55rem;
    overflow: hidden;
  }

  .article-weight-detail-ledger td {
    border-bottom: 1px solid var(--aws-line);
    display: grid;
    gap: 0.5rem;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    padding: 0.55rem 0.62rem;
    white-space: normal;
  }

  .article-weight-detail-ledger td::before {
    color: var(--aws-muted);
    content: attr(data-label);
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  .article-weight-detail-ledger tr:last-child td,
  .article-weight-detail-ledger td:last-child {
    border-bottom: 0;
  }

  .article-weight-detail-cards,
  .article-weight-detail-evidence {
    grid-template-columns: 1fr;
  }

  .article-weight-detail-footer {
    align-items: stretch;
  }

  .article-weight-detail-link {
    width: 100%;
  }
}

.article-body p,
.article-body li {
  font-size: 1.04rem;
}

.article-body li + li {
  margin-top: 0.55rem;
}

.article-body blockquote {
  border-left: 4px solid var(--bn-gold);
  color: var(--bn-muted);
  margin-left: 0;
  padding-left: 1rem;
}

.comments-panel {
  border-top: 1px solid var(--bn-line);
  padding: clamp(1.1rem, 3vw, 1.9rem);
}

.comments-header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.comments-header h2 {
  font-size: 1.1rem;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
}

.comment-count {
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  color: var(--bn-muted);
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 900;
  padding: 0.35rem 0.55rem;
  text-transform: uppercase;
}

.comment-list {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.comment-empty {
  color: var(--bn-muted);
  margin: 0;
}

.comment-item {
  border-top: 1px solid var(--bn-line);
  padding-top: 0.85rem;
}

.comment-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.comment-meta {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.8rem;
  margin-bottom: 0.3rem;
}

.comment-meta h3 {
  font-size: 0.98rem;
  font-weight: 900;
  margin: 0;
}

.comment-meta time,
.comment-actions p,
.comment-response {
  color: var(--bn-muted);
  font-size: 0.82rem;
}

.comment-item p {
  margin: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.comment-form {
  border-top: 2px solid var(--bn-ink);
  display: grid;
  gap: 0.85rem;
  padding-top: 1rem;
  position: relative;
}

.comment-form-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.comment-form label {
  display: grid;
  gap: 0.35rem;
}

.comment-form label span {
  color: var(--bn-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.comment-form input,
.comment-form textarea {
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  font: inherit;
  min-width: 0;
  padding: 0.7rem 0.75rem;
  width: 100%;
}

.comment-form textarea {
  min-height: 8rem;
  resize: vertical;
}

.comment-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
}

.comment-actions p {
  margin: 0;
  max-width: 35rem;
}

.comment-actions button {
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  font-weight: 900;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
}

.comment-actions button:disabled {
  opacity: 0.65;
}

.comment-response {
  min-height: 1.2rem;
}

.comment-honeypot {
  left: -10000px;
  position: absolute;
  top: auto;
}

.empty-state {
  padding: clamp(1.25rem, 4vw, 2rem);
}

.site-footer {
  background: var(--bn-ink);
  color: #f4f4f4;
  font-size: 0.88rem;
  padding: clamp(2rem, 5vw, 3.75rem) 0 1.25rem;
}

.footer-search-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  margin-bottom: 1.7rem;
  padding-bottom: 1.7rem;
}

.footer-search-form {
  align-items: center;
  background: #ffffff;
  border-radius: 6px;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 auto;
  max-width: 980px;
  min-height: 3.25rem;
  padding: 0 0.55rem 0 0.85rem;
}

.footer-search-form input {
  background: transparent;
  border: 0;
  color: var(--bn-ink);
  font-weight: 700;
  min-height: 2.75rem;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.footer-search-form button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--bn-ink);
  display: inline-flex;
  font-size: 1.1rem;
  height: 2.4rem;
  justify-content: center;
  padding: 0;
  width: 2.4rem;
}

.footer-directory {
  display: grid;
  gap: 2rem 2.4rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.footer-directory-section {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.footer-brand {
  max-width: 33rem;
}

.footer-brand-link {
  color: #ffffff;
}

.footer-brand-link .brand-mark {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 6px;
}

.footer-brand-link .brand-text {
  color: #ffffff;
}

.footer-brand p {
  color: #c9d1dc;
  line-height: 1.55;
  margin: 0.85rem 0 0;
}

.site-footer h2 {
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.site-footer a {
  color: #c9d1dc;
  font-weight: 800;
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.58);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.footer-follow {
  align-items: end;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(240px, 1fr) auto;
  margin-top: 2.15rem;
  padding-top: 1.35rem;
}

.footer-follow-actions {
  align-items: end;
  display: grid;
  gap: 1rem;
  justify-items: end;
}

.footer-social-group,
.footer-app-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.footer-social-group > span {
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
  margin-right: 0.25rem;
  text-transform: uppercase;
}

.footer-social-link {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #ffffff !important;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.footer-social-link:hover,
.footer-social-link:focus {
  background: transparent;
  border-color: #ffffff;
  color: #ffffff !important;
  text-decoration: none;
}

.footer-social-link.is-disabled {
  color: rgba(255, 255, 255, 0.42) !important;
}

.footer-app-link {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 4px;
  color: #ffffff !important;
  display: inline-flex;
  font-size: 0.78rem;
  gap: 0.38rem;
  min-height: 2rem;
  padding: 0.36rem 0.62rem;
}

.footer-app-link:hover,
.footer-app-link:focus {
  background: transparent;
  border-color: #ffffff;
  color: #ffffff !important;
}

.footer-bottom {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: #c9d1dc;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  justify-content: space-between;
  margin-top: 1.25rem;
  padding-top: 1rem;
}

.footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.85rem;
}

.footer-bottom nav a {
  font-size: 0.72rem;
}

.footer-stats-line {
  color: rgba(201, 209, 220, 0.72);
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1.25;
}

code {
  background: #eceff3;
  border-radius: 4px;
  padding: 0.1rem 0.25rem;
}

.site-header-shell {
  background: #ffffff;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
  border-top: 0;
  box-shadow: 0 0.4rem 1.15rem rgba(0, 0, 0, 0.16);
  margin-bottom: 0;
  position: relative;
  z-index: 30;
}

.search-panel-open .site-header-shell {
  z-index: 120;
}

.site-topbar {
  background: #10151b;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
}

.site-topbar .container-xxl {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 2.35rem;
}

.topbar-left,
.topbar-links {
  align-items: center;
  display: flex;
  gap: 0.9rem;
}

.topbar-links {
  flex: 0 0 auto;
}

.topbar-date {
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap;
}

.topbar-links a {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  white-space: nowrap;
}

.site-topbar a {
  color: #ffffff;
  text-decoration: none;
}

.site-header {
  background: #ffffff;
  border-bottom: 0;
  border-top: 0;
  box-shadow: none;
}

.site-header .container-xxl {
  min-height: 4.65rem;
  position: relative;
}

.brand {
  align-items: center;
  color: var(--bn-ink);
  display: inline-flex;
  gap: 0.55rem;
  letter-spacing: 0;
  text-decoration: none;
}

.brand-lockup-image {
  display: block;
  height: auto;
  max-width: min(11.6rem, 56vw);
  width: 11.6rem;
}

.brand-wordmark-image {
  display: block;
  height: auto;
  max-width: min(112px, 42vw);
  width: 112px;
}

.footer-brand-link .brand-lockup-image {
  max-width: min(10.4rem, 72vw);
  width: 10.4rem;
}

.brand-mark {
  align-items: center;
  background: transparent;
  color: var(--bn-red);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.25rem;
  font-weight: 900;
  height: 26px;
  justify-content: center;
  line-height: 1;
  width: 26px;
}

.brand-mark img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.brand-text {
  display: grid;
  font-size: 1.24rem;
  font-weight: 900;
  line-height: 0.98;
  text-transform: uppercase;
}

.brand-text small {
  color: var(--bn-muted);
  font-size: 0.47rem;
  font-weight: 800;
  letter-spacing: 0;
}

.navbar .nav-link {
  color: var(--bn-ink);
  font-size: 0.92rem;
  font-weight: 800;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  text-decoration: none;
  text-transform: none;
}

.navbar .nav-link:hover {
  color: var(--bn-hover);
}

.navbar-toggler {
  border-color: #cfd5dc;
}

.header-search-wrap {
  background: #f5f7f9;
  border-top: 1px solid var(--bn-line);
}

.header-search-wrap .mega-search-panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-top: 4px solid var(--bn-red);
  box-shadow: none;
  color: var(--bn-ink);
  margin: 0;
  padding: 1rem 0 1.15rem;
  position: static;
  width: 100%;
}

.mega-search-kicker {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.mega-search-kicker span {
  color: var(--bn-red);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mega-search-kicker strong {
  color: var(--bn-muted);
  font-size: 0.88rem;
  font-weight: 800;
  text-align: left;
}

.header-search-wrap .mega-search-input-row {
  background: #ffffff;
  border-color: #d7dde4;
  border-radius: 4px;
  box-shadow: 0 0.35rem 1rem rgba(17, 24, 32, 0.08);
  padding: 0.35rem;
}

.header-search-wrap .mega-search-input-row input {
  min-height: 2.75rem;
}

.header-search-wrap .mega-search-results {
  max-height: min(38vh, 22rem);
}

.template-topbar {
  background: var(--bn-red);
  overflow: hidden;
}

.template-topbar .container-xxl {
  gap: 0.9rem;
  min-height: 1.85rem;
}

.breaking-news {
  align-items: stretch;
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.ticker-track {
  align-items: center;
  display: flex;
  min-width: 0;
  overflow: hidden;
  padding-left: 0;
}

.ticker-track ul {
  animation: tickerTape 30s linear infinite;
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.ticker-track:hover ul,
.ticker-track:focus-within ul {
  animation-play-state: paused;
}

.ticker-track li {
  align-items: center;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
}

.ticker-track a {
  color: #ffffff;
  text-decoration: none;
}

@keyframes tickerTape {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.template-menu {
  background: #ffffff;
}

.template-menu .container-xxl {
  gap: 1rem;
  min-height: 2.65rem;
  position: relative;
}

.template-menu .navbar-collapse {
  gap: 1rem;
}

.primary-nav-wrap {
  align-items: center;
  justify-content: flex-end;
}

.primary-nav-list {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 0;
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.mobile-account-link {
  display: none;
}

.primary-nav-link {
  align-items: center;
  color: var(--bn-ink);
  display: inline-flex;
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  font-size: 0.78rem;
  font-weight: 900;
  min-height: 2.65rem;
  padding: 0 0.54rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.primary-nav-link::after {
  background: var(--bn-red);
  bottom: 0.32rem;
  content: "";
  height: 0.16rem;
  left: 0.54rem;
  opacity: 0;
  position: absolute;
  right: 0.54rem;
  transform: scaleX(0.2);
  transform-origin: left center;
  transition: opacity 160ms ease, transform 160ms ease;
}

.primary-nav-link:hover,
.primary-nav-link:focus {
  color: var(--bn-hover);
}

.primary-nav-link:hover::after,
.primary-nav-link:focus::after {
  opacity: 1;
  transform: scaleX(1);
}

.template-menu .navbar-nav {
  gap: 0.2rem;
}

.template-menu .navbar .nav-link,
.template-menu .nav-link {
  align-items: center;
  color: var(--bn-ink);
  display: inline-flex;
  gap: 0.35rem;
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  min-height: 2.65rem;
  padding: 0 0.72rem !important;
}

.template-menu .nav-link:hover,
.template-menu .nav-link:focus {
  color: var(--bn-hover);
}

.header-search-form {
  align-items: center;
  background: #f6f6f6;
  border: 1px solid #f6f6f6;
  border-radius: 5px;
  display: grid;
  flex: 0 1 min(20rem, 26vw);
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 2.25rem;
  overflow: hidden;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, flex-basis 180ms ease;
}

.header-search-form:focus-within,
.search-panel-open .header-search-form {
  border-color: var(--bn-red);
  background: #ffffff;
  box-shadow: 0 0.4rem 1.05rem rgba(219, 0, 0, 0.12);
  flex-basis: min(25.5rem, 34vw);
}

.header-search-form input {
  background: transparent;
  border: 0;
  color: var(--bn-ink);
  font-size: 0.9rem;
  font-weight: 500;
  min-width: 0;
  outline: 0;
  padding: 0.35rem 0.7rem;
}

.header-search-form button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--bn-muted);
  display: inline-flex;
  height: 2.25rem;
  justify-content: center;
  width: 2.25rem;
}

.header-search-form button:hover,
.header-search-form button:focus {
  color: var(--bn-hover);
}

.template-menu .header-search-wrap {
  background: transparent;
  border: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 90;
}

.template-menu .header-search-wrap .mega-search-panel {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 0 0 4px 4px;
  border-top: 0;
  box-shadow: 0 0.65rem 1.8rem rgba(0, 0, 0, 0.16);
  margin: 0;
  padding: 0;
}

.search-mega-layout {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: minmax(13rem, 0.38fr) minmax(0, 1fr);
  padding: 1.35rem 1.45rem;
}

.search-mega-layout h3 {
  color: #484848;
  font-size: 0.98rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.search-mega-main,
.search-mega-tools {
  min-width: 0;
}

.search-mega-main {
  align-content: start;
  display: grid;
  gap: var(--bn-gutter);
}

.search-mega-tools {
  border-right: 1px solid #f0f1f3;
  padding-right: 1.25rem;
}

.mega-search-refine,
.mega-search-refine-body {
  display: contents;
}

.mega-search-refine summary {
  display: none;
}

.search-mega-panel .mega-search-kicker {
  align-items: center;
  margin-bottom: 0;
}

.search-mega-panel .mega-search-kicker > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.mega-search-close {
  align-items: center;
  background: #f6f6f6;
  border: 1px solid #e5e8ec;
  border-radius: 999px;
  color: var(--bn-muted);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.mega-search-close:hover,
.mega-search-close:focus {
  border-color: var(--bn-red);
  color: var(--bn-red);
}

.search-mega-panel .mega-search-input-row {
  background: #f6f6f6;
  border-color: #f0f1f3;
  border-radius: 4px;
  box-shadow: none;
}

.search-mega-panel .mega-search-filters {
  display: grid;
  gap: var(--bn-gutter);
  grid-template-columns: 1fr;
}

.search-mega-panel .mega-search-filters select {
  background-color: #f6f6f6;
  border-color: #f0f1f3;
  font-weight: 500;
}

.search-mega-panel .mega-search-quick {
  display: grid;
  gap: var(--bn-gutter);
  margin-top: 1rem;
}

.search-mega-panel .mega-search-quick button {
  border-radius: 4px;
  text-align: left;
}

.mega-search-suggestion-block {
  border-top: 1px solid #f0f1f3;
  display: grid;
  gap: 0.55rem;
  margin-top: 1rem;
  padding-top: 1rem;
}

.mega-search-request {
  border-top: 1px solid #f0f1f3;
  display: grid;
  gap: 0.3rem;
  margin-top: 1rem;
  padding-top: 1rem;
}

.mega-search-request span {
  color: var(--bn-red);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mega-search-request strong {
  display: block;
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.05;
}

.mega-search-request a {
  align-items: center;
  background: var(--bn-red);
  border-radius: 4px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0 0.8rem;
  text-decoration: none;
  text-transform: uppercase;
}

.mega-search-request a:hover,
.mega-search-request a:focus {
  background: var(--bn-hover);
  color: #ffffff;
}

.search-mega-panel .mega-search-status {
  margin-top: 0;
}

.search-mega-panel .mega-search-results {
  gap: var(--bn-gutter);
  margin-top: 0;
  max-height: min(45vh, 26rem);
}

.mega-search-loading {
  display: grid;
  gap: var(--bn-gutter);
}

.mega-search-loading-row {
  align-items: center;
  border-top: 1px solid #f0f1f3;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: 6.75rem minmax(0, 1fr);
  padding: 0.62rem 0;
}

.mega-search-loading-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.mega-search-loading-thumb,
.mega-search-loading-line {
  background: linear-gradient(90deg, #eef1f5 0%, #f8f9fb 48%, #eef1f5 100%);
  background-size: 220% 100%;
  border-radius: 4px;
  animation: searchLoadingPulse 1.2s ease-in-out infinite;
}

.mega-search-loading-thumb {
  aspect-ratio: 4 / 3;
  min-height: 4.7rem;
}

.mega-search-loading-copy {
  display: grid;
  gap: 0.45rem;
}

.mega-search-loading-line {
  height: 0.72rem;
}

.mega-search-loading-line.short {
  width: 48%;
}

.mega-search-loading-line.medium {
  width: 78%;
}

@keyframes searchLoadingPulse {
  0% {
    background-position: 120% 0;
  }
  100% {
    background-position: -120% 0;
  }
}

.search-mega-panel .mega-search-result {
  border: 0;
  border-top: 1px solid #f0f1f3;
  border-radius: 0;
  grid-template-columns: 6.75rem minmax(0, 1fr);
  align-items: center;
  padding: 0.62rem 0;
}

.search-mega-panel .mega-search-result:first-child {
  border-top: 0;
  padding-top: 0;
}

.search-mega-panel .mega-search-result:hover,
.search-mega-panel .mega-search-result:focus {
  color: var(--bn-hover);
}

.mega-search-result-media {
  align-self: stretch;
  aspect-ratio: 4 / 3;
  background: #10151b;
  border-radius: 4px;
  display: block;
  min-height: 4.7rem;
  min-width: 0;
  overflow: hidden;
  width: 100%;
}

.mega-search-result-media img {
  display: block;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  width: 100%;
}

.mega-search-result-body {
  min-width: 0;
}

.mega-search-result-meta {
  color: var(--bn-muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 0.22rem;
  text-transform: uppercase;
}

.mega-search-suggestions {
  display: grid;
  gap: 0.35rem;
}

.mega-search-suggestion {
  background: #ffffff;
  border: 1px solid #edf0f3;
  border-radius: 4px;
  color: var(--bn-ink);
  cursor: pointer;
  display: grid;
  gap: 0.18rem;
  padding: 0.46rem 0.55rem;
  text-align: left;
}

.mega-search-suggestion:first-child {
  padding-top: 0.46rem;
}

.mega-search-suggestion span {
  color: var(--bn-red);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mega-search-suggestion strong {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.12;
}

.mega-search-suggestion:hover strong,
.mega-search-suggestion:focus strong {
  color: var(--bn-hover);
}

.mega-search-empty {
  color: var(--bn-muted);
  font-weight: 700;
  margin: 0;
}

.news-home {
  padding-bottom: 4rem;
  padding-top: var(--bn-gutter);
}

.home-live-panel {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: minmax(14rem, 0.8fr) minmax(22rem, 1.15fr) minmax(26rem, 1.45fr);
  margin-bottom: 0.5rem;
  padding: 0.28rem 0.45rem;
}

.home-location-form,
.location-set-form {
  align-items: center;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.home-location-form {
  border-right: 1px solid var(--bn-line);
  min-width: 0;
  padding-right: 0.5rem;
}

.location-set-form small {
  color: var(--bn-muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.home-location-form input,
.location-set-form input {
  background: #f5f7f9;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  color: var(--bn-ink);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  min-height: 1.68rem;
  min-width: 0;
  padding: 0.24rem 0.44rem;
  width: 100%;
}

.home-location-form input:focus,
.location-set-form input:focus {
  border-color: var(--bn-red);
  box-shadow: 0 0 0 0.12rem rgba(204, 0, 0, 0.13);
  outline: none;
}

.home-location-form button,
.location-set-form button {
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 900;
  min-height: 1.68rem;
  padding: 0.24rem 0.52rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-location-form button:hover,
.home-location-form button:focus,
.location-set-form button:hover,
.location-set-form button:focus {
  background: var(--bn-red-dark);
}

.home-weather-days,
.location-forecast {
  align-items: start;
  display: grid;
  gap: 0.36rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-market-quotes {
  align-items: stretch;
  border-left: 1px solid var(--bn-line);
  display: grid;
  gap: 0.36rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  padding-left: 0.5rem;
}

.market-quote {
  background: linear-gradient(135deg, #ffffff 0%, #f0f4f8 100%);
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 1px 2px rgba(15, 23, 42, 0.08);
  color: inherit;
  display: grid;
  gap: 0.08rem;
  min-height: 2.2rem;
  min-width: 0;
  padding: 0.3rem 0.42rem;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.market-quote:hover,
.market-quote:focus {
  border-color: rgba(17, 24, 39, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 4px 10px rgba(15, 23, 42, 0.16);
  text-decoration: none;
  transform: translateY(-1px);
}

.market-quote:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.market-quote.is-up {
  background: linear-gradient(135deg, #149653 0%, #0b7a3b 52%, #075f2f 100%);
  border-color: rgba(7, 95, 47, 0.86);
}

.market-quote.is-down {
  background: linear-gradient(135deg, #ca2f39 0%, #b4232a 52%, #8f1d22 100%);
  border-color: rgba(143, 29, 34, 0.86);
}

.market-quote.is-flat {
  background: linear-gradient(135deg, #ffffff 0%, #edf2f7 58%, #e2e8f0 100%);
}

.market-quote.is-up span,
.market-quote.is-up strong,
.market-quote.is-up small,
.market-quote.is-down span,
.market-quote.is-down strong,
.market-quote.is-down small {
  color: #ffffff;
}

.market-quote span,
.market-quote small,
.market-loading {
  color: var(--bn-muted);
  font-size: 0.64rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.market-quote strong {
  color: var(--bn-ink);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
}

.market-quote small {
  text-transform: none;
}

.market-quote.is-up small {
  color: #ffffff;
}

.market-quote.is-down small {
  color: #ffffff;
}

.market-quote.is-flat small {
  color: var(--bn-muted);
}

.weather-day {
  --weather-photo: url("/assets/brand/weather-cloudy-day.png");
  --weather-tint: linear-gradient(112deg, rgba(4, 24, 36, 0.7) 0%, rgba(18, 101, 124, 0.34) 48%, rgba(3, 16, 25, 0.78) 100%);
  background-image: var(--weather-tint), var(--weather-photo);
  background-position: center;
  background-size: cover;
  border: 0;
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 1px 2px rgba(15, 23, 42, 0.12);
  color: #ffffff;
  display: grid;
  column-gap: 0.36rem;
  grid-template-columns: 1.56rem minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  min-height: 2.22rem;
  min-width: 0;
  overflow: hidden;
  padding: 0.3rem 0.44rem;
}

.weather-clear {
  --weather-photo: url("/assets/brand/weather-sunny-day.png");
  --weather-tint: linear-gradient(112deg, rgba(13, 75, 116, 0.58) 0%, rgba(236, 161, 27, 0.24) 48%, rgba(3, 27, 43, 0.68) 100%);
  background-position: 54% center;
}

.weather-partly {
  --weather-photo: url("/assets/brand/weather-sunny-day.png");
  --weather-tint: linear-gradient(112deg, rgba(11, 72, 108, 0.58) 0%, rgba(56, 142, 167, 0.24) 46%, rgba(5, 27, 42, 0.68) 100%);
  background-position: 50% center;
}

.weather-cloudy {
  --weather-photo: url("/assets/brand/weather-cloudy-day.png");
  --weather-tint: linear-gradient(112deg, rgba(21, 42, 56, 0.66) 0%, rgba(91, 118, 133, 0.34) 48%, rgba(8, 19, 29, 0.72) 100%);
  background-position: 64% center;
}

.weather-rain {
  --weather-photo: url("/assets/brand/weather-cloudy-day.png");
  --weather-tint: linear-gradient(112deg, rgba(6, 35, 64, 0.76) 0%, rgba(21, 96, 143, 0.42) 48%, rgba(4, 20, 35, 0.82) 100%);
  background-position: 58% center;
}

.weather-storm {
  --weather-photo: url("/assets/brand/weather-cloudy-day.png");
  --weather-tint: linear-gradient(112deg, rgba(3, 11, 20, 0.82) 0%, rgba(55, 64, 78, 0.44) 46%, rgba(2, 8, 15, 0.86) 100%);
  background-position: 70% center;
}

.weather-snow {
  --weather-photo: url("/assets/brand/weather-cloudy-day.png");
  --weather-tint: linear-gradient(112deg, rgba(43, 88, 123, 0.58) 0%, rgba(174, 211, 229, 0.3) 50%, rgba(21, 53, 80, 0.68) 100%);
  background-position: 42% center;
}

.weather-fog {
  --weather-photo: url("/assets/brand/weather-cloudy-day.png");
  --weather-tint: linear-gradient(112deg, rgba(25, 48, 61, 0.64) 0%, rgba(154, 175, 186, 0.36) 48%, rgba(14, 30, 42, 0.72) 100%);
  background-position: 48% center;
}

.weather-clear.weather-night {
  --weather-photo: url("/assets/brand/weather-clear-night.png");
  --weather-tint: linear-gradient(112deg, rgba(2, 8, 26, 0.58) 0%, rgba(15, 49, 91, 0.32) 48%, rgba(1, 5, 17, 0.84) 100%);
  background-position: 54% center;
}

.weather-partly.weather-night,
.weather-cloudy.weather-night,
.weather-rain.weather-night,
.weather-storm.weather-night,
.weather-snow.weather-night,
.weather-fog.weather-night {
  --weather-photo: url("/assets/brand/weather-cloudy-night.png");
  --weather-tint: linear-gradient(112deg, rgba(1, 7, 18, 0.72) 0%, rgba(13, 34, 63, 0.38) 48%, rgba(0, 4, 14, 0.88) 100%);
  background-position: 62% center;
}

.weather-icon {
  align-items: center;
  align-self: center;
  background: transparent;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  grid-row: 1 / span 3;
  height: 1.56rem;
  justify-content: center;
  position: relative;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  width: 1.56rem;
}

.weather-icon i {
  font-size: 1.04rem;
  line-height: 1;
}

.weather-icon-partly .weather-sun-layer {
  color: #ffffff;
  font-size: 0.76rem;
  left: 0.08rem;
  position: absolute;
  top: 0.14rem;
}

.weather-icon-partly .weather-cloud-layer,
.weather-icon-storm .weather-cloud-layer {
  color: #ffffff;
  font-size: 1rem;
  position: absolute;
  right: 0.05rem;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.38);
  top: 0.44rem;
}

.weather-icon-storm .weather-bolt-layer {
  color: #ffffff;
  font-size: 0.68rem;
  position: absolute;
  right: 0.3rem;
  top: 0.55rem;
}

.weather-day .weather-label,
.weather-day .weather-temp {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.1;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.34);
}

.weather-day strong {
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.08;
  overflow: hidden;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.36);
  text-overflow: ellipsis;
}

.weather-loading {
  color: var(--bn-muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.1;
}

.weather-day .weather-label,
.weather-day .weather-temp,
.weather-day strong {
  min-width: 0;
}

.location-page {
  padding-bottom: 4rem;
}

.location-hero {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.location-hero > *,
.location-hero h1,
.location-hero p {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.location-forecast {
  max-width: 48rem;
}

.location-set-form {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  max-width: 48rem;
  min-width: 0;
  padding: var(--bn-gutter);
  width: 100%;
}

.location-stats {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 2rem;
}

.location-stats article {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  padding: 1rem;
}

.location-stats span {
  color: var(--bn-red);
  display: block;
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(1.9rem, 4vw, 3.25rem);
  font-weight: 900;
  line-height: 0.95;
}

.location-stats p {
  color: var(--bn-muted);
  font-size: 0.78rem;
  font-weight: 900;
  margin: 0.25rem 0 0;
  text-transform: uppercase;
}

.location-story-list {
  display: grid;
  gap: 0.85rem;
}

.location-story {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  padding: 1rem;
}

.location-story-distance {
  align-content: start;
  border-right: 1px solid var(--bn-line);
  display: grid;
  gap: 0.25rem;
  padding-right: 1rem;
}

.location-story-distance strong {
  color: var(--bn-red);
  font-size: 1.35rem;
  font-weight: 900;
}

.location-story-distance span,
.location-story-main p,
.location-story-main span,
.location-loading {
  color: var(--bn-muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.location-story-main h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.75rem);
  font-weight: 900;
  line-height: 1.08;
  margin: 0.15rem 0 0.35rem;
}

.location-story-main a {
  text-decoration: none;
}

.location-reference-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.7rem;
}

.location-reference-list span {
  align-items: center;
  background: #f4f6f8;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-ink);
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.3rem 0.55rem;
}

.location-reference-list small {
  color: var(--bn-muted);
  font-weight: 900;
}

.timeline-page {
  padding-bottom: 4rem;
}

.timeline-hero {
  display: grid;
  gap: 0.85rem;
}

.timeline-filter-form {
  align-items: end;
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(11rem, 1fr) minmax(11rem, 1fr) minmax(8rem, 0.45fr) auto;
  max-width: 68rem;
  padding: var(--bn-gutter);
}

.timeline-filter-form label {
  display: grid;
  gap: 0.28rem;
  margin: 0;
  min-width: 0;
}

.timeline-filter-form span {
  color: var(--bn-muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.timeline-filter-form input,
.timeline-filter-form select {
  background: #f5f7f9;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  color: var(--bn-ink);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  min-height: 2.35rem;
  min-width: 0;
  padding: 0.45rem 0.55rem;
}

.timeline-filter-form input:focus,
.timeline-filter-form select:focus {
  border-color: var(--bn-red);
  box-shadow: 0 0 0 0.12rem rgba(204, 0, 0, 0.13);
  outline: none;
}

.timeline-filter-form button {
  align-items: center;
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  display: inline-flex;
  gap: 0.4rem;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 900;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.85rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.timeline-filter-form button:hover,
.timeline-filter-form button:focus {
  background: var(--bn-red-dark);
}

.timeline-stats {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 2rem;
}

.timeline-stats article {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  padding: 1rem;
}

.timeline-stats span {
  color: var(--bn-red);
  display: block;
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(1.65rem, 3vw, 2.7rem);
  font-weight: 900;
  line-height: 0.95;
}

.timeline-stats p {
  color: var(--bn-muted);
  font-size: 0.76rem;
  font-weight: 900;
  margin: 0.25rem 0 0;
  text-transform: uppercase;
}

.timeline-list {
  display: grid;
  gap: 0.85rem;
}

.timeline-event {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(7.2rem, 0.26fr) minmax(0, 1fr);
  padding: 1rem;
}

.timeline-event-time {
  border-right: 1px solid var(--bn-line);
  display: grid;
  gap: 0.28rem;
  padding-right: 1rem;
}

.timeline-event-time time {
  color: var(--bn-red);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.05;
}

.timeline-event-time span,
.timeline-event-main p,
.timeline-event-main small,
.timeline-loading {
  color: var(--bn-muted);
  font-size: 0.8rem;
  font-weight: 800;
}

.timeline-event-main h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(1.15rem, 1.8vw, 1.65rem);
  font-weight: 900;
  line-height: 1.08;
  margin: 0.15rem 0 0.35rem;
}

.timeline-event-main a {
  text-decoration: none;
}

.timeline-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.7rem;
}

.timeline-pill-list span {
  background: #f4f6f8;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-ink);
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 900;
  padding: 0.28rem 0.52rem;
}

.home-hero-grid {
  display: grid;
  align-items: stretch;
  gap: var(--bn-gutter);
  grid-template-columns: minmax(0, 2fr) minmax(230px, 0.95fr) minmax(270px, 0.95fr);
  margin-bottom: var(--bn-gutter);
  min-width: 0;
  width: 100%;
}

.lead-column,
.stack-column,
.breaking-panel,
.story-copy,
.latest-item > div,
.related-item > div {
  min-width: 0;
}

.lead-column {
  display: grid;
}

.headline-cycle {
  display: grid;
  gap: 0;
  height: 100%;
  position: relative;
}

.headline-slides {
  height: 100%;
  min-width: 0;
}

.headline-slide,
.headline-slide .lead-story {
  height: 100%;
}

.headline-slide[hidden] {
  display: none;
}

.headline-controls {
  align-items: center;
  background: rgba(7, 11, 16, 0.56);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  box-shadow: 0 0.65rem 1.4rem rgba(0, 0, 0, 0.18);
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.24rem;
  position: absolute;
  right: 0.8rem;
  top: 0.8rem;
  z-index: 4;
}

.headline-arrow,
.headline-dot {
  appearance: none;
  border: 0;
  cursor: pointer;
  flex: 0 0 auto;
  padding: 0;
}

.headline-arrow {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.72rem;
  height: 1.75rem;
  justify-content: center;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
  width: 1.75rem;
}

.headline-arrow:hover,
.headline-arrow:focus {
  background: #ffffff;
  color: var(--bn-red);
  outline: none;
  transform: translateY(-1px);
}

.headline-dots {
  align-items: center;
  display: inline-flex;
  gap: 0.32rem;
  padding: 0 0.2rem;
}

.headline-dot {
  background: rgba(255, 255, 255, 0.46);
  border-radius: 999px;
  height: 0.42rem;
  transition: background 160ms ease, opacity 160ms ease, width 160ms ease;
  width: 0.42rem;
}

.headline-dot:hover,
.headline-dot:focus {
  background: rgba(255, 255, 255, 0.82);
  outline: none;
}

.headline-dot.is-active,
.headline-dot[aria-current="true"] {
  background: #ffffff;
  width: 1.08rem;
}

.stack-column {
  display: grid;
  gap: var(--bn-gutter);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.overlay-story {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  color: var(--bn-ink);
  display: block;
  overflow: hidden;
  position: relative;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.overlay-story .story-media {
  display: block;
  height: 100%;
  min-height: 15rem;
  position: relative;
}

.overlay-story .story-media::after {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0.22) 38%, rgba(0, 0, 0, 0.88) 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.overlay-story .story-media img {
  display: block;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  transition: transform 320ms ease;
  width: 100%;
}

.overlay-story .story-copy {
  bottom: 0;
  color: #ffffff;
  left: 0;
  padding: clamp(1rem, 3vw, 1.55rem);
  position: absolute;
  right: 0;
  z-index: 2;
}

.overlay-story .source,
.overlay-story .meta,
.overlay-story p {
  color: rgba(255, 255, 255, 0.82);
}

.story-badge {
  background: var(--bn-red);
  border-radius: 3px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 900;
  margin-bottom: 0.55rem;
  padding: 0.26rem 0.5rem;
  text-transform: uppercase;
}

.lead-story h1 {
  font-size: clamp(1.85rem, 3vw, 2.85rem);
  margin-bottom: 0.75rem;
  overflow-wrap: anywhere;
}

.stack-story h2 {
  font-size: 1.32rem;
  font-weight: 700;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.overlay-story a {
  color: #ffffff;
}

.overlay-story a:hover {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.58);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.overlay-story a:focus {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.58);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.overlay-story h1 a:hover,
.overlay-story h1 a:focus,
.overlay-story h2 a:hover,
.overlay-story h2 a:focus {
  color: #ffffff;
}

.overlay-story:hover,
.overlay-story:focus-within {
  box-shadow: 0 0.65rem 1.3rem rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

.overlay-story:hover .story-media img,
.overlay-story:focus-within .story-media img {
  transform: scale(1.045);
}

.lead-story .story-media {
  min-height: clamp(28rem, 48vw, 41rem);
}

.stack-story .story-media {
  min-height: 100%;
}

.breaking-panel,
.story-card,
.latest-item,
.article-weight-panel,
.related-panel,
.source-record,
.article-feature {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  box-shadow: 0 0.45rem 1rem rgba(17, 24, 32, 0.05);
  overflow: hidden;
}

.article-weight-panel.article-weight-system {
  border-radius: 8px;
  box-shadow: 0 0.45rem 1.15rem rgba(17, 24, 39, 0.08);
}

.breaking-panel {
  padding: 1.5rem;
  width: 100%;
}

.panel-title,
.section-heading {
  align-items: center;
  border-bottom: 2px solid var(--bn-line);
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--bn-gutter);
  padding-bottom: 0.65rem;
}

.panel-title h2,
.section-heading h2,
.related-panel h2 {
  color: var(--bn-ink);
  font-size: 1rem;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
}

.panel-title h2::after,
.section-heading h2::after,
.related-panel h2::after {
  background: var(--bn-red);
  content: "";
  display: block;
  height: 2px;
  margin-top: 0.55rem;
  width: 3rem;
}

.panel-title a,
.section-heading a {
  color: var(--bn-red);
  font-weight: 900;
  text-decoration: none;
}

.breaking-item {
  border-top: 1px solid var(--bn-line);
  min-width: 0;
  padding: 0.95rem 0;
}

.breaking-item:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.breaking-item p,
.latest-item p,
.related-item p {
  color: var(--bn-red);
  font-size: 0.72rem;
  font-weight: 900;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.breaking-item h3,
.latest-item h3,
.related-item h3 {
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.18;
  margin: 0;
  overflow-wrap: anywhere;
}

.breaking-item h3 a,
.latest-item h3 a,
.related-item h3 a,
.lead-story h1 a,
.stack-story h2 a,
.story-card h2 a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.breaking-item a,
.latest-item a,
.related-item a,
.story-card a {
  text-decoration: none;
}

.breaking-item a:hover,
.latest-item a:hover,
.related-item a:hover,
.story-card a:hover {
  color: var(--bn-hover);
}

.breaking-item span,
.latest-item span,
.related-item span {
  color: var(--bn-muted);
  display: block;
  font-size: 0.78rem;
  margin-top: 0.45rem;
}

.related-reasons {
  color: var(--bn-muted);
  display: block;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.3;
  margin-top: 0.35rem;
}

.related-match-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.5rem;
}

.related-match-tags span {
  background: #f4f6f8;
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-ink) !important;
  display: inline-flex;
  font-size: 0.66rem !important;
  font-weight: 900;
  margin-top: 0;
  padding: 0.18rem 0.42rem;
  text-transform: uppercase;
}

.section-heading {
  border-bottom-color: var(--bn-ink);
  margin-bottom: var(--bn-gutter);
  margin-top: var(--bn-gutter);
}

.story-card {
  height: 100%;
}

.story-card .story-media img {
  aspect-ratio: 16 / 10;
}

.story-card .story-copy {
  padding: 1rem;
}

.story-card h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: 1.55rem;
  overflow-wrap: anywhere;
}

.story-card-wide {
  display: block;
  min-height: clamp(20rem, 34vw, 28rem);
  position: relative;
}

.story-card-wide .story-media {
  inset: 0;
  min-height: 100%;
  position: absolute;
}

.story-card-wide .story-media img {
  aspect-ratio: auto;
  height: 100%;
}

.story-card-wide .story-copy {
  align-content: end;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 8%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.9) 100%);
  bottom: 0;
  color: #ffffff;
  display: grid;
  inset: auto 0 0;
  min-height: 72%;
  padding: clamp(1rem, 2vw, 1.45rem);
  position: absolute;
  z-index: 2;
}

.story-card-wide .source,
.story-card-wide .meta,
.story-card-wide p {
  color: rgba(255, 255, 255, 0.82);
}

.story-card-wide a {
  color: #ffffff;
}

.story-card-wide a:hover,
.story-card-wide a:focus {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.58);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.story-card.story-card-wide h2 a:hover,
.story-card.story-card-wide h2 a:focus {
  color: #ffffff;
}

.story-card-wide h2 {
  color: #ffffff;
  font-size: clamp(1.55rem, 2.2vw, 2.2rem);
}

.latest-heading {
  margin-top: var(--bn-gutter);
}

.latest-list {
  display: grid;
  gap: var(--bn-gutter);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.latest-item,
.related-item {
  display: grid;
  gap: var(--bn-gutter);
  grid-template-columns: 7.5rem minmax(0, 1fr);
  padding: 0.75rem;
}

.latest-thumb {
  background:
    linear-gradient(135deg, rgba(17, 17, 17, 0.04), rgba(17, 17, 17, 0.18)),
    radial-gradient(circle at 22% 18%, rgba(204, 0, 0, 0.16), transparent 31%),
    #dfe4ea;
  border-radius: 4px;
  display: block;
  overflow: hidden;
  position: relative;
}

.latest-thumb img {
  aspect-ratio: 4 / 3;
  display: block;
  height: 100%;
  object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 1;
}

[data-admin-image-target] {
  position: relative;
}

.bn-admin-image-button {
  align-items: center;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  box-shadow: 0 0.55rem 1.2rem rgba(0, 0, 0, 0.24);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  gap: 0.35rem;
  min-height: 2rem;
  opacity: 0;
  padding: 0.35rem 0.6rem;
  position: absolute;
  right: 0.55rem;
  text-transform: uppercase;
  top: 0.55rem;
  transform: translateY(-0.25rem);
  transition: background 160ms ease, opacity 160ms ease, transform 160ms ease;
  z-index: 8;
}

[data-admin-image-target]:hover .bn-admin-image-button,
[data-admin-image-target]:focus-within .bn-admin-image-button,
.bn-admin-image-button:focus {
  opacity: 1;
  transform: translateY(0);
}

.bn-admin-image-button:hover,
.bn-admin-image-button:focus {
  background: var(--bn-red);
  color: #ffffff;
}

.bn-admin-image-modal[hidden] {
  display: none !important;
}

.bn-admin-image-modal {
  background: rgba(10, 12, 16, 0.66);
  display: grid;
  inset: 0;
  padding: 1rem;
  place-items: center;
  position: fixed;
  z-index: 1000;
}

.bn-admin-image-dialog {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.34);
  color: var(--bn-ink);
  display: grid;
  gap: 1rem;
  max-width: 680px;
  padding: 1rem;
  width: min(100%, 680px);
}

.bn-admin-image-dialog header {
  align-items: start;
  border-bottom: 1px solid var(--bn-line);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 0.75rem;
}

.bn-admin-image-dialog h2 {
  font-size: 1.2rem;
  margin: 0;
}

.bn-admin-image-dialog p {
  color: var(--bn-muted);
  margin: 0.2rem 0 0;
}

.bn-admin-image-dialog textarea {
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  color: var(--bn-ink);
  font: inherit;
  min-height: 9rem;
  padding: 0.75rem;
  resize: vertical;
  width: 100%;
}

.bn-admin-image-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.bn-admin-image-actions button {
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 900;
  min-height: 2.45rem;
  padding: 0.55rem 0.85rem;
  text-transform: uppercase;
}

.bn-admin-image-actions button[type="button"],
.bn-admin-image-close {
  background: #eef1f5;
  color: var(--bn-ink);
}

.bn-admin-image-actions button[type="submit"] {
  background: var(--bn-red);
  color: #ffffff;
}

.bn-admin-image-actions button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.bn-admin-image-close {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 2rem;
  width: 2rem;
}

.bn-admin-image-status {
  color: var(--bn-muted);
  font-size: 0.84rem;
  font-weight: 800;
  margin-right: auto;
}

.article-page {
  padding-bottom: 5rem;
  padding-top: 0.7rem;
}

.article-layout {
  align-items: start;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 0.95fr);
}

.article-feature {
  overflow: visible;
}

.article-image {
  margin: 0;
  overflow: hidden;
}

.article-image img {
  aspect-ratio: auto;
  border-radius: 4px 4px 0 0;
  height: clamp(18rem, 42vh, 25rem);
  max-height: none;
  object-fit: cover;
  object-position: center 44%;
}

.article-image figcaption {
  padding: 0 1.25rem;
}

.article-header {
  border-bottom: 0;
  margin: 0;
  padding: clamp(1.1rem, 3vw, 1.7rem);
}

.article-header h1 {
  font-size: clamp(2rem, 3.6vw, 3.55rem);
}

.article-body {
  background: #ffffff;
  border-left: 0;
  border-radius: 0 0 4px 4px;
  max-width: none;
  padding: clamp(1.1rem, 3vw, 1.9rem);
}

.article-body p,
.article-body li {
  font-size: 1.08rem;
  line-height: 1.72;
}

.article-term-link {
  background: linear-gradient(to top, rgba(204, 0, 0, 0.12) 0 36%, transparent 36% 100%);
  color: var(--bn-ink);
  font-weight: 700;
  text-decoration: none;
}

.article-term-link:hover,
.article-term-link:focus {
  color: var(--bn-hover);
  text-decoration: underline;
  text-decoration-thickness: 0.09em;
  text-underline-offset: 0.16em;
}

.article-sidebar {
  display: grid;
  gap: 1rem;
  position: sticky;
  top: 1rem;
}

.source-record {
  padding: 1rem;
}

.related-panel {
  padding: 1.25rem;
}

.related-panel {
  display: grid;
  gap: 0.9rem;
}

.related-item {
  border: 1px solid var(--bn-line);
  border-radius: 4px;
}

.page-shell {
  padding-bottom: 5rem;
  padding-top: 1.5rem;
}

.page-hero,
.content-panel,
.info-card,
.contact-card,
.not-found-panel {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
}

.page-hero {
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 4vw, 2.25rem);
}

.page-hero h1,
.content-panel h2,
.not-found-panel h1 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-weight: 900;
}

.page-hero h1 {
  font-size: clamp(2.2rem, 5vw, 4.6rem);
  margin: 0 0 0.75rem;
  max-width: 920px;
}

.page-hero p,
.content-panel p,
.info-card p,
.contact-card p,
.not-found-panel p {
  color: var(--bn-muted);
}

.page-hero p {
  font-size: clamp(1rem, 2vw, 1.2rem);
  margin: 0;
  max-width: 760px;
}

.info-grid,
.contact-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}

.info-card,
.contact-card {
  padding: 1.25rem;
}

.info-card i,
.contact-card i {
  color: var(--bn-red);
  font-size: 1.35rem;
  margin-bottom: 0.85rem;
}

.info-card h2,
.contact-card h2 {
  font-size: 1rem;
  font-weight: 900;
  text-transform: uppercase;
}

.contact-card a {
  color: var(--bn-red);
  font-weight: 900;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.contact-layout {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  margin-bottom: 1.5rem;
}

.contact-form,
.contact-side {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.contact-form {
  display: grid;
  gap: 1rem;
}

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

.contact-field {
  display: grid;
  gap: 0.42rem;
}

.contact-field span {
  color: var(--bn-muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.contact-field input,
.contact-field textarea {
  background: #f8f8f8;
  border: 1px solid #edf0f3;
  border-radius: 4px;
  color: var(--bn-ink);
  font: inherit;
  min-height: 2.65rem;
  outline: 0;
  padding: 0.65rem 0.75rem;
  width: 100%;
}

.contact-field textarea {
  min-height: 11rem;
  resize: vertical;
}

.contact-field input:focus,
.contact-field textarea:focus {
  background: #ffffff;
  border-color: var(--bn-red);
  box-shadow: 0 0 0 0.2rem rgba(219, 0, 0, 0.1);
}

.contact-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.contact-actions button {
  align-items: center;
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  display: inline-flex;
  font-weight: 900;
  gap: 0.45rem;
  min-height: 2.7rem;
  padding: 0 1rem;
  text-transform: uppercase;
}

.contact-actions button:hover,
.contact-actions button:focus {
  background: var(--bn-hover);
}

.contact-actions button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.contact-actions p {
  color: var(--bn-muted);
  font-weight: 800;
  margin: 0;
}

.contact-actions p.success {
  color: #0b746d;
}

.contact-actions p.error {
  color: var(--bn-red);
}

.contact-side {
  display: grid;
  gap: 0.6rem;
}

.contact-side h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-weight: 900;
  margin: 0;
}

.contact-side p {
  color: var(--bn-muted);
  margin: 0;
}

.contact-side a {
  color: var(--bn-red);
  font-weight: 900;
  text-decoration: none;
}

.contact-honeypot {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.content-panel {
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 4vw, 2rem);
}

.two-column-panel {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
}

.process-list {
  display: grid;
  gap: 0.8rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.process-list li {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 2rem minmax(0, 1fr);
}

.process-list span {
  align-items: center;
  background: var(--bn-red);
  border-radius: 4px;
  color: #ffffff;
  display: inline-flex;
  font-weight: 900;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.process-list p {
  margin: 0;
}

.story-request-layout {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1.4fr) minmax(17rem, 0.6fr);
}

.story-request-form,
.story-request-side {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.story-request-form {
  display: grid;
  gap: 1rem;
}

.story-request-form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.story-request-field {
  display: grid;
  gap: 0.42rem;
}

.story-request-field span,
.story-request-tags legend {
  color: var(--bn-muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.story-request-field input,
.story-request-field textarea {
  background: #f8f8f8;
  border: 1px solid #edf0f3;
  border-radius: 4px;
  color: var(--bn-ink);
  font: inherit;
  min-height: 2.65rem;
  outline: 0;
  padding: 0.65rem 0.75rem;
  width: 100%;
}

.story-request-field textarea {
  min-height: 8rem;
  resize: vertical;
}

.story-request-field input:focus,
.story-request-field textarea:focus {
  background: #ffffff;
  border-color: var(--bn-red);
  box-shadow: 0 0 0 0.2rem rgba(219, 0, 0, 0.1);
}

.story-request-tags {
  border: 0;
  margin: 0;
  padding: 0;
}

.story-request-tag-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0.55rem;
}

.story-request-tag {
  align-items: start;
  border: 1px solid #edf0f3;
  border-radius: 4px;
  cursor: pointer;
  display: grid;
  gap: 0.12rem 0.55rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0.62rem;
}

.story-request-tag input {
  accent-color: var(--bn-red);
  margin-top: 0.18rem;
}

.story-request-tag span {
  font-size: 0.92rem;
  font-weight: 900;
  line-height: 1.08;
}

.story-request-tag small {
  color: var(--bn-muted);
  font-size: 0.72rem;
  font-weight: 800;
  grid-column: 2;
  text-transform: uppercase;
}

.story-request-captcha {
  min-height: 4.9rem;
}

.story-request-captcha.is-score {
  min-height: 0;
}

.story-request-captcha-note {
  background: #f7f8fa;
  border: 1px solid var(--bn-border);
  border-radius: 6px;
  color: var(--bn-muted);
  font-size: 0.9rem;
  margin: 0;
  padding: 0.85rem 1rem;
}

.story-request-warning,
.story-request-empty {
  color: var(--bn-muted);
  margin: 0;
}

.story-request-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.story-request-actions button {
  background: var(--bn-red);
  border: 0;
  border-radius: 4px;
  color: #ffffff;
  font-weight: 900;
  min-height: 2.7rem;
  padding: 0 1rem;
  text-transform: uppercase;
}

.story-request-actions button:hover,
.story-request-actions button:focus {
  background: var(--bn-hover);
}

.story-request-actions button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.story-request-actions p {
  color: var(--bn-muted);
  font-weight: 800;
  margin: 0;
}

.story-request-actions p.success {
  color: #0b746d;
}

.story-request-actions p.error {
  color: var(--bn-red);
}

.story-request-side {
  display: grid;
  gap: 0.6rem;
}

.story-request-side h2 {
  font-size: 1.25rem;
  font-weight: 900;
  margin: 0;
}

.story-request-side p {
  color: var(--bn-muted);
  margin: 0;
}

.story-request-side a {
  color: var(--bn-red);
  font-weight: 900;
  text-decoration: none;
}

.story-request-honeypot {
  height: 1px;
  left: -10000px;
  position: absolute;
  top: auto;
  width: 1px;
}

.about-latest,
.category-list {
  margin-bottom: 1.5rem;
}

.archive-summary {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}

.archive-summary article {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  padding: 1rem;
}

.archive-summary span,
.archive-row-date span,
.archive-row-stats small {
  color: var(--bn-muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.archive-summary strong {
  display: block;
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1;
  margin-top: 0.3rem;
}

.archive-toolbar {
  align-items: end;
  border-bottom: 2px solid var(--bn-ink);
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.25rem;
  padding-bottom: 0.65rem;
}

.archive-toolbar h2 {
  font-size: 1rem;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
}

.archive-toolbar a {
  color: var(--bn-red);
  font-size: 0.82rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.archive-list {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  margin-bottom: 1rem;
}

.source-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.source-logo-frame {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 8px;
  display: inline-flex;
  height: 4.5rem;
  justify-content: center;
  margin: 0.4rem 0 0.9rem;
  max-width: 14rem;
  padding: 0.75rem 1rem;
}

.source-logo-frame img {
  display: block;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.source-method-panel {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
}

.source-method-panel h2,
.source-profile-panel h2,
.source-reference-heading h2 {
  font-size: 1.05rem;
  font-weight: 900;
  margin: 0 0 0.65rem;
  text-transform: uppercase;
}

.source-method-list,
.source-mention-cloud,
.source-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.source-method-list span,
.source-mention-cloud span,
.source-chip-list span {
  background: #f2f5f8;
  border: 1px solid #dfe5ec;
  border-radius: 999px;
  color: var(--bn-ink);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 900;
  gap: 0.32rem;
  padding: 0.28rem 0.55rem;
  text-transform: uppercase;
}

.source-directory-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}

.source-directory-card,
.source-profile-panel {
  background: #ffffff;
  border: 1px solid var(--bn-line);
  border-radius: 6px;
  min-width: 0;
  padding: 1rem;
}

.source-card-header {
  align-items: start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.source-card-header p {
  color: var(--bn-red);
  font-size: 0.72rem;
  font-weight: 900;
  margin: 0 0 0.22rem;
  text-transform: uppercase;
}

.source-card-header h2 {
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.12;
  margin: 0;
}

.source-card-header a,
.source-card-actions a,
.source-data-table a,
.source-hero-actions a {
  color: var(--bn-ink);
  text-decoration: none;
}

.source-card-header a:hover,
.source-card-header a:focus,
.source-card-actions a:hover,
.source-card-actions a:focus,
.source-data-table a:hover,
.source-data-table a:focus,
.source-hero-actions a:hover,
.source-hero-actions a:focus {
  color: var(--bn-hover);
}

.source-bias-badge {
  border: 1px solid #dce3eb;
  border-radius: 4px;
  flex: 0 0 auto;
  font-size: 0.7rem;
  font-weight: 900;
  padding: 0.25rem 0.42rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.source-bias-badge.tone-left {
  background: #e8f2ff;
  color: #1f5f9f;
}

.source-bias-badge.tone-center,
.source-bias-badge.tone-mixed {
  background: #f4f6f8;
  color: var(--bn-ink);
}

.source-bias-badge.tone-right {
  background: #fff0f0;
  color: #a20d0d;
}

.source-bias-badge.tone-unrated {
  background: #f2f5f8;
  color: var(--bn-muted);
}

.source-card-details,
.source-profile-list,
.source-bias-detail dl {
  display: grid;
  gap: 0.55rem;
  margin: 0.85rem 0 0;
}

.source-card-details div,
.source-profile-list div,
.source-bias-detail dl div {
  border-top: 1px solid #edf1f5;
  display: grid;
  gap: 0.35rem;
  grid-template-columns: minmax(6rem, 0.62fr) minmax(0, 1fr);
  padding-top: 0.55rem;
}

.source-card-details dt,
.source-profile-list dt,
.source-bias-detail dt {
  color: var(--bn-muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.source-card-details dd,
.source-profile-list dd,
.source-bias-detail dd {
  font-weight: 800;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.unknown-value {
  color: var(--bn-muted);
  font-weight: 800;
}

.source-card-actions,
.source-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.9rem;
}

.source-card-actions a,
.source-hero-actions a {
  border: 1px solid var(--bn-line);
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 0.35rem 0.55rem;
  text-transform: uppercase;
}

.source-profile-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}

.source-bias-detail p,
.source-empty-note,
.source-reference-heading p {
  color: var(--bn-muted);
  margin: 0.65rem 0 0;
}

.source-reference-heading {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.source-reference-heading p {
  max-width: 520px;
  text-align: right;
}

.source-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.source-data-table {
  border-collapse: collapse;
  min-width: 680px;
  width: 100%;
}

.source-reference-table {
  min-width: 980px;
}

.source-data-table th,
.source-data-table td {
  border-top: 1px solid #edf1f5;
  padding: 0.55rem;
  text-align: left;
  vertical-align: top;
}

.source-data-table th {
  color: var(--bn-muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.source-data-table td {
  font-size: 0.84rem;
  font-weight: 800;
}

.source-data-table small {
  color: var(--bn-muted);
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  margin-top: 0.25rem;
}

.archive-row {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(8.5rem, 0.45fr) minmax(0, 1.8fr) minmax(5.5rem, 0.3fr);
  padding: 1rem;
}

.archive-row + .archive-row {
  border-top: 1px solid var(--bn-line);
}

.archive-row-date time {
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
  margin-top: 0.25rem;
}

.archive-row-kicker {
  color: var(--bn-red);
  font-size: 0.72rem;
  font-weight: 900;
  margin: 0 0 0.25rem;
  text-transform: uppercase;
}

.archive-row h2 {
  font-family: "Signika", "Roboto", Arial, Helvetica, sans-serif;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-weight: 900;
  line-height: 1.12;
  margin: 0;
  overflow-wrap: anywhere;
}

.archive-row h2 a {
  text-decoration: none;
}

.archive-row h2 a:hover,
.archive-row h2 a:focus {
  color: var(--bn-hover);
}

.archive-row-dek {
  color: var(--bn-muted);
  margin: 0.45rem 0 0;
}

.archive-row-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.65rem;
}

.archive-row-tags a {
  border: 1px solid var(--bn-line);
  border-radius: 999px;
  color: var(--bn-muted);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 0.12rem 0.5rem;
  text-decoration: none;
}

.archive-row-tags a:hover,
.archive-row-tags a:focus {
  border-color: var(--bn-hover);
  color: var(--bn-hover);
}

.archive-row-stats {
  align-content: start;
  display: grid;
  gap: 0.1rem;
  justify-items: end;
  text-align: right;
}

.archive-row-stats span {
  font-size: 1.15rem;
  font-weight: 900;
}

.archive-sentinel,
.archive-loading {
  color: var(--bn-muted);
  font-weight: 800;
  padding: 1rem;
  text-align: center;
}

.archive-sentinel-done {
  padding-bottom: 0;
}

.category-feature {
  margin-bottom: 1.5rem;
}

.category-feature .lead-story {
  max-width: none;
}

.not-found-page {
  align-items: center;
  display: grid;
  min-height: 52vh;
  padding: clamp(1rem, 5vw, 3rem);
}

.not-found-panel {
  margin: 0 auto;
  max-width: 720px;
  padding: clamp(1.5rem, 5vw, 3rem);
  text-align: center;
}

.not-found-panel h1 {
  font-size: clamp(2.4rem, 6vw, 5rem);
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.25rem;
}

.primary-link,
.secondary-link {
  align-items: center;
  border-radius: 4px;
  display: inline-flex;
  font-weight: 900;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  text-decoration: none;
}

.primary-link {
  background: var(--bn-red);
  color: #ffffff;
}

.secondary-link {
  border: 1px solid var(--bn-line);
  color: var(--bn-ink);
}

@media (max-width: 991.98px) {
  .site-header .container-xxl {
    min-height: 4.5rem;
  }

  .navbar-nav {
    align-items: stretch !important;
    gap: 0.15rem;
    padding-bottom: 0.75rem;
  }

  .navbar .nav-link {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-menu .container-xxl {
    min-height: 2.85rem;
  }

  .navbar-toggler {
    display: inline-flex !important;
    position: absolute;
    right: var(--bn-gutter);
    top: 50%;
    transform: translateY(-50%);
  }

  .mobile-search-toggle {
    display: inline-flex;
    margin-left: auto;
    margin-right: 2.65rem;
  }

  .navbar-brand {
    max-width: calc(100vw - 7.75rem);
    padding-right: 0;
  }

  .brand-lockup-image {
    max-width: 100%;
    width: min(9.6rem, 54vw);
  }

  .brand-wordmark-image {
    max-width: min(112px, 42vw);
    width: min(112px, 42vw);
  }

  .template-menu .navbar-collapse {
    background: #ffffff;
    border-top: 1px solid var(--bn-line);
    margin-top: 0.75rem;
    padding: 0.75rem 0 1rem;
    width: 100%;
  }

  .template-menu .navbar-nav {
    gap: 0;
  }

  .primary-nav-wrap {
    align-items: stretch;
  }

  .primary-nav-list {
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
  }

  .primary-nav-link {
    border-bottom: 1px solid #edf1f5;
    justify-content: flex-start;
    min-height: 2.42rem;
    padding: 0 0.15rem;
    width: 100%;
  }

  .primary-nav-link::after {
    display: none;
  }

  .template-menu .nav-link {
    justify-content: space-between;
    min-height: 2.5rem;
    width: 100%;
  }

  .header-search-form {
    flex: 1 1 100%;
    width: 100%;
  }

  .template-menu .header-search-wrap {
    left: 0;
    right: 0;
    top: 100%;
  }

  .search-mega-layout {
    grid-template-columns: 1fr;
  }

  .search-mega-main {
    order: 1;
  }

  .search-mega-tools {
    order: 2;
  }

  .search-mega-tools {
    border-right: 0;
    border-top: 1px solid #f0f1f3;
    padding-right: 0;
    padding-top: 1rem;
  }

  .mega-search-refine {
    display: block;
  }

  .mega-search-refine summary {
    align-items: center;
    background: #f6f6f6;
    border: 1px solid #f0f1f3;
    border-radius: 4px;
    color: var(--bn-ink);
    cursor: pointer;
    display: flex;
    font-weight: 900;
    justify-content: space-between;
    list-style: none;
    min-height: 2.65rem;
    padding: 0 0.75rem;
    text-transform: uppercase;
  }

  .mega-search-refine summary::-webkit-details-marker {
    display: none;
  }

  .mega-search-refine-body {
    display: grid;
    gap: var(--bn-gutter);
    margin-top: var(--bn-gutter);
  }

  .mega-search-refine:not([open]) .mega-search-refine-body {
    display: none;
  }

  .mega-search-refine-body h3 {
    display: none;
  }

  .search-mega-panel .mega-search-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .search-mega-panel .mega-search-result {
    grid-template-columns: 5.75rem minmax(0, 1fr);
  }

  .home-hero-grid,
  .article-layout,
  .timeline-filter-form {
    grid-template-columns: 1fr;
  }

  .home-live-panel {
    grid-template-columns: 1fr;
  }

  .home-location-form {
    border-right: 0;
    border-bottom: 1px solid var(--bn-line);
    padding-bottom: 0.5rem;
    padding-right: 0;
  }

  .home-weather-days,
  .home-market-quotes {
    grid-column: 1 / -1;
  }

  .home-market-quotes {
    border-left: 0;
    border-top: 1px solid var(--bn-line);
    padding-left: 0;
    padding-top: 0.5rem;
  }

  .location-story {
    grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr);
  }

  .breaking-panel {
    order: 3;
  }

  .lead-story h1 {
    font-size: clamp(1.75rem, 7vw, 2.5rem);
  }

  .article-sidebar {
    position: static;
  }

  .mega-search-panel {
    left: 0.75rem;
    right: 0.75rem;
    width: auto;
  }

  .mega-search-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-summary,
  .source-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .source-method-panel,
  .source-profile-grid,
  .contact-layout,
  .story-request-layout {
    grid-template-columns: 1fr;
  }

  .story-request-tag-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .source-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .source-reference-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .source-reference-heading p {
    text-align: left;
  }

  .archive-row {
    grid-template-columns: minmax(7rem, 0.5fr) minmax(0, 1.6fr);
  }

  .archive-row-stats {
    grid-column: 2;
    justify-items: start;
    text-align: left;
  }

  .footer-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-follow {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .footer-follow-actions {
    justify-items: start;
  }

  .footer-social-group,
  .footer-app-group {
    justify-content: flex-start;
  }

  .info-grid,
  .contact-grid,
  .two-column-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .container-xxl,
  .page-hero,
  .location-hero,
  .location-set-form,
  .timeline-hero,
  .timeline-filter-form,
  .home-hero-grid,
  .lead-column,
  .stack-column,
  .breaking-panel,
  .breaking-item,
  .story-copy,
  .latest-item,
  .related-item {
    max-width: 100%;
    min-width: 0;
  }

  .site-topbar .container-xxl {
    align-items: center;
    flex-direction: row;
    gap: 0.45rem;
    min-height: 1.55rem;
    padding-bottom: 0.18rem;
    padding-top: 0.18rem;
  }

  .topbar-links {
    display: none;
  }

  .breaking-news {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .ticker-track {
    padding-left: 0;
    width: 100%;
  }

  .ticker-track ul {
    gap: 1.35rem;
  }

  .ticker-track li {
    font-size: 0.72rem;
    line-height: 1.05;
  }

  .site-header .container-xxl,
  .template-menu .container-xxl {
    min-height: 3.15rem;
  }

  .template-menu .container-xxl {
    gap: 0.45rem;
  }

  .navbar-toggler,
  .mobile-search-toggle {
    height: 2.05rem;
    width: 2.05rem;
  }

  .navbar-toggler {
    right: 0.65rem;
  }

  .mobile-search-toggle {
    margin-right: 2.35rem;
  }

  .navbar-toggler-icon {
    height: 1.25rem;
    width: 1.25rem;
    background:
      linear-gradient(currentColor, currentColor) 50% 29% / 1.08rem 0.11rem no-repeat,
      linear-gradient(currentColor, currentColor) 50% 50% / 1.08rem 0.11rem no-repeat,
      linear-gradient(currentColor, currentColor) 50% 71% / 1.08rem 0.11rem no-repeat;
  }

  .brand-lockup-image {
    width: min(8.8rem, 48vw);
  }

  .brand-wordmark-image {
    max-width: min(104px, 38vw);
    width: min(104px, 38vw);
  }

  .mobile-account-link {
    display: list-item;
  }

  .mobile-account-link .primary-nav-link {
    color: var(--bn-red);
  }

  .headline-controls {
    right: 0.62rem;
    top: 0.62rem;
  }

  .headline-arrow {
    height: 1.55rem;
    width: 1.55rem;
  }

  .headline-dot {
    height: 0.36rem;
    width: 0.36rem;
  }

  .headline-dot.is-active,
  .headline-dot[aria-current="true"] {
    width: 0.92rem;
  }

  .template-menu .header-search-wrap {
    left: 0;
    position: static;
    right: 0;
    width: 100%;
  }

  .template-menu .header-search-wrap .mega-search-panel {
    border-radius: 0 0 4px 4px;
    box-shadow: none;
    margin-top: 0;
    padding: 0;
    position: static;
    width: 100%;
  }

  .search-mega-layout {
    gap: var(--bn-gutter);
    padding: var(--bn-gutter);
  }

  .search-mega-panel .mega-search-filters {
    grid-template-columns: 1fr;
  }

  .search-mega-panel .mega-search-result {
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  .mega-search-result-media {
    min-height: 3.75rem;
  }

  .brand-text {
    font-size: 1.22rem;
  }

  .brand-mark {
    height: 26px;
    width: 26px;
  }

  .home-live-panel,
  .location-stats,
  .location-story,
  .location-forecast,
  .timeline-stats,
  .timeline-event {
    grid-template-columns: 1fr;
  }

  .news-home,
  .news-home > .container-xxl,
  .home-live-panel,
  .home-hero-grid,
  .story-grid,
  .latest-list {
    max-width: 100vw;
    min-width: 0;
    overflow-x: hidden;
    width: 100vw;
  }

  .home-live-panel,
  .home-hero-grid,
  .lead-column,
  .stack-column,
  .breaking-panel,
  .story-grid,
  .latest-list {
    justify-self: start;
    max-width: calc(100vw - (var(--bn-gutter) * 2));
    min-width: 0;
    overflow-x: hidden;
    width: calc(100vw - (var(--bn-gutter) * 2));
  }

  .home-weather-days {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-market-quotes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-location-form,
  .location-story-distance,
  .timeline-event-time {
    border-right: 0;
    border-bottom: 1px solid var(--bn-line);
    padding-bottom: 0.55rem;
    padding-right: 0;
  }

  .home-weather-days,
  .location-forecast {
    gap: 0.34rem;
    max-width: 100%;
    min-width: 0;
  }

  .home-market-quotes {
    gap: 0.34rem;
    padding-top: 0.38rem;
  }

  .home-location-form {
    padding-bottom: 0.38rem;
  }

  .home-location-form input {
    font-size: 0.72rem;
    min-height: 1.58rem;
    padding: 0.2rem 0.42rem;
  }

  .home-location-form button {
    font-size: 0.64rem;
    min-height: 1.58rem;
    padding: 0.2rem 0.46rem;
  }

  .weather-day {
    background-image: linear-gradient(112deg, rgba(4, 24, 36, 0.78) 0%, rgba(18, 101, 124, 0.36) 48%, rgba(3, 16, 25, 0.82) 100%), var(--weather-photo);
    column-gap: 0.24rem;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    min-height: 2.55rem;
    padding: 0.3rem 0.28rem;
  }

  .weather-icon {
    height: 1.1rem;
    width: 1.1rem;
  }

  .weather-icon i {
    font-size: 0.76rem;
  }

  .weather-icon-partly .weather-sun-layer {
    font-size: 0.56rem;
    left: 0;
    top: 0.08rem;
  }

  .weather-icon-partly .weather-cloud-layer,
  .weather-icon-storm .weather-cloud-layer {
    font-size: 0.7rem;
    top: 0.32rem;
  }

  .weather-icon-storm .weather-bolt-layer {
    font-size: 0.5rem;
    right: 0.2rem;
    top: 0.38rem;
  }

  .weather-day .weather-label,
  .weather-day .weather-temp {
    font-size: 0.56rem;
  }

  .weather-day strong {
    font-size: 0.64rem;
    white-space: nowrap;
  }

  .market-quote {
    border-radius: 5px;
    gap: 0.04rem;
    min-height: 2.55rem;
    padding: 0.28rem 0.3rem;
  }

  .market-quote span,
  .market-quote small,
  .market-loading {
    font-size: 0.52rem;
  }

  .market-quote strong {
    font-size: 0.68rem;
  }

  .market-quote,
  .weather-day,
  .breaking-panel {
    max-width: 100%;
    min-width: 0;
  }

  .home-location-form,
  .location-set-form,
  .timeline-filter-form {
    grid-template-columns: 1fr;
  }

  .home-location-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .home-location-form button,
  .location-set-form button,
  .timeline-filter-form button {
    width: 100%;
  }

  .home-location-form button {
    width: auto;
  }

  .header-search-wrap .mega-search-panel {
    border-radius: 0;
    margin-top: 0;
    padding: 0;
  }

  .mega-search-kicker {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }

  .mega-search-kicker strong {
    text-align: left;
  }

  .mega-search-panel {
    border-radius: 6px;
    box-shadow: none;
    margin-top: 0.75rem;
    padding: 0;
    position: static;
    width: 100%;
  }

  .mega-search-input-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .mega-search-input-row button {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .mega-search-filters,
  .contact-form-grid,
  .story-request-form-grid,
  .story-request-tag-grid {
    grid-template-columns: 1fr;
  }

  .archive-summary,
  .source-summary,
  .archive-row {
    grid-template-columns: 1fr;
  }

  .source-directory-grid {
    grid-template-columns: 1fr;
  }

  .source-card-header,
  .source-card-details div,
  .source-profile-list div,
  .source-bias-detail dl div {
    grid-template-columns: 1fr;
  }

  .source-card-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .archive-row-stats {
    grid-column: auto;
  }

  .archive-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-search-form {
    min-height: 2.85rem;
  }

  .site-footer {
    padding: 1.4rem 0 0.95rem;
  }

  .footer-search-row {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }

  .footer-search-form {
    border-radius: 5px;
    min-height: 2.7rem;
    padding-left: 0.72rem;
    padding-right: 0.38rem;
  }

  .footer-search-form input {
    font-size: 0.88rem;
    min-height: 2.35rem;
  }

  .footer-search-form button {
    font-size: 1rem;
    height: 2.1rem;
    width: 2.1rem;
  }

  .footer-directory {
    gap: 1rem 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-directory-section {
    align-content: start;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    gap: 0.22rem;
    padding-top: 0.72rem;
  }

  .site-footer h2 {
    font-size: 0.68rem;
    letter-spacing: 0;
    margin-bottom: 0.38rem;
  }

  .footer-directory-section a {
    font-size: 0.84rem;
    line-height: 1.2;
    padding: 0.12rem 0;
  }

  .footer-follow {
    gap: 0.85rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
  }

  .footer-brand {
    max-width: none;
  }

  .footer-brand-link .brand-lockup-image {
    max-width: 142px;
  }

  .footer-brand p {
    font-size: 0.8rem;
    line-height: 1.35;
    margin-top: 0.55rem;
  }

  .footer-follow-actions {
    gap: 0.7rem;
    width: 100%;
  }

  .footer-social-group > span:not(.footer-social-link) {
    flex: 1 1 100%;
  }

  .footer-social-group,
  .footer-app-group {
    gap: 0.42rem;
    width: 100%;
  }

  .footer-social-link {
    flex: 0 0 2rem;
  }

  .footer-app-link {
    flex: 1 1 calc(50% - 0.42rem);
    justify-content: center;
  }

  .footer-bottom {
    gap: 0.55rem;
    margin-top: 0.95rem;
    padding-top: 0.85rem;
  }

  .footer-bottom nav {
    gap: 0.4rem 0.65rem;
  }

  .footer-stats-line {
    font-size: 0.58rem;
  }

  .stack-column {
    gap: var(--bn-gutter);
  }

  .breaking-panel {
    padding: var(--bn-gutter);
  }

  .breaking-item,
  .breaking-item h3,
  .breaking-item h3 a,
  .breaking-item span {
    display: block;
    max-width: min(18rem, calc(100vw - 2.75rem));
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    width: min(18rem, calc(100vw - 2.75rem));
    word-break: break-word;
  }

  .breaking-item h3 {
    font-size: 0.95rem;
    line-height: 1.22;
  }

  .latest-list {
    grid-template-columns: 1fr;
  }

  .latest-item,
  .related-item {
    grid-template-columns: 5.75rem minmax(0, 1fr);
  }

  .comments-header,
  .comment-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .comment-form-grid {
    grid-template-columns: 1fr;
  }

  .source-signal-list li {
    align-items: start;
    gap: 0.35rem;
    grid-template-columns: 1fr;
  }

  .source-signal-value {
    justify-self: start;
    white-space: normal;
  }

  .article-page .back-link {
    margin-bottom: 0.4rem;
  }

  .article-feature {
    border-radius: 4px;
  }

  .article-image {
    margin-bottom: 0.55rem;
  }

  .article-image img {
    aspect-ratio: auto;
    border-radius: 4px 4px 0 0;
    height: clamp(11.5rem, 34vh, 13.5rem);
    max-height: none;
    object-fit: cover;
    object-position: center 44%;
  }

  .article-header {
    margin-bottom: 0;
    padding: 0 0.95rem 0.55rem;
  }

  .article-header h1 {
    font-size: clamp(1.85rem, 9vw, 2.65rem);
    line-height: 1.02;
    margin-bottom: 0.65rem;
  }

  .article-header .dek {
    font-size: 1rem;
    line-height: 1.45;
    margin-bottom: 0.65rem;
  }

  .article-header .tags {
    gap: 0.35rem 0.4rem;
    margin-top: 0.55rem;
    max-height: none;
    overflow: visible;
  }

  .article-header .tag {
    font-size: 0.76rem;
    line-height: 1.12;
    padding: 0.16rem 0.5rem;
  }

  .dig-deeper-panel {
    border-radius: 0 4px 4px 0;
    gap: 0.6rem;
    grid-template-columns: 1fr;
    margin-bottom: 0.75rem;
    padding: 0.8rem 0.95rem;
  }

  .dig-deeper-toggle {
    justify-self: start;
  }

  .dig-deeper-dialog {
    max-height: calc(100vh - 1.5rem);
    padding: 1rem;
    width: min(calc(100vw - 1rem), 640px);
  }

  .article-body {
    border-left-width: 3px;
    border-radius: 0 4px 4px 0;
    padding: 0.85rem 1rem 1rem;
  }
}
