/* ==========================================================================
   Rage Against the Clock — site layer over the Binduz theme.

   The theme's stylesheet supplies typography, the grid, and the news-card
   geometry. Everything here is either an override of a theme default that
   assumed a magazine's stock photography, or a component the theme has no
   equivalent for: sentiment badges, the dashboard tiles, the SVG charts, the
   transparency tables.

   Sentiment colors are the validated diverging set. They appear here as
   tokens so that the badge, the chart, and the nav accent can never drift
   apart.
   ========================================================================== */

:root {
  --ratc-positive: #2a78d6;
  --ratc-negative: #e34948;
  --ratc-mixed:    #eda100;
  --ratc-neutral:  #6b6a65;

  --ratc-ink:       #14130f;
  --ratc-ink-2:     #4a4943;
  --ratc-ink-3:     #7d7c74;
  --ratc-surface:   #ffffff;
  --ratc-surface-2: #f7f6f2;
  --ratc-surface-3: #efeee8;
  --ratc-rule:      #e3e1da;
  --ratc-accent:    #14130f;

  --ratc-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --ratc-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
}

body {
  background: var(--ratc-surface);
  color: var(--ratc-ink);
  font-family: var(--ratc-sans);
  -webkit-font-smoothing: antialiased;
}

/* The theme applies `text-transform: capitalize` to .binduz-er-title, which
   rewrites every headline into title case. On a magazine template that is a
   styling choice. Here it would misquote the publisher on every card: a
   headline is a quotation, and "the largest theft of labor in human history"
   is not "The Largest Theft Of Labor In Human History". Headlines render
   exactly as the outlet published them. */
.binduz-er-title,
.ratc-card__title,
.ratc-lead__title,
.ratc-story__title,
.ratc-compact h4,
.ratc-prevnext__item {
  text-transform: none;
}

img, svg { max-width: 100%; }

a { color: inherit; }
a:hover { color: var(--ratc-positive); }

