/* ==========================================================================
   ARTICLE V2 — NEWS BUILD #3, PHASE D (Lane A, 2026-10-17)
   The approved article direction (work/article-v2.html, James 2026-10-17:
   "Build the News direction as mocked") layered over the canonical
   article template. Loaded LAST in <head> by article_template.py
   (marker: article-v2.css) so it wins ties against the legacy sheets
   (theme-desert.css, site-header.css) that repainted earlier skins.

   House system: ground #000000 · surfaces #101010 / #1B1B1B · lines
   #2C2C2C · silver #A5ACAF · signal red #E10600 · display type
   'Previously Display' (Marathon) 400 only. No bordered trays: modules
   are tonal surfaces + soft shadow. No pills.

   Preserved untouched by design: drop-cap placement + tight metrics +
   signal-red color (the .ed-dropcap float/size/padding rules in
   article-editorial.css are NOT redefined here — only its typeface
   follows the house display face), Short Version structure, the
   collapsed sources disclosure mechanics, ad slot markers.

   VARIANT NOTE (found in rollout verification, 2026-10-17): 232 of
   2,264 fleet articles carry a body WITHOUT the ed-redesign class
   (overlay-hero builder variant). This sheet is loaded ONLY by
   article pages, so the skin rules are scoped to plain `body` and
   cover both variants; only the laptop hero-copy grid + meta rail
   stay scoped to body.ed-redesign (the flow variant) — on overlay
   pages the rail stays hidden and the byline row (with its Updated
   stamp) is the meta furniture at every width.
   ========================================================================== */

