/* =====================================================================
   /news/news.css — shared reading-layout for ASI Lab "Latest Findings"
   articles. Single source of truth for the article body (moved here from
   per-article <style> blocks so new articles link it, never copy it).
   Links AFTER /common.css. Page chrome (brandbar/nav/footer/body) is in
   common.css. Normalized policy: text-align LEFT (removed old justify).
   ===================================================================== */

main { padding: 56px 0 80px; }
.eyebrow { text-transform: uppercase; font-size: .74rem; letter-spacing: 1.8px; color: var(--accent); font-weight: 700; margin-bottom: 10px; }
h1 { font-size: clamp(1.7rem, 4vw, 2.5rem); font-weight: 800; line-height: 1.15; letter-spacing: -.4px; margin-bottom: 14px; }
.subhead { font-size: 1.1rem; color: var(--muted); margin-bottom: 18px; }
.meta { font-size: .88rem; color: var(--muted); margin-bottom: 8px; }
.meta strong { color: var(--ink); }
.venue { display: inline-flex; align-items: center; gap: 8px; background: rgba(107,44,145,.08); border: 1px solid rgba(107,44,145,.16); color: var(--cityu); font-weight: 700; font-size: .82rem; padding: 5px 14px; border-radius: 999px; margin: 10px 0 30px; }
figure { margin: 30px 0; }
figure img { width: 100%; height: auto; display: block; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
figcaption { font-size: .84rem; color: var(--muted); margin-top: 10px; text-align: center; }
h2 { font-size: clamp(1.25rem, 2.5vw, 1.6rem); font-weight: 800; margin: 40px 0 14px; letter-spacing: -.2px; }
p { margin-bottom: 16px; color: #23313f; }
.lead { font-size: 1.05rem; color: #23313f; }
ul { margin: 0 0 16px 20px; }
li { margin-bottom: 10px; }
.facts { background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: var(--radius); padding: 22px 26px; margin: 28px 0; box-shadow: var(--shadow); }
.facts h3 { font-size: 1rem; font-weight: 800; color: var(--cityu); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 12px; }
.facts li { color: #23313f; }
.highlight { background: linear-gradient(180deg, rgba(15,143,143,.08), rgba(107,44,145,.05)); border: 1px solid rgba(15,143,143,.25); border-radius: var(--radius); padding: 22px 26px; margin: 28px 0; }
.highlight h3 { color: var(--accent); font-size: 1.05rem; font-weight: 800; margin-bottom: 8px; }
.code { background: #0f1720; color: #d8e2ec; border-radius: 10px; padding: 18px 20px; font-family: "SF Mono", Menlo, Monaco, Consolas, monospace; font-size: .84rem; line-height: 1.55; overflow-x: auto; white-space: pre; margin: 14px 0; }
.cite-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.btn { display: inline-flex; align-items: center; gap: 7px; padding: 11px 20px; border-radius: 999px; font-weight: 700; font-size: .92rem; background: var(--accent); color: #fff; transition: transform .15s, background .15s; }
.btn:hover { background: #0c6f6f; transform: translateY(-2px); text-decoration: none; }
.btn.ghost { background: rgba(107,44,145,.08); color: var(--cityu); border: 1px solid rgba(107,44,145,.2); }
.btn.ghost:hover { background: rgba(107,44,145,.15); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.tag { font-size: .76rem; font-weight: 700; color: var(--cityu); background: rgba(107,44,145,.08); border: 1px solid rgba(107,44,145,.16); padding: 4px 12px; border-radius: 999px; }