.ratc-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--ratc-ink); color: #fff; padding: 12px 20px;
}
.ratc-skip:focus { left: 0; color: #fff; }

:focus-visible {
  outline: 2px solid var(--ratc-positive);
  outline-offset: 2px;
}

/* --------------------------------------------------------------- topbar -- */
.ratc-topbar {
  background: var(--ratc-ink);
  color: #f2f1ec;
  font-size: 13px;
  padding: 9px 0;
}
.ratc-topbar__inner {
  display: flex; align-items: center; gap: 20px;
  justify-content: space-between; flex-wrap: wrap;
}
.ratc-topbar p { margin: 0; }
.ratc-topbar strong { color: #fff; }
.ratc-topbar__menu {
  background: none; border: 1px solid rgba(255,255,255,.28); color: #f2f1ec;
  padding: 3px 12px; border-radius: 3px; font-size: 12px;
  letter-spacing: .04em; text-transform: uppercase; cursor: pointer;
}
.ratc-topbar__menu:hover { background: rgba(255,255,255,.1); }
.ratc-topbar__updated { color: #a9a79f; }
@media (min-width: 992px) { .ratc-topbar__menu { display: none; } }

/* -------------------------------------------------------------- masthead -- */
.ratc-header { border-bottom: 3px solid var(--ratc-ink); background: var(--ratc-surface); }
.ratc-masthead {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; padding: 26px 0 18px; flex-wrap: wrap;
}
.ratc-wordmark { display: block; text-decoration: none; }
.ratc-wordmark__main {
  display: block; font-family: var(--ratc-serif); font-weight: 900;
  font-size: clamp(30px, 5.2vw, 52px); line-height: .98;
  letter-spacing: -.02em; color: var(--ratc-ink); text-transform: uppercase;
}
.ratc-wordmark__main span {
  color: var(--ratc-negative); font-style: italic; text-transform: lowercase;
  padding: 0 .12em; font-weight: 700;
}
.ratc-wordmark__sub {
  display: block; margin-top: 7px; font-size: 12px; letter-spacing: .22em;
  text-transform: uppercase; color: var(--ratc-ink-3);
}
.ratc-wordmark:hover .ratc-wordmark__main { color: var(--ratc-ink); }
.ratc-masthead__aside { display: flex; gap: 9px; flex-wrap: wrap; }

/* ------------------------------------------------------------------ nav -- */
.ratc-nav { border-top: 1px solid var(--ratc-rule); }
.ratc-nav ul {
  display: flex; gap: 2px; margin: 0; padding: 0; list-style: none;
  overflow-x: auto; scrollbar-width: thin;
}
.ratc-nav a {
  display: block; padding: 13px 14px; font-size: 13px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  color: var(--ratc-ink-2); text-decoration: none;
  border-bottom: 3px solid transparent;
}
.ratc-nav a:hover { color: var(--ratc-ink); border-bottom-color: var(--ratc-rule); }
.ratc-nav__negative:hover { border-bottom-color: var(--ratc-negative); color: var(--ratc-negative); }
.ratc-nav__positive:hover { border-bottom-color: var(--ratc-positive); color: var(--ratc-positive); }
.ratc-nav__mixed:hover    { border-bottom-color: var(--ratc-mixed);    color: #9a6a00; }
.ratc-nav__neutral:hover  { border-bottom-color: var(--ratc-neutral);  color: var(--ratc-neutral); }
@media (max-width: 991px) { .ratc-nav { display: none; } }

/* The theme's Bootstrap build gives .row a 15px half-gutter but pads
   containers by only .75rem (12px), so every row pokes 3px past both edges
   of a phone viewport. Match the container to the row. */
.container, .container-fluid { padding-left: 15px; padding-right: 15px; }
.ratc-offcanvas-nav ul { list-style: none; padding: 0; margin: 20px 0 0; }
.ratc-offcanvas-nav a {
  display: block; padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.08);
  font-size: 16px; font-weight: 600; text-decoration: none;
}
.binduz-er-news-canvas_close button {
  background: none; border: 0; font-size: 22px; cursor: pointer; color: inherit;
}

/* ---------------------------------------------------------------- pills -- */
.ratc-pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 16px; border: 1px solid var(--ratc-ink);
  font-size: 12px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; text-decoration: none; border-radius: 2px;
  color: var(--ratc-ink); background: var(--ratc-surface);
  transition: background .12s ease, color .12s ease;
}
.ratc-pill:hover { background: var(--ratc-ink); color: #fff; }
.ratc-pill--ghost { border-color: var(--ratc-rule); color: var(--ratc-ink-2); }
.ratc-pill--ghost:hover { border-color: var(--ratc-ink); background: var(--ratc-surface-2); color: var(--ratc-ink); }
.ratc-pill--solid { background: var(--ratc-ink); color: #fff; }
.ratc-pill--solid:hover { background: var(--ratc-positive); border-color: var(--ratc-positive); color: #fff; }

/* -------------------------------------------------------------- sections -- */
.ratc-section { padding: 42px 0; }
.ratc-section--pulse { padding: 30px 0 6px; }
.ratc-section__title {
  font-family: var(--ratc-serif); font-size: 26px; font-weight: 800;
  margin: 0 0 22px; letter-spacing: -.01em;
}
.ratc-section__title--rule {
  margin-top: 46px; padding-top: 22px; border-top: 1px solid var(--ratc-rule);
}
.ratc-eyebrow {
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--ratc-ink-3); margin: 0 0 8px; font-weight: 700;
}
.ratc-empty { color: var(--ratc-ink-3); font-style: italic; padding: 22px 0; }
.ratc-more-line { display: flex; gap: 10px; flex-wrap: wrap; margin: 30px 0 0; }
.ratc-more { font-size: 12px; font-weight: 700; letter-spacing: .08em;
             text-transform: uppercase; text-decoration: none; }

/* ------------------------------------------------------------ page heads -- */
.ratc-pagehead {
  background: var(--ratc-surface-2); border-bottom: 1px solid var(--ratc-rule);
  padding: 40px 0 34px; border-top: 4px solid var(--accent, var(--ratc-ink));
}
.ratc-pagehead__title {
  font-family: var(--ratc-serif); font-size: clamp(30px, 5vw, 46px);
  font-weight: 900; margin: 0 0 12px; letter-spacing: -.02em;
}
.ratc-pagehead__blurb { max-width: 68ch; color: var(--ratc-ink-2); margin: 0; font-size: 16px; }
.ratc-pagehead__count {
  margin: 14px 0 0; font-size: 13px; color: var(--ratc-ink-3);
  letter-spacing: .04em; text-transform: uppercase; font-weight: 600;
}

/* ----------------------------------------------------------------- pulse -- */
.ratc-pulse {
  background: var(--ratc-surface-2); border: 1px solid var(--ratc-rule);
  border-radius: 4px; padding: 22px 24px;
}
.ratc-pulse__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 8px;
}
.ratc-pulse__head .ratc-eyebrow { margin: 0; }
.ratc-pulse__note { margin: 12px 0 0; font-size: 13px; color: var(--ratc-ink-3); max-width: 78ch; }

/* --------------------------------------------------------------- badges -- */
.ratc-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ratc-ink);
  background: var(--ratc-surface-3); border-radius: 2px; padding: 3px 9px;
  white-space: nowrap;
}
.ratc-badge__dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.ratc-badge__flag {
  font-weight: 700; color: var(--ratc-ink-3); cursor: help;
  border: 1px solid currentColor; border-radius: 50%;
  width: 13px; height: 13px; line-height: 11px; text-align: center; font-size: 9px;
}
.ratc-badge--sm { font-size: 10px; padding: 2px 7px; letter-spacing: .08em; }
.ratc-badge--negative { background: #fdeceb; }
.ratc-badge--positive { background: #e9f1fc; }
.ratc-badge--mixed    { background: #fdf3dd; }
.ratc-badge--neutral  { background: var(--ratc-surface-3); }

/* ---------------------------------------------------------------- cards -- */
.ratc-lead {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 26px; align-items: start; padding-bottom: 30px;
  border-bottom: 1px solid var(--ratc-rule); margin-bottom: 26px;
}
.ratc-lead__thumb { display: block; overflow: hidden; border-radius: 3px; }
.ratc-lead__thumb img, .ratc-lead__thumb svg { width: 100%; display: block; }
.ratc-lead__title {
  font-family: var(--ratc-serif); font-size: clamp(22px, 2.6vw, 33px);
  font-weight: 800; line-height: 1.16; margin: 12px 0 10px; letter-spacing: -.015em;
}
.ratc-lead__title a { text-decoration: none; }
.ratc-lead__summary { color: var(--ratc-ink-2); font-size: 15.5px; margin: 0 0 12px; }
@media (max-width: 767px) { .ratc-lead { grid-template-columns: 1fr; } }

.ratc-leadgrid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 22px; padding-bottom: 8px;
}
.ratc-leadgrid .ratc-card { display: block; }
.ratc-leadgrid .ratc-card__thumb { width: 100%; margin: 0 0 12px; }

.ratc-cardlist { display: grid; gap: 26px; }
.ratc-cardlist--archive { gap: 24px; }

.ratc-card { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 20px; align-items: start; }
.ratc-card__thumb { overflow: hidden; border-radius: 3px; }
.ratc-card__thumb a { display: block; }
.ratc-card__thumb img, .ratc-card__thumb svg { width: 100%; display: block; }
.ratc-card__meta {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 9px;
}
.ratc-card__title {
  font-family: var(--ratc-serif); font-size: 20px; font-weight: 700;
  line-height: 1.28; margin: 0 0 8px;
}
.ratc-card__title a { text-decoration: none; }
.ratc-card__summary {
  color: var(--ratc-ink-2); font-size: 14.5px; margin: 0 0 10px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  line-clamp: 2; overflow: hidden;
}
.ratc-card__foot {
  display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
  font-size: 12.5px; color: var(--ratc-ink-3);
}
.ratc-card__foot i { margin-right: 5px; }
.ratc-card__tags { display: flex; gap: 8px; flex-wrap: wrap; }
.ratc-card__tags a {
  display: inline-block; font-size: 10.5px; letter-spacing: .06em;
  text-transform: uppercase; font-weight: 700; text-decoration: none;
  color: var(--ratc-ink-2); border-bottom: 1px solid var(--ratc-rule);
  line-height: 1.3;
}
/* In the three-up grid under the lead there is no room for two tag lines. */
.ratc-leadgrid .ratc-card__tags a:nth-child(n+2) { display: none; }
.ratc-leadgrid .ratc-card__foot { gap: 10px; }
.ratc-outlet {
  font-size: 12px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; text-decoration: none; color: var(--ratc-ink-2);
}
@media (max-width: 575px) { .ratc-card { grid-template-columns: 1fr; } }

.ratc-cover { display: block; width: 100%; height: auto; background: var(--ratc-surface-3); }

.ratc-rationale {
  font-size: 13.5px; color: var(--ratc-ink-2); background: var(--ratc-surface-2);
  border-left: 3px solid var(--ratc-rule); padding: 9px 14px; margin: 0;
}
.ratc-rationale__label {
  font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
  font-size: 11px; color: var(--ratc-ink-3); margin-right: 6px;
}

/* -------------------------------------------------------------- sidebar -- */
.ratc-sidebar { padding-left: 26px; }
@media (max-width: 991px) { .ratc-sidebar { padding-left: 15px; margin-top: 40px; } }
.ratc-widget { margin-bottom: 34px; }
.ratc-widget__title {
  font-family: var(--ratc-serif); font-size: 18px; font-weight: 800;
  margin: 0 0 16px; padding-bottom: 9px;
  border-bottom: 3px solid var(--ratc-ink);
}
.ratc-widget--note {
  background: var(--ratc-surface-2); padding: 20px; border-radius: 4px;
}
.ratc-widget--note p { font-size: 14px; color: var(--ratc-ink-2); margin-bottom: 12px; }
.ratc-widget__more {
  display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; border-bottom: 2px solid currentColor;
  padding-bottom: 2px;
}
.ratc-compact { padding: 12px 0; border-bottom: 1px solid var(--ratc-rule); }
.ratc-compact:first-of-type { padding-top: 0; }
.ratc-compact__meta {
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
  font-size: 11.5px; color: var(--ratc-ink-3); margin-bottom: 6px;
}
.ratc-compact__meta a { text-decoration: none; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.ratc-compact__when { color: var(--ratc-ink-3); }
.ratc-compact h4 {
  font-family: var(--ratc-serif); font-size: 15.5px; font-weight: 700;
  line-height: 1.32; margin: 0;
}
.ratc-compact h4 a { text-decoration: none; }

.ratc-taglist { list-style: none; padding: 0; margin: 0; }
.ratc-taglist a {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 8px 0; border-bottom: 1px solid var(--ratc-rule);
  text-decoration: none; font-size: 14px; font-weight: 600;
}
.ratc-taglist span {
  color: var(--ratc-ink-3); font-variant-numeric: tabular-nums; font-weight: 500;
}

/* ---------------------------------------------------------------- story -- */
.ratc-story { padding-bottom: 50px; }
.ratc-crumbs {
  padding: 18px 0; font-size: 12px; letter-spacing: .05em;
  text-transform: uppercase; color: var(--ratc-ink-3); font-weight: 600;
}
.ratc-crumbs a { text-decoration: none; }
.ratc-crumbs span { margin: 0 7px; color: var(--ratc-rule); }
.ratc-story__head { border-top: 4px solid var(--accent); padding-top: 22px; }
.ratc-story__title {
  font-family: var(--ratc-serif); font-size: clamp(27px, 4.2vw, 42px);
  font-weight: 900; line-height: 1.14; letter-spacing: -.02em; margin: 10px 0 12px;
}
.ratc-story__byline { color: var(--ratc-ink-3); font-size: 14px; margin: 0; }
.ratc-story__summary {
  margin: 26px 0; padding: 20px 24px; background: var(--ratc-surface-2);
  border-radius: 4px;
}
.ratc-story__summary p { font-size: 17px; line-height: 1.6; margin: 0; color: var(--ratc-ink); }
.ratc-story__attrib {
  margin-top: 12px !important; font-size: 12.5px !important;
  color: var(--ratc-ink-3) !important;
}
.ratc-story__cta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 0 34px; }
.ratc-story__host { font-size: 12.5px; color: var(--ratc-ink-3); }

.ratc-verdict {
  border: 1px solid var(--ratc-rule); border-radius: 4px;
  padding: 22px 24px; margin-bottom: 30px;
}
.ratc-verdict__title {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--ratc-serif); font-size: 20px; font-weight: 800; margin: 0 0 12px;
}
.ratc-verdict__swatch { width: 14px; height: 14px; border-radius: 3px; flex: none; }
.ratc-verdict__reason { font-size: 15.5px; color: var(--ratc-ink); margin: 0 0 18px; }
.ratc-verdict__meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 16px; margin: 0 0 16px; padding: 16px 0; border-top: 1px solid var(--ratc-rule);
  border-bottom: 1px solid var(--ratc-rule);
}
.ratc-verdict__meta dt {
  font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ratc-ink-3); font-weight: 800; margin-bottom: 4px;
}
.ratc-verdict__meta dd {
  margin: 0; font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.ratc-verdict__meta dd span { font-size: 11px; font-weight: 500; color: var(--ratc-ink-3); }
.ratc-verdict__flag {
  font-size: 13.5px; background: #fdf3dd; border-left: 3px solid var(--ratc-mixed);
  padding: 9px 14px; margin: 0 0 14px;
}
.ratc-verdict__notice { font-size: 12.5px; color: var(--ratc-ink-3); margin: 0; }

.ratc-story__tags {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 26px; padding: 24px 0; border-top: 1px solid var(--ratc-rule);
}
.ratc-story__tags h3 {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ratc-ink-3); font-weight: 800; margin: 0 0 10px;
}
.ratc-story__tags ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ratc-story__tags a {
  display: inline-block; padding: 5px 11px; background: var(--ratc-surface-2);
  border-radius: 2px; font-size: 13px; font-weight: 600; text-decoration: none;
}
.ratc-story__tags a:hover { background: var(--ratc-surface-3); }

