/* thecanadian.news news stories: additions on top of guide.css (load guide.css first).
   Markup: built by newsroom/news/build_story.py from story.json. Tokens, header, sources,
   citations, footer and related cards all come from guide.css; this file only adds the
   story layout, the updates thread, the key facts box, claims we checked and the method note. */

/* ---------- layout: body column + key facts rail (desktop) ---------- */
.story{position:relative}
.story .s-head,.story .s-body{min-width:0}
@media (min-width:1100px){
  .story{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:var(--rail-gap);align-items:start}
  .story .s-head,.story .s-body{grid-column:1}
  .story .facts-box{grid-column:2;grid-row:1 / span 2;position:sticky;top:24px;margin-top:40px}
}

/* ---------- head ---------- */
.story .kick{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ember-ink)}
.story .kick .live{display:inline-flex;align-items:center;gap:7px;color:var(--sub)}
.story .kick .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ember)}
.story h1{text-transform:none;font-weight:750;font-size:clamp(31px,4.4vw,48px);line-height:1.08;letter-spacing:-.022em;max-width:24ch;margin-top:14px}
.story .dek{max-width:60ch}
.story .byline time{white-space:nowrap}

/* ---------- key facts ---------- */
.facts-box{margin-top:26px;padding:20px 22px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.facts-box h2{margin:0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.facts-box ul{list-style:none;margin:12px 0 0}
.facts-box li{position:relative;padding:9px 0 9px 16px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.55;color:var(--ink)}
.facts-box li:first-child{border-top:0;padding-top:4px}
.facts-box li::before{content:"";position:absolute;left:1px;top:1.05em;width:6px;height:6px;border-radius:50%;background:var(--ember)}
.facts-box li:first-child::before{top:.75em}

/* ---------- latest updates thread ---------- */
.updates{margin-top:40px}
.updates > h2{margin:0 0 4px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-ink)}
.updates ol{list-style:none;margin:14px 0 0;border-left:1px solid var(--line)}
.updates li{position:relative;padding:4px 0 22px 22px}
.updates li::before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--ember)}
.updates li:last-child{padding-bottom:4px}
.updates li > time{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--sub)}
.updates li p{margin:6px 0 0;font-size:15.5px;color:var(--ink);max-width:66ch}
.updates li:target{background:var(--hit);border-radius:0 10px 10px 0}

/* ---------- body ---------- */
.s-body > p:first-of-type{color:var(--ink)}
.s-body blockquote.q{margin:22px 0;padding:4px 0 4px 20px;border-left:2px solid var(--ember);font-size:17px;line-height:1.6;color:var(--ink);max-width:62ch}
.s-body blockquote.q cite{display:block;margin-top:8px;font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--faint)}

/* ---------- claims we checked ---------- */
.claims{list-style:none;margin:18px 0 0;border-top:1px solid var(--line)}
.claims li{padding:20px 2px;border-bottom:1px solid var(--line)}
.claims .verdict{display:inline-block;padding:0 9px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:10px;line-height:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-ink)}
.claims .verdict.ctx{color:var(--sub)}
.claims .claim{margin:10px 0 0;font-size:16px;font-weight:600;color:var(--ink);max-width:66ch}
.claims .where{margin:4px 0 0;font-family:var(--mono);font-size:11.5px;color:var(--faint);max-width:none}
.claims .where a{color:var(--sub)}
.claims .record{margin:10px 0 0;font-size:15px}

/* ---------- how we report ---------- */
.method{margin-top:48px;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.method h2{margin:0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.method p{margin:10px 0 0;font-size:14.5px;line-height:1.7}
.method a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(224,73,46,.55);text-underline-offset:3px}

@media print{ .story{display:block} .story .facts-box{position:static} }
