/* USMFG.NEWS — Phase 1 static stylesheet
   No frameworks, no web fonts. System font stacks only. */

:root {
  --ink: #111;
  --ink-2: #333;
  --muted: #666;
  --rule: #d4d4d4;
  --rule-dark: #111;
  --red: #d7141a;
  --red-dark: #b00f14;
  --yellow: #ffc400;
  --panel: #f3f3f3;
  --bg: #fff;

  /* Heavy condensed display face: Impact (Win/Mac), then narrow fallbacks */
  --f-display: "USMFG Display", Impact, Haettenschweiler, "Franklin Gothic Heavy", "Arial Narrow Bold",
    "Arial Narrow", "Roboto Condensed", "Liberation Sans Narrow", "Nimbus Sans Narrow",
    "DejaVu Sans Condensed", sans-serif-condensed, sans-serif;
  /* Headline/body face: condensed sans */
  --f-head: "Arial Narrow", "Roboto Condensed", "Helvetica Neue Condensed",
    "Liberation Sans Narrow", "Nimbus Sans Narrow", "DejaVu Sans Condensed",
    sans-serif-condensed, "Helvetica Neue", Arial, sans-serif;
  /* Wire/terminal face for labels, times, sources */
  --f-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Roboto Mono", "Liberation Mono",
    "DejaVu Sans Mono", monospace;

  --wrap: 1480px;
  --gutter: 28px;
}

/* Local-only font alias: picks the first heavy condensed face installed on the
   visitor's device (Impact on Windows/macOS). Nothing is downloaded. */