.ratc-prevnext {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px; padding-top: 26px; border-top: 1px solid var(--ratc-rule);
}
.ratc-prevnext__item {
  display: block; padding: 16px 18px; background: var(--ratc-surface-2);
  border-radius: 4px; text-decoration: none; font-family: var(--ratc-serif);
  font-size: 15px; font-weight: 700; line-height: 1.35;
}
.ratc-prevnext__item span {
  display: block; font-family: var(--ratc-sans); font-size: 10.5px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ratc-ink-3);
  font-weight: 800; margin-bottom: 6px;
}
.ratc-prevnext__item--next { text-align: right; }

/* ------------------------------------------------------------ dashboard -- */
.ratc-tiles {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px; margin-bottom: 44px;
}
.ratc-tile {
  border: 1px solid var(--ratc-rule); border-top: 4px solid var(--accent, var(--ratc-ink));
  border-radius: 4px; padding: 18px 20px;
}
.ratc-tile__label {
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ratc-ink-3); font-weight: 800; margin: 0 0 8px;
}
.ratc-tile__value {
  font-family: var(--ratc-serif); font-size: 38px; font-weight: 900;
  line-height: 1; margin: 0 0 6px; font-variant-numeric: tabular-nums;
}
.ratc-tile__note { font-size: 12.5px; color: var(--ratc-ink-3); margin: 0; }