/* ---------- tokens + ground ---------- */
html[data-theme="d3"] body,
body{
  --ed-page:#000000; --ed-surface:#101010; --ed-surface-2:#1B1B1B;
  --ed-ink:#F2F2F2; --ed-copy:#E8E8E8; --ed-muted:#A5ACAF; --ed-faint:#8C9399;
  --ed-line:#2C2C2C; --ed-line-strong:#3A3A3A;
  --ed-accent:#E10600; --ed-amber:#E10600;
  --desert-bg:#000000; --desert-bg-rgb:0,0,0;
  --desert-ink:#F2F2F2; --desert-ink-rgb:242,242,242;
  --desert-ink-dim:#C9CCCE; --desert-ink-faint:#A5ACAF;
  --desert-rule:#2C2C2C; --desert-accent:#E10600; --desert-accent-deep:#8F0400;
  --desert-card:#101010; --desert-card-rgb:16,16,16;
  --desert-shadow-rgb:0,0,0;
  background:#000000 !important;
  color:#E8E8E8;
}
html[data-theme="d3"] body{background:#000000 !important;color:#E8E8E8}

/* ---------- hero furniture (kicker row / headline / dek) ---------- */
body .ed-hero{background:transparent !important}
body.ed-redesign .ed-hero-copy{max-width:1180px}
body .ed-kickerrow{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 12px}
body .ed-kickerrow .ed-kicker{margin:0 !important}
body .ed-kicker,
html[data-theme="d3"] body .ed-kicker{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:#E10600 !important}
body .ed-status{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  font-weight:400;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:#A5ACAF;display:inline-flex;align-items:center}
body .ed-status i{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#E10600;margin-right:6px;flex:none}
body .ed-status--breaking{
  background:#E10600;color:#FFFFFF;padding:4px 9px;border-radius:2px}
body .ed-status--breaking i{background:#FFFFFF}
body .ed-hero-copy h1,
html[data-theme="d3"] body .ed-hero-copy h1{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400 !important;font-size:34px;line-height:1.04;letter-spacing:.015em;
  text-transform:uppercase;color:#F2F2F2 !important;margin:0 0 14px;text-wrap:pretty}
body .ed-hero-copy .ed-deck,
body .ed-hero-copy .ed-dek,
html[data-theme="d3"] body .ed-hero-copy .ed-deck,
html[data-theme="d3"] body .ed-hero-copy .ed-dek{
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  font-size:17.5px;line-height:1.55;color:#C9CCCE !important;max-width:68ch;margin:0 0 20px}
@media (min-width:1024px){
  body .ed-hero-copy h1,
  html[data-theme="d3"] body .ed-hero-copy h1{font-size:56px}
  body .ed-hero-copy .ed-deck,
  body .ed-hero-copy .ed-dek{font-size:20px}
}

/* ---------- meta bar (phone) ---------- */
body .ed-byline-row{
  border-top:1px solid #2C2C2C !important;border-bottom:1px solid #2C2C2C !important;
  padding:13px 0;margin:0 0 22px}
body .ed-avatar{background:#1B1B1B !important;color:#F2F2F2 !important;
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;font-weight:400}
body .ed-byline{color:#F2F2F2 !important;font-size:14.5px}
body .ed-byline b{color:#F2F2F2 !important;font-weight:700}
body .ed-byline .ed-sub{
  font-size:13px !important;font-weight:400;letter-spacing:0 !important;
  text-transform:none !important;color:#A5ACAF !important}
body .ed-byline .ed-sub b{color:#F2F2F2;font-weight:600}
body .ed-hero .ed-share a,
body .ed-hero .ed-share button{
  border:1px solid #2C2C2C !important;border-radius:50%;background:transparent;
  color:#A5ACAF !important;backdrop-filter:none}
body .ed-hero .ed-share a:hover,
body .ed-hero .ed-share button:hover{background:#E10600;color:#FFFFFF !important}

/* ---------- meta rail (laptop) ---------- */
.ed-metarail{display:none}
@media (min-width:1024px){
  body.ed-redesign .ed-metarail{display:block}
  body.ed-redesign .ed-hero-copy{
    display:grid;grid-template-columns:210px minmax(0,700px);
    column-gap:44px;justify-content:center;max-width:1180px}
  body.ed-redesign .ed-hero-copy>.ed-metarail{
    display:block;grid-column:1;grid-row:1 / span 12;padding-top:6px}
  body.ed-redesign .ed-metarail .rlabel{
    font-family:'Previously Display','Marathon Long Run Display',sans-serif;
    font-size:11.5px;letter-spacing:.11em;color:#A5ACAF;text-transform:uppercase;
    margin-top:20px}
  body.ed-redesign .ed-metarail .rlabel:first-child{margin-top:0}
  body.ed-redesign .ed-metarail .rval{
    font-size:14.5px;font-weight:600;color:#F2F2F2;margin-top:5px;line-height:1.45}
  body.ed-redesign .ed-metarail .rval small{
    display:block;color:#A5ACAF;font-weight:400;font-size:12.5px;margin-top:2px}
  body.ed-redesign .ed-hero-copy>*{grid-column:2}
}

/* ---------- hero photo + credit ---------- */
body .ed-photo-credit,
body .ed-hero-media .ed-photo-credit{color:#A5ACAF !important;font-size:12.5px}
body .ed-photo-credit b,
body .ed-photo-credit strong{color:#F2F2F2 !important}

/* ---------- prose ---------- */
body .ed-prose>p,
body .ed-prose>p.ed-lede,
html[data-theme="d3"] body .ed-prose>p,
html[data-theme="d3"] body .ed-prose>p.ed-lede{
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  font-size:17px;line-height:1.72;color:#E8E8E8 !important}
body .ed-prose>p.ed-lede{font-size:18.5px;color:#EDEDED !important}
body .ed-prose h2,
body .ed-prose h2.ed-subhead,
html[data-theme="d3"] body .ed-prose h2.ed-subhead{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;font-size:22px;line-height:1.15;letter-spacing:.05em;
  text-transform:uppercase;color:#F2F2F2 !important}
body .ed-prose h2.ed-subhead .ed-sk{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  color:#E10600;font-size:12px;letter-spacing:.11em}
body .ed-prose a{color:#F2F2F2 !important;
  text-decoration:underline;text-decoration-color:#E10600;text-underline-offset:3px}
body .ed-prose blockquote,
body .ed-pullquote{
  border-left:3px solid #E10600 !important;background:transparent}
body .ed-prose blockquote,
body .ed-prose blockquote p,
body .ed-pullquote p{
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  font-style:italic;font-size:19px;line-height:1.55;color:#E8E8E8 !important}
body .ed-prose blockquote cite,
body .ed-pullquote cite{color:#A5ACAF !important}
/* Drop cap: typeface follows the house display face ONLY — float, size,
   padding and the signal-red color from the drop-cap fix are untouched. */
body .ed-prose .ed-dropcap,
html[data-theme="d3"] body .ed-prose .ed-dropcap{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important}
/* Dateline filing stamp: retired brick pin -> signal red (house accent). */
body .ed-dateline-place{color:#E10600 !important}
body .ed-prose>p.ed-dateline-line::before{background:#E10600 !important}
body .ed-prose>p.ed-dateline-line{color:#8C9399 !important}
body .ed-dateline-rest{color:#8C9399 !important}

/* ---------- Short Version (structure preserved, house skin) ---------- */
body .ed-short{
  background:linear-gradient(180deg,#131313,#0B0B0B) !important;color:#E8E8E8 !important;
  border:0 !important;border-radius:6px;box-shadow:0 10px 26px rgba(0,0,0,.45)}
body .ed-short-label{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:#E10600 !important}
body .ed-short-label::after{background:#2C2C2C !important}
body .ed-short li{
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  font-size:15px;line-height:1.5;color:#E8E8E8 !important;border-top-color:#2C2C2C}
body .ed-short li::before{background:#E10600 !important;border-radius:1px}

/* ---------- sources (collapsed disclosure preserved, house skin) ---------- */
body .news-sources,
body .ed-sources,
body section.news-sources{
  background:#101010;border:0;border-radius:6px;padding:15px 18px;
  color:#A5ACAF !important;font-size:14px;line-height:1.55}
body .news-sources h2,
body .ed-sources h2{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#A5ACAF !important}
body .news-sources li,
body .news-sources a,
body .news-sources .pub{color:#A5ACAF !important;font-size:14px}
body .news-sources a{text-decoration-color:#E10600}
body details.pv-sources>summary.pv-sources-summary{color:#A5ACAF}
body details.pv-sources>summary:focus-visible{outline-color:#E10600}

/* ---------- side rail / author strip / share rail ---------- */
body .ed-side-card{
  background:#101010 !important;border:0 !important;border-radius:6px;
  box-shadow:0 10px 26px rgba(0,0,0,.45)}
body .ed-side-card h4{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;font-size:17px;color:#F2F2F2 !important;border-bottom:0 !important}
body .ed-author-card b{color:#F2F2F2 !important}
body .ed-author-card span{color:#A5ACAF !important}
body .ed-byline-strip .ed-avatar{background:#1B1B1B !important;border-color:#2C2C2C !important}
body .ed-side .ad-slot,
body .ed-side .pv-adslot{border-color:#2C2C2C !important;background:transparent}
body .ad-label,
body .pv-adslot-label{color:#8C9399 !important}
body .ad-slot.ad-leaderboard{border-color:#2C2C2C !important}
body .ed-share-rail .ed-rail-label{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;color:#A5ACAF !important}
body .ed-share-rail a,
body .ed-share-rail button{
  border:1px solid #2C2C2C !important;border-radius:50%;background:#101010;color:#A5ACAF !important}
body .ed-share-rail a:hover,
body .ed-share-rail button:hover{background:#E10600 !important;color:#FFFFFF !important}

/* ---------- More from the newsroom (existing module, house skin) ---------- */
body .ed-more-head h2{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;text-transform:uppercase;color:#F2F2F2 !important}
body .ed-more-head a{color:#A5ACAF !important}
body .ed-mcard{
  background:#101010 !important;border:0 !important;border-radius:6px;overflow:hidden;
  box-shadow:0 10px 26px rgba(0,0,0,.45)}
body .ed-mcard .ed-cat{background:#E10600 !important;color:#FFFFFF !important;border-radius:2px}
body .ed-mcard .ed-tb b{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif !important;
  font-weight:400;text-transform:uppercase;color:#F2F2F2 !important}
body .ed-mcard .ed-tb span{color:#A5ACAF !important}

/* ==========================================================================
   END-MATTER (pv-endm) — rendered client-side by /news/js/endmatter.js
   More in <Section> · More From <Author> · Related · story->surface links.
   Mirrors the approved mock's end-matter composition.
   ========================================================================== */
#pv-endmatter,.pv-endm{max-width:1180px;margin:40px auto 0;padding:0 16px}
.pv-endm-sec{margin-top:34px}
.pv-endm-sec:first-child{margin-top:0}
.pv-endm-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 14px}
.pv-endm-head h3{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  font-weight:400;font-size:21px;letter-spacing:.06em;text-transform:uppercase;color:#F2F2F2}
.pv-endm-head h3 .rd{color:#E10600}
.pv-endm-viewall{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  font-size:12.5px;letter-spacing:.09em;color:#A5ACAF;text-transform:uppercase}
.pv-endm-grid{display:grid;gap:16px}
@media (min-width:1024px){.pv-endm-grid{grid-template-columns:repeat(3,1fr)}}
.pv-endm-card{
  display:block;background:#101010;border-radius:6px;overflow:hidden;
  box-shadow:0 10px 26px rgba(0,0,0,.45);text-decoration:none;color:inherit}
.pv-endm-card img{display:block;width:100%;height:160px;object-fit:cover}
.pv-endm-card-b{padding:12px 14px 14px}
.pv-endm-ck{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  font-size:12px;letter-spacing:.11em;color:#E10600;text-transform:uppercase}
.pv-endm-card h4{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  font-weight:400;font-size:18.5px;line-height:1.13;text-transform:uppercase;
  color:#F2F2F2;margin-top:5px}
.pv-endm-meta{display:flex;gap:6px 9px;font-size:12.5px;color:#A5ACAF;margin-top:8px;flex-wrap:wrap}
.pv-endm-meta .who{color:#F2F2F2;font-weight:600}
.pv-endm-links{
  background:#101010;border-radius:6px;padding:15px 18px;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.pv-endm-links h3{
  font-family:'Previously Display','Marathon Long Run Display',sans-serif;
  font-weight:400;font-size:15px;letter-spacing:.09em;text-transform:uppercase;color:#A5ACAF}
.pv-endm-links ul{list-style:none;margin-top:8px}
.pv-endm-links li{padding:7px 0;border-top:1px solid #2C2C2C;font-size:15px}
.pv-endm-links li:first-child{border-top:none}
.pv-endm-links a{color:#F2F2F2;text-decoration:underline;
  text-decoration-color:#E10600;text-underline-offset:3px}
.pv-endm-links .kind{color:#A5ACAF;font-size:12.5px;margin-left:8px}