@font-face {
  font-family: "USMFG Display";
  src: local("Impact"), local("Anton"), local("Anton Regular"), local("Oswald Bold"),
       local("Arial Narrow Bold"), local("ArialNarrow-Bold"), local("Roboto Condensed Bold"),
       local("RobotoCondensed-Bold"), local("Liberation Sans Narrow Bold"),
       local("LiberationSansNarrow-Bold"), local("DejaVu Sans Condensed Bold"),
       local("DejaVuSansCondensed-Bold");
  font-weight: 400;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.35 var(--f-head);
}
h1, h2, p, ol, ul, fieldset { margin: 0; padding: 0; }
ol, ul { list-style: none; }
fieldset { border: 0; min-width: 0; }
i { font-style: normal; }
a { color: inherit; text-decoration: none; }
a:hover .story__link, a.story__link:hover, .story__link:hover { text-decoration: underline; text-underline-offset: 2px; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
[hidden] { display: none !important; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.red { color: var(--red); }
.vh {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.skip-link {
  position: absolute; left: 8px; top: -60px; z-index: 10;
  background: var(--ink); color: #fff; padding: 8px 14px; font: 700 14px var(--f-mono);
}
.skip-link:focus { top: 8px; }

/* ---------- Utility strip ---------- */
.utility { font: 13px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .04em; }
.utility__inner {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding-top: 12px; padding-bottom: 12px;
  position: relative;
}
.utility__inner::after, .site-footer__inner::before {
  content: ""; position: absolute; left: var(--gutter); right: var(--gutter); bottom: 0;
  border-bottom: 1px solid var(--line);
}
.utility__nav { display: flex; align-items: center; }
.utility__nav > * + * { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--line); }
.utility__nav a:hover { color: var(--red); }

/* ---------- Masthead ---------- */
.masthead__inner {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 0;
  padding-top: 18px; padding-bottom: 16px;
}
.brand { padding-right: 32px; }
.brand__title {
  font: 400 clamp(56px, 7vw, 116px)/.86 var(--f-display);
  font-stretch: condensed;
  letter-spacing: -.01em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand__sub {
  margin-top: 12px;
  font: 400 clamp(12px, 1.2vw, 19px)/1 var(--f-mono);
  letter-spacing: .3em;
  text-transform: uppercase;
  white-space: nowrap;
}
.motto {
  justify-self: center;
  padding: 6px 28px;
  border-left: 1px solid var(--rule); border-right: 1px solid var(--rule);
  font: 400 17px/1.45 var(--f-mono);
  color: var(--muted);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: .03em;
}

/* Sponsor (header) */
.sponsor { padding-left: 28px; }
.sponsor__link { display: grid; gap: 6px; justify-items: start; }
.sponsor__label {
  background: var(--yellow); color: var(--ink);
  font: 700 12px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase;
  padding: 3px 6px;
}
.sponsor__row { display: flex; align-items: center; gap: 22px; }
.sponsor__lines {
  border-left: 1px solid var(--rule); padding-left: 22px;
  font: 400 15px/1.5 var(--f-mono); color: var(--muted); text-transform: uppercase;
  white-space: nowrap;
}
.sponsor__lines i { padding: 0 4px; }
.sponsor__code { font: 700 13px var(--f-mono); width: 0; min-width: 100%; }  /* wraps instead of widening the ad column */

.beeline-logo { display: inline-grid; line-height: 1; }
.beeline-logo__name {
  font: italic 400 50px/.9 var(--f-display);
  letter-spacing: -.01em;
  transform: skewX(-6deg);
}
.beeline-logo__sub {
  font: italic 600 21px/1.1 var(--f-head);
  margin-left: 2px;
}
.beeline-logo--invert { color: #fff; }

.btn-yellow {
  display: inline-block;
  background: var(--yellow); color: var(--ink);
  font: 400 18px/1 var(--f-display); letter-spacing: .02em; text-transform: uppercase;
  white-space: nowrap;
  padding: 10px 18px;
  margin-top: 4px;
  justify-self: stretch;
  text-align: center;
}
.sponsor__link:hover .btn-yellow, .banner__link:hover .btn-yellow { background: #ffd23f; text-decoration: underline; }

/* ---------- Category nav ---------- */
.catnav .wrap { position: relative; }
.catnav__list {
  display: flex; flex-wrap: nowrap; align-items: center;
  border-bottom: 2px solid var(--line);
  overflow-x: auto; scrollbar-width: none;
  font: 700 14px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .03em;
}
.catnav__list::-webkit-scrollbar { display: none; }
.catnav__list li { flex: 0 0 auto; display: flex; align-items: center; }
.catnav__list li + li::before { content: "|"; color: var(--ink); font-weight: 400; padding: 0 2px; }
.catnav__list a { display: block; padding: 12px 12px 11px; }
.catnav__list li:first-child a { padding-left: 0; }
.catnav__list a:hover { color: var(--red); }
.catnav__list a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--line); }

.preview-note {
  margin-top: 10px;
  font: 12px/1.4 var(--f-mono);
  color: var(--muted);
}
.preview-note strong { color: var(--red); text-transform: uppercase; }

/* ---------- Main layout ---------- */
.layout {
  display: grid;
  grid-template-columns: minmax(0, 28fr) minmax(0, 49fr) minmax(0, 23fr);
  margin-top: 18px;
  margin-bottom: 22px;
}
.col { min-width: 0; }
.col--left { padding-right: 14px; border-right: 1px solid var(--rule); }
.col--center { padding: 0 18px; border-right: 1px solid var(--rule); }
.col--right { padding-left: 14px; }

/* Section header bars */
.bar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 14px 6px;
  font: 400 25px/1 var(--f-display); letter-spacing: .02em; text-transform: uppercase;
  color: #fff;
}
.bar--red { background: var(--red-fill); }
.bar--dark { background: #2b2b2b; }
.bar--black { background: var(--ink); font-size: clamp(17px, 1.45vw, 22px); white-space: nowrap; }
.bar__all { font: 700 12px/1 var(--f-mono); letter-spacing: .04em; }
.bar__all:hover { text-decoration: underline; }

.meta { font: 12px/1.3 var(--f-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.meta i { padding: 0 8px; }
.story__source {
  font: 12px/1 var(--f-mono); color: var(--muted);
  text-transform: uppercase; letter-spacing: .04em; white-space: nowrap;
}

/* Latest News */
.latest__list { margin: 0 14px; }
.latest__list li {
  display: grid; grid-template-columns: 64px 1fr; align-items: baseline;
  padding: 9px 0;
  border-bottom: 1px solid var(--rule);
}
.latest__list time { font: 16px/1 var(--f-mono); color: var(--time); }
.latest__list p { font-size: 17px; line-height: 1.28; }
.latest__list .story__source { margin-left: 4px; }

/* Lead story */
.lead { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.lead__kicker { display: flex; justify-content: space-between; align-items: center; }
.tag-red {
  background: var(--red-fill); color: #fff;
  font: 400 21px/1 var(--f-display); letter-spacing: .05em; text-transform: uppercase;
  padding: 5px 12px 4px;
}
.lead__updated { font: 13px/1 var(--f-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.lead__headline {
  margin-top: 14px;
  font: 400 clamp(34px, 3.6vw, 58px)/.98 var(--f-display);
  text-transform: uppercase;
  letter-spacing: -.003em;
}
.lead__headline a:hover { text-decoration: underline; text-decoration-thickness: 3px; }
.lead__deck { margin-top: 14px; font: 400 22px/1.3 var(--f-head); color: var(--ink-2); }
.lead .meta { margin-top: 14px; color: var(--ink); }
.lead .story__source { font-size: 12px; color: var(--ink); }
.readmore { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 700; }
.readmore:hover { color: var(--ink); text-decoration-thickness: 2px; }

/* Top Stories / Most Read */
.split {
  display: grid; grid-template-columns: 1fr 1fr;
  margin-top: 16px;
}
.split > .top { padding-right: 16px; border-right: 1px solid var(--rule); }
.split > .most { padding-left: 16px; }
.rule-head {
  display: flex; align-items: center; gap: 10px;
  font: 400 23px/1 var(--f-display); text-transform: uppercase; letter-spacing: .02em;
  margin-bottom: 6px;
}
.rule-head::after { content: ""; order: 1; flex: 1; border-bottom: 1px solid var(--line); }
.rule-head__all { order: 2; font: 700 12px/1 var(--f-mono); color: var(--red); letter-spacing: .04em; }
.rule-head__all:hover { text-decoration: underline; }

.ranked__list { counter-reset: rank; }
.ranked__list li {
  counter-increment: rank;
  display: grid; grid-template-columns: 34px 1fr; column-gap: 16px;
  padding: 9px 0;
  border-bottom: 1px solid var(--rule);
}
.ranked__list li::before {
  content: counter(rank);
  grid-row: 1 / span 2;
  align-self: start;
  display: flex; align-items: center; justify-content: center;
  height: 34px; background: var(--chip);
  font: 400 21px/1 var(--f-mono);
}
.ranked__list .story__link { font-size: 17px; line-height: 1.25; }
.ranked__list .meta { margin-top: 4px; font-size: 12px; }

/* Industry Focus */
.focus { background: var(--panel); }
.focus__list { padding: 0 12px; }
.focus__list li { padding: 9px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 3px; }
.focus__list li:last-child { border-bottom: 0; }
.cat { font: 700 12px/1 var(--f-mono); color: var(--label); text-transform: uppercase; letter-spacing: .1em; }
.focus__list .story__link { font-size: 17px; line-height: 1.25; }

/* Daily Shift Report */
.shift { margin-top: 14px; border-top: 1px solid var(--rule); padding-top: 16px; }
.shift__body { background: var(--panel); padding: 14px 14px 16px; }
.shift__pitch { font: 19px/1.3 var(--f-head); }
.shift__form fieldset { display: flex; margin-top: 14px; }
.shift__form input {
  flex: 1; min-width: 0;
  font: 14px var(--f-mono); padding: 11px 10px;
  border: 1px solid #bbb; border-right: 0; border-radius: 0; background: #fff; color: var(--ink);
}
.shift__form button {
  flex: 0 0 auto;
  border: 0; border-radius: 0;
  background: var(--yellow); color: var(--ink);
  font: 400 17px/1 var(--f-display); text-transform: uppercase; letter-spacing: .03em;
  padding: 0 14px;
}
.shift__form fieldset:disabled input,
.shift__form fieldset:disabled button { cursor: not-allowed; opacity: .6; }
.shift__status { margin-top: 10px; font: 12px/1.4 var(--f-mono); color: var(--muted); }

/* ---------- Inner pages (About, Contact) ---------- */
.utility__nav a[aria-current="page"], .site-footer__links a[aria-current="page"] { color: var(--red); }
.page { margin-top: 22px; margin-bottom: 26px; }
.page__body { max-width: 860px; }
.prose { padding: 18px 14px 0; font-size: 18px; line-height: 1.5; color: var(--ink-2); }
.prose > * + * { margin-top: 14px; }
.prose h3 {
  margin-top: 28px; padding-bottom: 6px; border-bottom: 1px solid var(--line);
  font: 400 23px/1 var(--f-display); text-transform: uppercase; letter-spacing: .02em; color: var(--ink);
}
.prose a { color: var(--red); text-decoration: underline; text-underline-offset: 2px; }
.prose a:hover { color: var(--red-dark); }
.prose__lead { font-size: 23px; line-height: 1.35; color: var(--ink); }
.prose__meta { font: 12px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.prose__email { font: 700 21px var(--f-mono); white-space: nowrap; }
.prose__list li { padding: 7px 0 7px 18px; border-bottom: 1px solid var(--rule); position: relative; }
.prose__list li::before { content: ""; position: absolute; left: 0; top: 17px; width: 8px; height: 8px; background: var(--red); }
.prose__list strong { color: var(--ink); }
.prose__note { margin-top: 28px !important; padding: 12px 14px; background: var(--panel); font: 14px/1.5 var(--f-mono); }
.contact-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.contact-list li { padding-bottom: 16px; border-bottom: 1px solid var(--rule); }
.contact-list h3 { margin-top: 22px; }
.contact-list p { margin-top: 10px; }
.contact-list__cta { display: inline-block; margin-top: 10px; font: 13px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .04em; }

/* ---------- Footer sponsor banner ---------- */
.banner { margin-top: 8px; }
.banner__link {
  position: relative;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px;
  background: var(--ink); color: #fff;
  padding: 18px 34px;
}
.banner__label {
  position: absolute; top: 0; left: 0;
  background: var(--yellow); color: var(--ink);
  font: 700 12px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase;
  padding: 3px 6px;
}
.banner__brand {
  display: flex; align-items: center; gap: 12px;
  padding-right: 28px; border-right: 1px solid #555;
}
.banner__mark { width: 44px; height: 44px; }
.banner .beeline-logo__name { font-size: 46px; }
.banner .beeline-logo__sub { font-size: 20px; }
.banner__copy { display: grid; gap: 6px; }
.banner__cats { font: 400 20px/1.1 var(--f-display); letter-spacing: .05em; text-transform: uppercase; }
.banner__cats i { padding: 0 10px; color: #aaa; }
.banner__line { font: 15px/1.3 var(--f-mono); color: #ccc; }
.btn-yellow--lg { font-size: 22px; padding: 14px 24px; margin: 0; }

/* ---------- Site footer ---------- */
.site-footer { margin-top: 18px; padding-bottom: 28px; }
.site-footer__inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px;
  font: 12px/1.4 var(--f-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em;
}
.site-footer__inner { position: relative; padding-top: 14px; }
.site-footer__inner::before { bottom: auto; top: 0; }
.site-footer__links { display: flex; flex-wrap: wrap; }
.site-footer__links li + li::before { content: "|"; padding: 0 10px; }
.site-footer__links a { color: var(--ink); }
.site-footer__links a:hover { color: var(--red); }
.site-footer__note { text-transform: none; letter-spacing: 0; }

/* Industrial Product Spotlight: the one sponsored product feature (center column, under the lead).
   Filled from tacops/spotlight.toml; absent from the page while it is disabled. Kept to the header
   ad's height (about 160px on desktop) so it stays subtle. */
.spot { margin-top: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.spot__head {
  display: flex; align-items: center; gap: 10px; margin-bottom: 6px;
  font: 400 15px/1 var(--f-display); text-transform: uppercase; letter-spacing: .03em;
}
.spot__head::after { content: ""; order: 1; flex: 1; border-bottom: 1px solid var(--rule); }
.spot__label {
  order: 2; padding: 3px 6px 2px; white-space: nowrap; background: var(--yellow); color: var(--ink);
  font: 700 12px/1 var(--f-mono); letter-spacing: .06em;
}
.spot__link { display: grid; grid-template-columns: 150px minmax(0, 1fr); column-gap: 16px; align-items: center; }
.spot__media {
  display: flex; align-items: center; justify-content: center;
  height: 120px; padding: 3px; background: #fff; border: 1px solid var(--rule);
}
.spot__img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.spot__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.spot__maker {
  font: 12px/1.3 var(--f-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.spot__maker i { padding: 0 5px; font-style: normal; }
.spot__model { color: var(--ink-2); }
.spot__headline { font: 700 19px/1.15 var(--f-head); color: var(--ink); }
.spot__offer { font: 700 12px/1.3 var(--f-mono); color: var(--ink); text-transform: uppercase; letter-spacing: .04em; }
.spot__desc { font: 15px/1.3 var(--f-head); color: var(--ink-2); }
.spot__cta {
  font: 700 12px/1 var(--f-mono); color: var(--link); text-transform: uppercase; letter-spacing: .04em;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
.spot__link:hover .spot__headline { text-decoration: underline; }
.spot__link:hover .spot__cta { color: var(--ink); text-decoration-thickness: 2px; }
.spot--placeholder { outline: 2px dashed var(--red); outline-offset: 4px; }

/* ============ Responsive ============ */

/* Narrow desktop: tighten masthead */
@media (max-width: 1320px) {
  .motto { font-size: 16px; padding: 4px 20px; }
  .sponsor__lines { display: none; }
  .beeline-logo__name { font-size: 42px; }
  .beeline-logo__sub { font-size: 18px; }
  .catnav__list { font-size: 13px; }
  .catnav__list a { padding-left: 8px; padding-right: 8px; }
}

/* Tablet: two columns; lead section spans full width */
@media (max-width: 1080px) {
  :root { --gutter: 20px; }
  .motto { display: none; }
  .masthead__inner { grid-template-columns: 1fr auto; }
  .layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "center center" "left right";
    row-gap: 24px;
  }
  .col--center { grid-area: center; padding: 0; border-right: 0; }
  .col--left { grid-area: left; padding-right: 14px; }
  .col--right { grid-area: right; padding-left: 14px; }
  .banner__link { grid-template-columns: auto 1fr; padding: 18px 24px; }
  .banner__link .btn-yellow { grid-column: 1 / -1; }
}

/* Mobile: single column, editorial order: lead, latest, top, most, focus, newsletter */
@media (max-width: 720px) {
  :root { --gutter: 16px; }
  body { font-size: 16px; }

  .utility { font-size: 11px; }
  .utility__date { line-height: 1.3; }
  .utility__tagline { display: none; }
  .utility__tagline + a { margin-left: 0; padding-left: 0; border-left: 0; }

  .masthead__inner { grid-template-columns: 1fr; padding-top: 14px; padding-bottom: 12px; }
  .brand { padding-right: 0; }
  .brand__title { font-size: clamp(36px, 12.4vw, 84px); }
  .brand__sub { font-size: clamp(9px, 2.9vw, 15px); letter-spacing: .26em; margin-top: 8px; }

  .sponsor { padding: 12px 0 0; margin-top: 12px; border-top: 1px solid var(--rule); }
  .sponsor__link { grid-template-columns: 1fr; }
  .beeline-logo__name { font-size: 32px; }
  .beeline-logo__sub { font-size: 14px; }
  .btn-yellow { font-size: 16px; padding: 10px 12px; margin: 0; white-space: normal; }

  .catnav__list { font-size: 13px; }
  /* fade hint that nav scrolls sideways */
  .catnav .wrap::after {
    content: ""; position: absolute; right: var(--gutter); top: 0; bottom: 2px; width: 28px;
    background: linear-gradient(to right, rgba(255,255,255,0), #fff); pointer-events: none;
  }

  .layout { display: flex; flex-direction: column; gap: 22px; margin-top: 14px; }
  .col--center, .split { display: contents; }
  .col--left, .col--right { padding: 0; border: 0; }
  .lead { order: 1; padding-bottom: 16px; }
  .spot { order: 1; margin-top: 0; }
  .spot__link { grid-template-columns: 96px minmax(0, 1fr); column-gap: 12px; }
  .spot__media { height: 96px; padding: 2px; }
  .spot__headline { font-size: 17px; }
  .spot__head { font-size: 12px; gap: 6px; }
  .spot__label { letter-spacing: .02em; padding: 3px 5px 2px; }
  .spot__desc { display: none; }
  .col--left { order: 2; }
  .split > .top { order: 3; padding: 0; border: 0; }
  .split > .most { order: 4; padding: 0; }
  .col--right { order: 5; }

  .lead__headline { font-size: clamp(30px, 9vw, 48px); }
  .lead__deck { font-size: 19px; }
  .lead__updated { font-size: 12px; }
  .latest__list { margin: 0; }
  .latest__list li { grid-template-columns: 56px 1fr; }

  .banner__link { grid-template-columns: 1fr; gap: 14px; padding: 26px 18px 18px; }
  .banner__brand { border-right: 0; padding-right: 0; }
  .banner__cats { font-size: 17px; line-height: 1.3; }
  .banner__cats i { padding: 0 6px; }
  .banner__line { font-size: 14px; }
  .btn-yellow--lg { font-size: 17px; }

  .site-footer__inner { flex-direction: column; align-items: flex-start; }

  .prose { padding: 14px 0 0; font-size: 17px; }
  .prose__lead { font-size: 20px; }
  .prose__email { font-size: 17px; }
  .contact-list { grid-template-columns: 1fr; }
}

@media print {
  .sponsor, .banner, .spot, .catnav, .shift, .preview-note { display: none; }
  .layout { display: block; }
}

/* ============ Light and dark (follows the device setting; no toggle, no storage) ============
   Red is reserved for the brand, section bars, BREAKING and keyboard focus. Routine labels are neutral. */
:root {
  color-scheme: light dark;
  --line: #111; --chip: #ededed; --time: #555; --label: #333; --link: #333; --red-fill: #d7141a;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #151515; --panel: #1e1e1e; --ink: #e8e8e6; --ink-2: #c4c4c2; --muted: #9a9a98; --rule: #333;
    --red: #ff5c5c; --red-dark: #ff8a8a; --red-fill: #c41218;
    --line: #5c5c5a; --chip: #262626; --time: #a8a8a6; --label: #c4c4c2; --link: #e8e8e6;
  }
  /* Beeline creative keeps its own colors in both modes */
  .sponsor__label, .banner__label, .btn-yellow, .spot__label { color: #111; }
  .banner__link { background: #111; box-shadow: 0 0 0 1px #333; }
  .skip-link { color: #111; }
  .bar--black { background: #2b2b2b; }
  .shift__form input { background: var(--panel); border-color: #444; }
  .shift__form button { color: #111; }
}

/* ============ Self-hosted condensed family (Roboto Condensed, SIL OFL 1.1; assets/fonts/) ============
   Served from usmfg.news itself: no third-party request. Beeline creative keeps its original faces. */
@font-face {
  font-family: "USMFG Condensed";
  src: url("../fonts/roboto-condensed-latin.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --f-ad-display: "USMFG Display", Impact, Haettenschweiler, "Franklin Gothic Heavy", "Arial Narrow Bold",
    "Arial Narrow", "Roboto Condensed", "Liberation Sans Narrow", "Nimbus Sans Narrow",
    "DejaVu Sans Condensed", sans-serif-condensed, sans-serif;
  --f-ad-head: "Arial Narrow", "Roboto Condensed", "Helvetica Neue Condensed",
    "Liberation Sans Narrow", "Nimbus Sans Narrow", "DejaVu Sans Condensed",
    sans-serif-condensed, "Helvetica Neue", Arial, sans-serif;
  --f-display: "USMFG Condensed", var(--f-ad-display);
  --f-head: "USMFG Condensed", var(--f-ad-head);
}
.brand__title, .lead__headline, .bar, .rule-head, .tag-red, .spot__head, .prose h3, .shift__form button {
  font-weight: 800; font-synthesis-weight: none;
}
.beeline-logo__name, .btn-yellow, .banner__cats { font-family: var(--f-ad-display); }
.beeline-logo__sub { font-family: var(--f-ad-head); }