.ratc-figure { margin: 0 0 52px; }
.ratc-figure figcaption { margin-bottom: 18px; }
.ratc-figure h2 {
  font-family: var(--ratc-serif); font-size: 23px; font-weight: 800; margin: 0 0 7px;
}
.ratc-figure figcaption p {
  font-size: 14.5px; color: var(--ratc-ink-2); margin: 0; max-width: 78ch;
}
.ratc-chart { width: 100%; height: auto; display: block; overflow: visible; }
.ratc-chart--share { height: 46px; }
.ratc-chart rect { transition: opacity .12s ease; }
.ratc-chart:hover rect[data-tip] { opacity: .55; }
.ratc-chart rect[data-tip]:hover { opacity: 1; }
.ratc-chart--empty { border: 1px dashed var(--ratc-rule); border-radius: 4px; }

/* The share bar scales with preserveAspectRatio="none", so its in-bar labels
   shrink below legibility on a phone. The legend directly under it carries the
   same identity, and the percentages are in the tiles on /record/. */
@media (max-width: 640px) {
  .ratc-chart--share text { display: none; }
  .ratc-chart--share { height: 30px; }
}

.ratc-legend {
  display: flex; gap: 18px; flex-wrap: wrap; list-style: none;
  padding: 0; margin: 12px 0 0; font-size: 12.5px; color: var(--ratc-ink-2);
}
.ratc-legend li { display: flex; align-items: center; gap: 7px; }
.ratc-legend__swatch { width: 11px; height: 11px; border-radius: 2px; flex: none; }

