:root{
  --canvas:#ffffff; --surface:#f1f1f1; --ink:#111111; --ink-soft:#4a4a4a;
  --red:#c8102e; --red-dark:#9d0c24; --yellow:#ffd400; --rule:#d6d6d6;
  --shell:1280px;
  --cond:"Arial Narrow","Helvetica Neue Condensed","Roboto Condensed",Arial,sans-serif;
  --heavy:"Arial Black","Helvetica Neue",Impact,Arial,sans-serif;
  --body:Arial,Helvetica,"Liberation Sans",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.55 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--red)}
a:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.shell{max-width:var(--shell);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px;top:0;background:var(--yellow);color:#111;padding:8px 12px;font:700 13px var(--cond);z-index:99}
.skip:focus{left:8px;top:8px}

/* ---- header ---- */
.utility{background:#111;color:#fff;font:700 11px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase}
.utility .shell{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;min-height:30px;padding-top:8px;padding-bottom:8px}
.utility a{color:#fff;text-decoration:none}
.utility a:hover{color:var(--yellow)}
.utility ul{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none}
.utility .edition{color:#c9c9c9}
.utility .edition b{color:#fff}

.brandrow{border-bottom:3px solid #111;background:#fff}
.brandrow .shell{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:12px}
.mark{display:flex;align-items:center;gap:12px;text-decoration:none}
.mark img{width:54px;height:54px}
.wordmark{font:900 30px/0.95 var(--heavy);letter-spacing:-.02em;text-transform:uppercase}
.wordmark .a{color:var(--red)}
.wordmark .b{color:#111}
.descriptor{font:700 11px/1.2 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px}
.archive-util{font:700 11px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:8px}
.archive-util a{border:1px solid var(--rule);padding:7px 10px;text-decoration:none;background:var(--surface)}
.archive-util a:hover{background:var(--red);border-color:var(--red);color:#fff}

.sectionbar{background:var(--red)}
.sectionbar ul{max-width:var(--shell);margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;list-style:none;gap:0}
.sectionbar a{display:block;color:#fff;text-decoration:none;padding:10px 13px;font:700 13px/1 var(--cond);letter-spacing:.07em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.28)}
.sectionbar a:hover,.sectionbar a[aria-current]{background:#111;color:#fff}

/* ---- ticker ---- */
.ticker{background:#111;color:#fff;border-bottom:3px solid var(--red)}
.ticker .shell{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:baseline;padding-top:10px;padding-bottom:10px}
.bug{background:var(--yellow);color:#111;font:900 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;white-space:nowrap}
.ticker p{margin:0;font:700 15px/1.35 var(--cond);letter-spacing:.06em;text-transform:uppercase}
.ticker b{color:var(--yellow)}

/* ---- front grid ---- */
main{display:block}
.frontgrid{display:grid;grid-template-columns:7fr 3fr 2.2fr;gap:26px;padding:24px 0 8px}
.col-rail{border-left:1px solid var(--rule);padding-left:18px}
.boxhead{background:#111;color:#fff;font:900 13px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;padding:8px 10px;margin:0 0 12px}
.boxhead.red{background:var(--red)}
.catbug{display:inline-block;background:var(--red);color:#fff;font:900 11px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;margin-bottom:10px}
.lead h2{font:900 52px/0.98 var(--cond);letter-spacing:-.01em;margin:0 0 12px;text-transform:uppercase}
.leadfig{margin:0 0 12px;border-top:3px solid #111}
.leadfig figcaption{font:700 11px/1.4 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:7px 0;border-bottom:1px solid var(--rule)}
.deck{font-size:18px;line-height:1.5;margin:0 0 14px}
.leadlinks{display:grid;grid-template-columns:1fr;border-top:1px solid var(--rule)}
.leadlinks a{padding:11px 0 11px 18px;position:relative;font:700 12px/1.3 var(--cond);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--rule)}
.leadlinks a::before{content:"›";position:absolute;left:0;top:10px;color:var(--red);font-size:16px;line-height:1}

.urgent ol{list-style:none;margin:0;padding:0}
.urgent li{border-bottom:1px solid var(--rule);padding:0 0 11px;margin-bottom:11px}
.urgent .stamp,.rail .stamp,.rowlist .stamp{display:block;font:700 10px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:5px}
.urgent a{font:700 19px/1.2 var(--cond);text-decoration:none;display:block}
.urgent a:hover{color:var(--red)}

.rail > ol{list-style:none;margin:0;padding:0;counter-reset:r}
.rail > ol > li{display:grid;grid-template-columns:38px 1fr;gap:9px;border-bottom:1px solid var(--rule);padding-bottom:10px;margin-bottom:10px}
.rail > ol > li::before{counter-increment:r;content:counter(r);font:900 34px/0.85 var(--heavy);color:var(--red)}
.rail a{font:700 14px/1.25 var(--cond);text-decoration:none;display:block}
.rail a:hover{color:var(--red)}
.rail time,.rowlist time{display:block;font:700 10px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px}
.editionbox{margin-top:18px;background:var(--surface);border-top:3px solid #111;padding:12px}
.editionbox h3{font:900 12px/1 var(--cond);letter-spacing:.13em;text-transform:uppercase;margin:0 0 9px}
.editionbox ul{list-style:none;margin:0;padding:0;font:700 12px/1.5 var(--cond);letter-spacing:.05em;text-transform:uppercase}
.editionbox li{border-top:1px solid var(--rule);padding:6px 0}
.editionbox li:first-child{border-top:0}

/* ---- bands ---- */
.band{border-top:3px solid #111;margin-top:22px;padding-top:0}
.band > h2{background:var(--red);color:#fff;font:900 14px/1 var(--cond);letter-spacing:.15em;text-transform:uppercase;margin:0;padding:9px 12px}
.bandbody{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px;padding-top:6px}
.rowlist{list-style:none;margin:0;padding:0}
.rowlist li{border-bottom:1px solid var(--rule);padding:11px 0}
.rowlist a{font:700 17px/1.25 var(--cond);text-decoration:none;display:block}
.rowlist a:hover{color:var(--red)}
.rowlist p{margin:5px 0 0;font-size:14px;color:var(--ink-soft)}

/* ---- strip ---- */
.strip{border-top:3px solid #111;margin-top:24px}
.strip h2{background:#111;color:#fff;font:900 14px/1 var(--cond);letter-spacing:.15em;text-transform:uppercase;margin:0;padding:9px 12px}
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 0 4px}
.plate figcaption{font:700 11px/1.45 var(--cond);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);padding-top:7px;border-top:1px solid var(--rule)}
.plate figcaption b{display:block;color:#111;font-size:13px;letter-spacing:.1em}

/* ---- footer ---- */
footer{background:#111;color:#cfcfcf;margin-top:34px;border-top:5px solid var(--red)}
footer a{color:#fff;text-decoration:none}
footer a:hover{color:var(--yellow);text-decoration:underline}
.footcols{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:26px 0 18px}
.footcols h2{font:900 12px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 11px;padding-bottom:7px;border-bottom:1px solid #3a3a3a}
.footcols ul{list-style:none;margin:0;padding:0;font:400 13px/1.9 var(--body)}
.footbar{border-top:1px solid #333;padding:12px 0 26px;display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;font:700 11px/1.6 var(--cond);letter-spacing:.1em;text-transform:uppercase}
.footbar ul{list-style:none;display:flex;gap:16px;margin:0;padding:0}

/* ---- detail pages ---- */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:40px;padding:24px 0 0;align-items:start;max-width:1060px}
.detail.wide{grid-template-columns:minmax(0,1fr);max-width:none}
.detail .prose{max-width:70ch}
.detail .page > .band,.detail .page .firms,.detail .page .tablewrap{max-width:none}
.article h1,.page h1{font:900 40px/1.03 var(--cond);text-transform:uppercase;margin:0 0 10px;letter-spacing:-.005em}
.meta{font:700 11px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-bottom:3px solid #111;padding-bottom:10px;margin-bottom:16px}
.meta .sep{color:var(--red);padding:0 6px}
.prose{max-width:68ch}
.prose p{margin:0 0 15px}
.prose h2{font:900 24px/1.15 var(--cond);text-transform:uppercase;margin:26px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.prose h3{font:900 20px/1.2 var(--cond);text-transform:uppercase;margin:22px 0 8px}
.prose h4,.prose h5,.prose h6{font:700 17px/1.3 var(--cond);text-transform:uppercase;margin:20px 0 7px;color:var(--red)}
.prose ul,.prose ol{margin:0 0 16px;padding-left:20px}
.prose li{margin-bottom:6px}
.prose a{color:var(--red)}
.prose table{border-collapse:collapse;width:100%;margin:0 0 18px;font-size:15px}
.prose th,.prose td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--surface);font:700 12px/1.3 var(--cond);letter-spacing:.08em;text-transform:uppercase}
.prose blockquote{margin:0 0 16px;padding-left:14px;border-left:4px solid var(--red)}
.tablewrap{overflow-x:auto}
/* a leading short list is the source's day/section tab strip: render it as one */
.prose > ul:first-child{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:0 0 20px;border-top:3px solid #111;border-bottom:1px solid var(--rule)}
.prose > ul:first-child > li{font:700 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;padding:11px 15px;border-right:1px solid var(--rule);margin:0}
.prose > ul:first-child > li:first-child{color:#fff;background:var(--red);border-right-color:var(--red)}
.firms{columns:4;column-gap:26px;font-size:14px;line-height:1.7;list-style:none;padding:0;margin:0 0 18px}
.firms li{break-inside:avoid;border-bottom:1px solid var(--rule);padding:3px 0}
.breadcrumb{font:700 11px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;padding:14px 0 0}
.breadcrumb a{text-decoration:none;color:var(--red)}
.sectionreturn{margin-top:26px;border-top:3px solid #111;padding-top:12px;font:700 12px/1 var(--cond);letter-spacing:.11em;text-transform:uppercase}
.sectionreturn a{text-decoration:none}
.sectionreturn a::after{content:" ›";color:var(--red)}
.related{margin-top:26px;border-top:3px solid #111}
.related h2{background:#111;color:#fff;font:900 12px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;padding:8px 10px}

@media (max-width:1000px){
  .frontgrid{grid-template-columns:1fr 1fr;gap:22px}
  .col-rail{grid-column:1 / -1;border-left:0;border-top:3px solid #111;padding-left:0;padding-top:14px}
  .detail{grid-template-columns:1fr}
  .plates{grid-template-columns:1fr 1fr}
  .footcols{grid-template-columns:1fr 1fr}
  .firms{columns:3}
}
@media (max-width:720px){
  .frontgrid{grid-template-columns:1fr;gap:20px}
  .col-lead{order:2}
  .col-urgent{order:3}
  .col-rail{order:4}
  .bandbody{grid-template-columns:1fr}
  .plates{grid-template-columns:1fr}
  .footcols{grid-template-columns:1fr}
  .firms{columns:2}
  .lead h2{font-size:46px}
  .article h1,.page h1{font-size:32px}
  .wordmark{font-size:24px}
  .mark img{width:44px;height:44px}
  .prose table,.prose thead{display:block}
  .prose table tr{display:block;border:1px solid var(--rule);border-bottom:0;margin:0}
  .prose table tr:last-child{border-bottom:1px solid var(--rule)}
  .prose th,.prose td{display:block;border:0;border-bottom:1px solid var(--rule)}
  .prose tr td:first-child{background:var(--red);color:#fff;font:700 12px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase}
  .prose tr td:first-child a{color:#fff}
}
@media (max-width:420px){
  .lead h2{font-size:38px}
  .firms{columns:1}
}
@media print{.sectionbar,.utility{background:#fff;color:#000}}