/* --------------------------------------------------------------- tables -- */
.ratc-table-toggle { margin-top: 16px; }
.ratc-table-toggle summary {
  cursor: pointer; font-size: 12px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ratc-ink-2); padding: 6px 0;
}
.ratc-table-wrap { overflow-x: auto; margin-top: 10px; }
.ratc-table {
  width: 100%; border-collapse: collapse; font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}
.ratc-table caption {
  caption-side: top; text-align: left; font-size: 12px; color: var(--ratc-ink-3);
  padding-bottom: 9px; letter-spacing: .04em;
}
.ratc-table th, .ratc-table td {
  padding: 9px 12px; border-bottom: 1px solid var(--ratc-rule); text-align: right;
}
.ratc-table th[scope="row"], .ratc-table thead th:first-child { text-align: left; }
.ratc-table thead th {
  font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ratc-ink-3); font-weight: 800;
  border-bottom: 2px solid var(--ratc-ink);
}
.ratc-table tbody tr:hover { background: var(--ratc-surface-2); }
.ratc-table--wide td, .ratc-table--wide th { white-space: nowrap; }
.ratc-table a { text-decoration: none; border-bottom: 1px solid var(--ratc-rule); }
.ratc-row--bad { background: #fdeceb; }
.ratc-row--bad:hover { background: #fce0de; }

.ratc-status {
  display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 2px;
  background: var(--ratc-surface-3); color: var(--ratc-ink-2);
}
.ratc-status--ok  { background: #e9f1fc; color: #1c5cab; }
.ratc-status--bad { background: #fdeceb; color: #a82e2d; }
.ratc-status__detail {
  display: block; font-size: 11px; color: var(--ratc-ink-3); margin-top: 4px;
  white-space: normal; max-width: 34ch;
}

.ratc-runbar {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1px; background: var(--ratc-rule); border: 1px solid var(--ratc-rule);
  border-radius: 4px; overflow: hidden; margin-bottom: 40px;
}
.ratc-runbar div { background: var(--ratc-surface); padding: 15px 18px; }
.ratc-runbar span {
  display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ratc-ink-3); font-weight: 800; margin-bottom: 6px;
}
.ratc-runbar strong { font-size: 19px; font-variant-numeric: tabular-nums; }

/* ----------------------------------------------------------------- prose -- */
.ratc-prose { max-width: 70ch; }
.ratc-prose h2 {
  font-family: var(--ratc-serif); font-size: 25px; font-weight: 800;
  margin: 42px 0 14px; letter-spacing: -.01em;
}
.ratc-prose h2:first-child { margin-top: 0; }
.ratc-prose h3 { font-size: 18px; font-weight: 700; margin: 28px 0 10px; }
.ratc-prose h4 { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; margin: 0 0 8px; }
.ratc-prose p, .ratc-prose li { font-size: 16px; line-height: 1.68; color: var(--ratc-ink-2); }
.ratc-prose ul { padding-left: 22px; margin-bottom: 18px; }
.ratc-prose li { margin-bottom: 7px; }
.ratc-prose strong { color: var(--ratc-ink); }
.ratc-caveat {
  background: var(--ratc-surface-2); border-left: 3px solid var(--ratc-mixed);
  padding: 13px 18px; border-radius: 0 3px 3px 0;
}
.ratc-termgrid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px; margin: 18px 0 24px;
}
.ratc-termgrid p { font-size: 14px; line-height: 1.7; }

.ratc-gaps {
  background: #fdf3dd; border-left: 4px solid var(--ratc-mixed);
  padding: 15px 20px; border-radius: 0 4px 4px 0; margin: 26px 0 0;
  font-size: 14px; color: var(--ratc-ink);
}
.ratc-gaps ul { margin: 8px 0 0; padding-left: 20px; }
.ratc-gaps li { margin-bottom: 4px; }

/* ----------------------------------------------------------- pagination -- */
.ratc-pagination {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; margin-top: 44px; padding-top: 24px;
  border-top: 1px solid var(--ratc-rule); flex-wrap: wrap;
}
.ratc-pagination a {
  font-size: 12px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none;
}
.ratc-pagination__count { font-size: 12.5px; color: var(--ratc-ink-3); }
.ratc-pagination__next { margin-left: auto; }

/* --------------------------------------------------------------- footer -- */
.ratc-footer {
  background: var(--ratc-ink); color: #cdcbc2; margin-top: 60px; padding: 48px 0 0;
}
.ratc-footer__mark {
  font-family: var(--ratc-serif); font-size: 22px; font-weight: 900;
  color: #fff; text-transform: uppercase; margin: 0 0 12px; letter-spacing: -.01em;
}
.ratc-footer__desc { font-size: 14px; line-height: 1.65; margin: 0 0 14px; }
.ratc-footer__notice { font-size: 12.5px; color: #8c8a81; margin: 0; }
.ratc-footer h4 {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: #fff; font-weight: 800; margin: 0 0 14px;
}
.ratc-footer ul { list-style: none; padding: 0; margin: 0; }
.ratc-footer li { margin-bottom: 9px; }
.ratc-footer a { font-size: 14px; text-decoration: none; color: #cdcbc2; }
.ratc-footer a:hover { color: #fff; }
.ratc-footer__bar {
  display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap;
  margin-top: 40px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.12);
  font-size: 12px; color: #8c8a81;
}
.ratc-footer__bar p { margin: 0; }
@media (max-width: 991px) { .ratc-footer .col-lg-3, .ratc-footer .col-lg-4 { margin-top: 32px; } }

/* -------------------------------------------------------------- tooltip -- */
.ratc-tip {
  position: fixed; z-index: 90; pointer-events: none;
  background: var(--ratc-ink); color: #fff; font-size: 12px;
  padding: 6px 10px; border-radius: 3px; white-space: nowrap;
  opacity: 0; transform: translateY(3px); transition: opacity .1s ease;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.ratc-tip[data-show] { opacity: 1; transform: translateY(0); }

/* ----------------------------------------------------------------- print -- */
@media print {
  .ratc-topbar, .ratc-nav, .ratc-footer, .ratc-masthead__aside,
  .ratc-pagination, .binduz-er-news-offcanvas_menu { display: none !important; }
  .ratc-table-toggle { display: block; }
  .ratc-table-toggle > summary { display: none; }
  body { color: #000; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ==========================================================================
   Retired rules, kept for reference.

   The theme's own sticky header. It fought the topbar on scroll and pinned
   130px of chrome on phones, so the header scrolls normally instead.

   .ratc-header.is-stuck { position: fixed; top: 0; width: 100%; z-index: 80; }

   Sentiment colors applied to the card title. Tested and dropped: it reads
   as the site editorializing, and it puts identity on text color alone,
   which is exactly what the badge exists to avoid.

   .ratc-card--negative .ratc-card__title a { color: var(--ratc-negative); }
   ========================================================================== */
