
:root {
  --paper: #ffffff;
  --paper-soft: #f6f7f9;
  --ink: #111318;
  --muted: #69707d;
  --line: #dfe3e8;
  --accent: #1769ff;
  --accent-2: #0b42a7;
  --danger: #cf2536;
  --headline: "Manrope", Arial, sans-serif;
  --body: "DM Sans", Arial, sans-serif;
  --serif: "Newsreader", Georgia, serif;
  --max: 1320px;
  --shadow: 0 18px 60px rgba(15, 23, 42, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nn { --paper:#fff; --paper-soft:#f4f6f8; --ink:#111318; --muted:#68707d; --line:#dfe3e8; --accent:#1769ff; --accent-2:#0b3f9e; --headline:"Manrope",Arial,sans-serif; }
body.gw { --paper:#f8f5ee; --paper-soft:#eee8dc; --ink:#171611; --muted:#6c675c; --line:#cfc7b8; --accent:#8f2030; --accent-2:#4c111b; --headline:"Newsreader",Georgia,serif; }
body.gn { --paper:#f8f8fb; --paper-soft:#ececf4; --ink:#101018; --muted:#626276; --line:#d9d9e5; --accent:#5746e6; --accent-2:#2d237f; --headline:"Space Grotesk",Arial,sans-serif; }

[data-theme="dark"] { --paper:#0e1117; --paper-soft:#151a22; --ink:#f6f7f9; --muted:#a7afbb; --line:#2a303a; }
[data-theme="dark"] .site-header,
[data-theme="dark"] .main-nav,
[data-theme="dark"] .mobile-dock,
[data-theme="dark"] .modal-container,
[data-theme="dark"] .bookmarks-panel { background: var(--paper); }
[data-theme="dark"] .network-bar { background:#090b0f; }
[data-theme="dark"] img { opacity:.94; }

img { max-width:100%; display:block; }
button, input { font: inherit; }
button { color: inherit; }
a { color: inherit; }
:focus-visible { outline:3px solid color-mix(in srgb, var(--accent) 65%, white); outline-offset:3px; }

.skip-link { position:fixed; left:12px; top:-60px; z-index:9999; background:var(--ink); color:var(--paper); padding:10px 14px; text-decoration:none; }
.skip-link:focus { top:12px; }

.network-bar { background:#101216; color:#c9ced7; font-size:12px; letter-spacing:.02em; }
.network-inner { max-width:var(--max); margin:auto; height:34px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.network-links { display:flex; gap:18px; align-items:center; }
.network-links a { text-decoration:none; color:#c9ced7; }
.network-links a.active { color:#fff; font-weight:700; }
.network-links a:hover { color:#fff; }
.network-date { color:#969eaa; }

.site-header { background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner { max-width:var(--max); margin:auto; min-height:94px; padding:16px 24px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.header-left { display:flex; align-items:center; gap:14px; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.09em; }
.brand { text-decoration:none; display:flex; align-items:center; justify-content:center; min-width:260px; }
.brand-mark { width:38px; height:38px; margin-right:12px; object-fit:contain; }
.brand-word { font-family:var(--headline); font-size:34px; font-weight:800; letter-spacing:-.045em; line-height:1; }
.brand-word em { font-style:normal; color:var(--accent); }
.brand-kicker { display:block; text-align:center; margin-top:6px; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.header-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; }
.icon-btn, .account-btn, .sign-in-btn, .sign-up-btn { border:0; background:transparent; text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; }
.icon-btn { width:40px; border:1px solid var(--line); }
.account-btn, .sign-in-btn { padding:0 14px; border:1px solid var(--line); font-weight:700; font-size:13px; }
.sign-up-btn { padding:0 14px; background:var(--ink); color:var(--paper); font-weight:700; font-size:13px; }
.user-avatar-wrap { position:relative; cursor:pointer; }
.user-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid var(--line); }
.avatar-badge { position:absolute; right:-4px; top:-4px; min-width:18px; height:18px; border-radius:50%; background:var(--danger); color:white; font-size:10px; display:grid; place-items:center; border:2px solid var(--paper); }
.profile-dropdown-wrap { position:relative; }
.profile-dropdown { position:absolute; top:52px; right:0; width:260px; z-index:3000; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); padding:8px; display:none; }
.profile-dropdown.open { display:block; }
.dropdown-header { display:flex; align-items:center; gap:12px; padding:10px; }
.dropdown-header img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.dropdown-header small { display:block; color:var(--muted); margin-top:3px; }
.dropdown-divider { height:1px; background:var(--line); margin:6px 0; }
.dropdown-item { width:100%; border:0; background:transparent; text-decoration:none; text-align:left; padding:10px; display:flex; align-items:center; gap:10px; cursor:pointer; color:var(--ink); }
.dropdown-item:hover { background:var(--paper-soft); }
.dropdown-item.logout { color:var(--danger); }
.dropdown-badge { margin-left:auto; background:var(--danger); color:white; padding:2px 6px; border-radius:10px; font-size:10px; }

.main-nav { background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:900; }
.nav-inner { max-width:var(--max); margin:auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; }
.nav-list { display:flex; align-items:center; gap:25px; list-style:none; margin:0; padding:0; overflow:auto; scrollbar-width:none; }
.nav-list::-webkit-scrollbar { display:none; }
.nav-list a { display:flex; align-items:center; min-height:50px; text-decoration:none; font-size:13px; font-weight:700; white-space:nowrap; color:var(--muted); border-bottom:2px solid transparent; }
.nav-list a:hover, .nav-list a.active { color:var(--ink); border-bottom-color:var(--accent); }
.nav-tools { display:flex; align-items:center; gap:8px; margin-left:18px; }
.nav-tool { border:0; background:transparent; cursor:pointer; font-size:12px; font-weight:700; color:var(--muted); }

.breaking-line { border-bottom:1px solid var(--line); background:var(--paper); }
.breaking-inner { max-width:var(--max); margin:auto; padding:0 24px; height:42px; display:flex; align-items:center; gap:18px; overflow:hidden; }
.breaking-label { font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.live-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent); animation:pulse 1.8s infinite; }
@keyframes pulse { 50% { box-shadow:0 0 0 9px transparent; } }
.ticker-container { min-width:0; flex:1; overflow:hidden; }
.ticker-track { display:flex; align-items:center; width:max-content; animation:ticker 35s linear infinite; }
.ticker-track.paused { animation-play-state:paused; }
.ticker-item { font-size:13px; white-space:nowrap; cursor:pointer; }
.ticker-item::after { content:"•"; margin:0 22px; color:var(--line); }
@keyframes ticker { to { transform:translateX(-50%); } }
.ticker-control-btn { width:28px; height:28px; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.speed-panel { position:fixed; top:130px; right:24px; z-index:2500; width:280px; padding:14px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); display:none; }
.speed-panel.open { display:block; }
.speed-panel-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.speed-panel-title { font-weight:800; font-size:13px; }
.speed-panel-close { border:0; background:transparent; cursor:pointer; }
.speed-control-row { display:flex; gap:12px; align-items:center; font-size:12px; color:var(--muted); }
.speed-slider-wrap { display:flex; align-items:center; gap:8px; flex:1; }
.speed-slider { width:100%; }
.playback-controls { display:flex; gap:6px; margin-top:12px; }
.playback-btn { border:1px solid var(--line); background:transparent; padding:7px 9px; cursor:pointer; font-size:11px; }
.playback-btn.active { background:var(--ink); color:var(--paper); }

.page { max-width:var(--max); margin:auto; padding:34px 24px 90px; }
.page-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding-bottom:18px; border-bottom:4px solid var(--ink); margin-bottom:26px; }
.page-intro h1 { margin:0; font-family:var(--headline); font-size:clamp(30px,4vw,48px); letter-spacing:-.045em; line-height:1; }
.page-intro p { margin:0; max-width:520px; color:var(--muted); font-size:14px; line-height:1.55; }

.eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; margin-bottom:9px; }
.story-title { font-family:var(--headline); margin:0; letter-spacing:-.032em; line-height:1.04; }
.story-title.clamp-1, .story-title.clamp-2, .story-title.clamp-3 { display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.story-title.clamp-1 { -webkit-line-clamp:1; }
.story-title.clamp-2 { -webkit-line-clamp:2; }
.story-title.clamp-3 { -webkit-line-clamp:3; }
.deck { color:var(--muted); line-height:1.55; margin:12px 0 0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.story-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:14px; font-size:11px; color:var(--muted); }
.story-meta strong { color:var(--ink); }
.story-meta img { width:24px; height:24px; border-radius:50%; object-fit:cover; }
.story-link { cursor:pointer; }
.story-link:hover .story-title { color:var(--accent); }
.story-image { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.story-link:hover .story-image { transform:scale(1.015); }
.media-frame { overflow:hidden; background:var(--paper-soft); }

/* NerddNews */
.nn-lead { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr); gap:28px; border-bottom:1px solid var(--line); padding-bottom:32px; }
.nn-primary .media-frame { aspect-ratio:16/9; }
.nn-primary .story-title { font-size:clamp(34px,4.2vw,60px); margin-top:15px; max-width:1040px; }
.nn-primary .deck { max-width:820px; font-size:16px; }
.nn-secondary-stack { border-left:1px solid var(--line); padding-left:28px; display:flex; flex-direction:column; }
.nn-secondary { padding:0 0 20px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.nn-secondary:last-child { border-bottom:0; margin-bottom:0; }
.nn-secondary:first-child .media-frame { aspect-ratio:16/9; margin-bottom:14px; }
.nn-secondary .story-title { font-size:23px; }
.nn-secondary.compact { display:grid; grid-template-columns:104px 1fr; gap:14px; align-items:start; }
.nn-secondary.compact .media-frame { aspect-ratio:1/1; }
.nn-secondary.compact .story-title { font-size:17px; line-height:1.12; }

.content-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr); gap:44px; margin-top:42px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; border-top:4px solid var(--ink); padding-top:10px; margin-bottom:10px; }
.section-heading h2 { margin:0; font-family:var(--headline); font-size:25px; letter-spacing:-.035em; }
.section-heading a { text-decoration:none; color:var(--accent); font-size:12px; font-weight:800; }
.story-row { display:grid; grid-template-columns:230px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); }
.story-row .media-frame { aspect-ratio:4/3; }
.story-row .story-title { font-size:25px; }
.story-row .deck { font-size:14px; }
.rail-block { border-top:4px solid var(--ink); padding-top:10px; margin-bottom:34px; }
.rail-title { margin:0 0 12px; font-family:var(--headline); font-size:20px; }
.ranked-item { display:grid; grid-template-columns:34px 1fr; gap:10px; padding:14px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.ranked-number { font-family:var(--serif); font-size:25px; color:var(--accent); }
.ranked-item h4 { margin:0; font-family:var(--headline); font-size:15px; line-height:1.18; }
.ranked-item small { display:block; color:var(--muted); margin-top:6px; }
.newsletter-box { background:var(--ink); color:var(--paper); padding:24px; }
.newsletter-box h3 { margin:0 0 8px; font-family:var(--headline); font-size:22px; }
.newsletter-box p { color:color-mix(in srgb, var(--paper) 68%, transparent); font-size:13px; line-height:1.5; }
.newsletter-form { display:flex; gap:8px; margin-top:16px; }
.newsletter-input { min-width:0; flex:1; border:1px solid color-mix(in srgb, var(--paper) 35%, transparent); background:transparent; color:var(--paper); padding:11px; }
.newsletter-btn { border:0; background:var(--accent); color:white; font-weight:800; padding:0 14px; cursor:pointer; }

.section-band { margin-top:48px; }
.section-stories { display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:20px; }
.section-feature .media-frame, .section-card .media-frame { aspect-ratio:16/10; margin-bottom:12px; }
.section-feature .story-title { font-size:27px; }
.section-card .story-title { font-size:17px; line-height:1.13; }

/* GazetteWire */
body.gw .network-bar { background:#16120d; }
body.gw .header-inner { min-height:128px; grid-template-columns:1fr auto 1fr; }
body.gw .brand-word { font-family:var(--serif); font-size:49px; font-weight:700; letter-spacing:-.035em; }
body.gw .brand-word em { color:var(--ink); }
body.gw .brand-kicker { letter-spacing:.3em; }
body.gw .main-nav { position:sticky; }
body.gw .nav-list { width:100%; justify-content:center; }
body.gw .nav-list a { font-family:var(--body); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
body.gw .breaking-line { background:var(--accent); color:white; border:0; }
body.gw .breaking-label, body.gw .ticker-item { color:white; }
body.gw .ticker-item::after { color:rgba(255,255,255,.42); }
body.gw .live-dot { background:white; box-shadow:0 0 0 5px rgba(255,255,255,.15); }
.gw-date-rule { border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:7px 0; margin-bottom:22px; display:flex; justify-content:space-between; font-family:var(--serif); font-size:12px; }
.gw-lead { display:grid; grid-template-columns:250px minmax(0,1fr) 300px; gap:26px; padding-bottom:30px; border-bottom:3px double var(--ink); }
.gw-agenda { border-right:1px solid var(--line); padding-right:24px; }
.gw-agenda h2, .gw-analysis h2 { margin:0 0 8px; font-family:var(--serif); font-size:20px; }
.gw-agenda-item { padding:13px 0; border-top:1px solid var(--line); cursor:pointer; }
.gw-agenda-item .story-title { font-size:17px; line-height:1.12; }
.gw-primary .media-frame { aspect-ratio:16/9; }
.gw-primary .story-title { font-size:clamp(36px,4.5vw,62px); text-align:center; margin:16px auto 0; max-width:900px; }
.gw-primary .deck { font-family:var(--serif); text-align:center; font-size:18px; max-width:760px; margin:14px auto 0; }
.gw-primary .story-meta { justify-content:center; }
.gw-analysis { border-left:1px solid var(--line); padding-left:24px; }
.gw-analysis-card { padding:16px 0; border-top:1px solid var(--line); cursor:pointer; }
.gw-analysis-card:first-of-type .media-frame { aspect-ratio:4/3; margin-bottom:12px; }
.gw-analysis-card .story-title { font-size:20px; }
body.gw .content-grid { grid-template-columns:minmax(0,1fr) 330px; }
body.gw .section-heading { border-top:2px solid var(--ink); }
body.gw .section-heading h2, body.gw .rail-title { font-family:var(--serif); }
body.gw .story-row { grid-template-columns:200px 1fr; }
body.gw .story-row .story-title { font-family:var(--serif); font-size:27px; }
.gw-brief { border:1px solid var(--ink); padding:18px; }
.gw-brief-label { font-size:10px; letter-spacing:.15em; text-transform:uppercase; font-weight:800; color:var(--accent); }
.gw-brief h3 { font-family:var(--serif); font-size:24px; margin:8px 0 12px; }
.gw-brief ul { padding-left:18px; margin:0; }
.gw-brief li { margin:10px 0; font-family:var(--serif); line-height:1.35; }

/* GazetteNow */
body.gn .network-bar { background:#171326; }
body.gn .header-inner { min-height:86px; grid-template-columns:1fr auto 1fr; }
body.gn .brand-word { font-size:40px; }
body.gn .brand-word em { color:var(--accent); }
body.gn .brand-kicker { letter-spacing:.16em; }
body.gn .main-nav { box-shadow:0 8px 24px rgba(20,16,50,.05); }
body.gn .nav-list a { min-height:54px; font-size:13px; }
body.gn .breaking-line { background:#171326; color:white; border:0; }
body.gn .breaking-label { color:#c8ff4b; }
body.gn .ticker-item { color:white; }
body.gn .ticker-item::after { color:#4c456b; }
body.gn .live-dot { background:#c8ff4b; box-shadow:0 0 0 5px rgba(200,255,75,.12); }
.gn-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr); gap:22px; }
.gn-primary { position:relative; min-height:560px; overflow:hidden; background:#18132b; color:white; cursor:pointer; }
.gn-primary .media-frame { position:absolute; inset:0; }
.gn-primary .media-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,16,.05) 25%,rgba(8,8,16,.92) 100%); }
.gn-primary-content { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:34px; }
.gn-primary .eyebrow { color:#c8ff4b; }
.gn-primary .story-title { font-size:clamp(38px,5vw,68px); max-width:900px; }
.gn-primary .deck { color:rgba(255,255,255,.76); font-size:16px; max-width:720px; }
.gn-primary .story-meta { color:rgba(255,255,255,.72); }
.gn-catchup { background:#171326; color:white; padding:24px; }
.gn-catchup-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.gn-catchup h2 { margin:0; font-family:var(--headline); font-size:24px; }
.gn-catchup-badge { background:#c8ff4b; color:#171326; padding:5px 8px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.gn-catchup-item { display:grid; grid-template-columns:26px 1fr; gap:10px; padding:15px 0; border-top:1px solid #38314f; cursor:pointer; }
.gn-catchup-number { color:#c8ff4b; font-family:var(--headline); font-weight:700; }
.gn-catchup-item .story-title { font-size:17px; color:white; line-height:1.14; }
.gn-format-row { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px; }
.gn-format { min-height:210px; padding:24px; border:1px solid var(--line); position:relative; overflow:hidden; cursor:pointer; background:var(--paper); }
.gn-format:nth-child(1) { background:#e9ffb9; color:#171326; }
.gn-format:nth-child(2) { background:#ded9ff; color:#171326; }
.gn-format:nth-child(3) { background:#ffd9ea; color:#171326; }
.gn-format-label { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.gn-format .story-title { font-size:26px; margin-top:28px; }
body.gn .content-grid { grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); }
body.gn .section-heading { border-top:0; padding:0 0 10px; border-bottom:3px solid var(--ink); }
body.gn .story-row { grid-template-columns:210px 1fr; }
body.gn .story-row .media-frame { border-radius:8px; }
body.gn .story-row .story-title { font-size:26px; }
body.gn .newsletter-box { background:#171326; border-radius:10px; }

/* Feed/loading/footer */
.loading-more, .no-more, .empty-state { padding:34px 0; text-align:center; color:var(--muted); }
.end-of-news { padding:28px 0; text-align:center; }
.end-divider { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:12px; }
.end-divider::before, .end-divider::after { content:""; height:1px; background:var(--line); flex:1; }
.keep-scrolling-btn { margin-top:16px; border:1px solid var(--ink); background:transparent; padding:11px 17px; font-weight:800; cursor:pointer; }
.world-feed-header { margin-top:24px; padding:12px 14px; background:var(--ink)!important; color:var(--paper); font-weight:800; }
.footer { border-top:1px solid var(--line); background:var(--paper-soft); }
.footer-inner { max-width:var(--max); margin:auto; padding:42px 24px 110px; display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:38px; }
.footer-brand h3 { font-family:var(--headline); margin:0 0 12px; font-size:26px; }
.footer-brand p { color:var(--muted); line-height:1.55; max-width:420px; }
.footer-col h4 { font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.footer-col a { display:block; text-decoration:none; color:var(--muted); margin:10px 0; font-size:13px; }
.footer-col a:hover { color:var(--ink); }
.footer-bottom { grid-column:1/-1; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; display:flex; justify-content:space-between; gap:20px; }

/* Search drawer */
.search-drawer { position:fixed; inset:0; z-index:4000; background:rgba(6,9,14,.62); backdrop-filter:blur(8px); display:none; padding:8vh 18px; }
.search-drawer.open { display:block; }
.search-panel { max-width:760px; margin:auto; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); padding:24px; }
.search-panel-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.search-panel h2 { margin:0; font-family:var(--headline); }
.search-close { border:0; background:transparent; font-size:20px; cursor:pointer; }
.search-form-large { display:flex; gap:10px; }
.search-form-large input { flex:1; min-width:0; border:1px solid var(--line); background:var(--paper-soft); color:var(--ink); padding:15px; font-size:16px; }
.search-form-large button { border:0; background:var(--ink); color:var(--paper); padding:0 22px; font-weight:800; cursor:pointer; }
.search-hint { color:var(--muted); font-size:12px; margin-top:12px; }

/* Bookmarks */
.bookmarks-overlay { position:fixed!important; inset:0!important; z-index:3990!important; background:rgba(0,0,0,.5)!important; }
.bookmarks-panel { position:fixed; right:-480px; top:0; bottom:0; z-index:4000; width:min(440px,94vw); background:var(--paper); box-shadow:var(--shadow); transition:right .3s ease; overflow:auto; }
.bookmarks-panel.open { right:0; }
.bookmarks-header { display:flex; justify-content:space-between; align-items:center; padding:20px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--paper); }
.bookmarks-header h2 { font-family:var(--headline); margin:0; font-size:23px; }
.bookmarks-close { border:0; background:transparent; cursor:pointer; font-size:19px; }
.bookmarks-list { padding:16px; }
.bookmark-item { display:grid; grid-template-columns:100px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.bookmark-item img { width:100px; height:76px; object-fit:cover; }
.bookmark-item h4 { margin:0; font-family:var(--headline); font-size:15px; }

/* Article modal */
.modal-overlay { position:fixed; inset:0; z-index:5000; background:rgba(4,7,12,.72); backdrop-filter:blur(8px); display:none; padding:20px; overflow:auto; }
.modal-overlay.active { display:block; }
.modal-container { width:min(900px,100%); margin:20px auto; background:var(--paper); box-shadow:0 26px 90px rgba(0,0,0,.3); }
.modal-header { height:56px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--paper); z-index:3; }
.modal-close { width:36px; height:36px; border:1px solid var(--line); background:transparent; cursor:pointer; }
.modal-body { padding-bottom:28px; }
.modal-image { width:100%; max-height:520px; object-fit:cover; }
.modal-category { color:var(--accent); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.reading-time, .view-count { color:var(--muted); font-size:11px; }
.bookmark-btn { border:1px solid var(--line); background:transparent; width:34px; height:34px; cursor:pointer; }
.bookmark-btn.active { color:var(--accent); border-color:var(--accent); }
.modal-title { font-family:var(--headline); font-size:clamp(35px,5vw,58px); line-height:1.02; letter-spacing:-.04em; margin:24px 25px 18px; }
.modal-meta { margin:0 25px 24px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:14px; }
.modal-author { display:flex; align-items:center; gap:11px; }
.modal-author img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.modal-author-name { font-weight:800; }
.modal-author-title { color:var(--muted); font-size:11px; margin-top:3px; }
.follow-btn { border:1px solid var(--ink); background:transparent; min-height:36px; padding:0 13px; font-weight:800; cursor:pointer; }
.follow-btn.following { background:var(--ink); color:var(--paper); }
.modal-content { margin:0 25px 28px; font-family:var(--serif); font-size:19px; line-height:1.72; white-space:pre-wrap; }
.reaction-bar { margin:24px 25px; display:flex; flex-wrap:wrap; gap:8px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.reaction-btn { border:1px solid var(--line); background:transparent; padding:7px 10px; cursor:pointer; display:flex; gap:5px; }
.reaction-btn.active { border-color:var(--accent); background:color-mix(in srgb, var(--accent) 8%, var(--paper)); }
.share-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:0 25px 28px; }
.share-btn { border:1px solid var(--line); background:transparent; text-decoration:none; padding:9px 12px; cursor:pointer; font-size:12px; }
.related-section, .comments-section { margin:28px 25px 0; padding-top:24px; border-top:1px solid var(--line); }
.related-title, .comments-title { font-family:var(--headline); font-size:22px; }
.related-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.related-card { display:grid; grid-template-columns:110px 1fr; gap:12px; cursor:pointer; }
.related-card img { width:110px; height:82px; object-fit:cover; }
.related-card-title { font-family:var(--headline); font-weight:700; line-height:1.15; }
.related-card-meta { color:var(--muted); font-size:10px; margin-top:6px; }
.comment-form { display:flex; gap:8px; margin-bottom:18px; }
.comment-input { flex:1; min-width:0; border:1px solid var(--line); background:var(--paper-soft); color:var(--ink); padding:12px; }
.comment-submit { border:0; background:var(--ink); color:var(--paper); font-weight:800; padding:0 16px; cursor:pointer; }
.comment { display:grid; grid-template-columns:42px 1fr auto; gap:12px; padding:14px 0; border-top:1px solid var(--line); }
.comment-avatar img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.comment-body h4 { margin:0; }
.comment-body p { margin:5px 0; color:var(--ink); }
.comment-time { color:var(--muted); font-size:10px; }
.comment-delete { border:0; background:transparent; color:var(--danger); cursor:pointer; }
.loading { padding:50px; text-align:center; color:var(--muted); }

/* Compatibility classes used by endless-scroll JS */
.list-article { display:grid; grid-template-columns:230px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.list-article-image { width:100%; height:172px; object-fit:cover; }
.list-article-category { color:var(--accent); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; margin-bottom:8px; }
.list-article-title { font-family:var(--headline); font-size:25px; line-height:1.06; letter-spacing:-.03em; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.list-article-excerpt { color:var(--muted); font-size:14px; line-height:1.5; margin:10px 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.list-article-meta { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.list-meta-avatar { width:24px; height:24px; border-radius:50%; object-fit:cover; }

.mobile-dock { display:none; }

@media (max-width:1080px) {
  .header-inner { grid-template-columns:auto 1fr auto; }
  .header-left { display:none; }
  .nn-lead, .gn-hero { grid-template-columns:1fr; }
  .nn-secondary-stack { border-left:0; padding-left:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .nn-secondary { border-bottom:0; margin:0; padding:0; }
  .nn-secondary.compact { display:block; }
  .nn-secondary.compact .media-frame { aspect-ratio:16/9; margin-bottom:12px; }
  .gw-lead { grid-template-columns:220px minmax(0,1fr); }
  .gw-analysis { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); padding:20px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .gw-analysis h2 { grid-column:1/-1; }
  .section-stories { grid-template-columns:1.3fr repeat(2,1fr); }
  .section-card:last-child { display:none; }
}

@media (max-width:820px) {
  .network-inner { padding:0 14px; }
  .network-date { display:none; }
  .network-links { width:100%; justify-content:center; gap:14px; }
  .header-inner { min-height:70px!important; padding:12px 16px; }
  .brand { min-width:0; justify-content:flex-start; }
  .brand-mark { width:30px; height:30px; margin-right:8px; }
  .brand-word, body.gw .brand-word, body.gn .brand-word { font-size:29px; }
  .brand-kicker { display:none; }
  .header-actions .sign-up-btn, .header-actions .sign-in-btn span, .header-actions .account-btn span { display:none; }
  .header-actions .sign-in-btn, .header-actions .account-btn { width:40px; padding:0; }
  .nav-inner { padding:0 14px; }
  .nav-list { gap:19px; }
  .nav-tools { display:none; }
  .breaking-inner { padding:0 14px; }
  .page { padding:24px 16px 94px; }
  .page-intro { display:block; }
  .page-intro p { margin-top:10px; }
  .content-grid { grid-template-columns:1fr!important; gap:34px; }
  .rail { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .newsletter-box { grid-column:1/-1; }
  .gw-lead { grid-template-columns:1fr; }
  .gw-agenda { order:2; border-right:0; padding-right:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0 20px; }
  .gw-agenda h2 { grid-column:1/-1; }
  .gw-primary { order:1; }
  .gw-analysis { order:3; grid-template-columns:repeat(2,1fr); }
  .gn-primary { min-height:500px; }
  .gn-format-row { grid-template-columns:1fr; }
  .gn-format { min-height:160px; }
  .section-stories { grid-template-columns:1fr 1fr; }
  .section-feature { grid-column:1/-1; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width:620px) {
  .network-bar { display:none; }
  .main-nav { top:0; }
  .nav-list { gap:18px; }
  .nav-list a { min-height:44px; font-size:12px; }
  .header-actions .icon-btn { display:none; }
  .breaking-label { font-size:9px; }
  .ticker-item { font-size:12px; }
  .page-intro { margin-bottom:18px; }
  .nn-lead { gap:22px; }
  .nn-primary .story-title { font-size:34px; }
  .nn-primary .deck { font-size:14px; }
  .nn-secondary-stack { grid-template-columns:1fr; }
  .nn-secondary:first-child { display:grid; grid-template-columns:118px 1fr; gap:13px; }
  .nn-secondary:first-child .media-frame { aspect-ratio:1/1; margin:0; }
  .nn-secondary .story-title { font-size:18px; }
  .gw-date-rule { font-size:10px; }
  .gw-primary .story-title { font-size:36px; text-align:left; }
  .gw-primary .deck, .gw-primary .story-meta { text-align:left; justify-content:flex-start; }
  .gw-agenda, .gw-analysis { grid-template-columns:1fr; }
  .gn-primary { min-height:470px; }
  .gn-primary-content { padding:22px; }
  .gn-primary .story-title { font-size:37px; }
  .gn-primary .deck { font-size:14px; }
  .story-row, .list-article { grid-template-columns:118px 1fr!important; gap:13px; }
  .story-row .media-frame { aspect-ratio:1/1; }
  .story-row .story-title, .list-article-title { font-size:18px!important; line-height:1.1; }
  .story-row .deck, .list-article-excerpt { display:none; }
  .list-article-image { height:118px; }
  .story-meta { margin-top:8px; }
  .story-meta span:nth-child(n+3) { display:none; }
  .rail { display:block; }
  .section-stories { grid-template-columns:1fr 1fr; gap:14px; }
  .section-feature { grid-column:1/-1; }
  .section-feature .story-title { font-size:23px; }
  .section-card .story-title { font-size:15px; }
  .footer-inner { grid-template-columns:1fr; padding-bottom:104px; }
  .footer-brand, .footer-bottom { grid-column:auto; }
  .footer-bottom { display:block; }
  .footer-bottom span { display:block; margin-top:6px; }
  .related-grid { grid-template-columns:1fr; }
  .modal-overlay { padding:0; }
  .modal-container { margin:0; min-height:100vh; }
  .modal-title { margin:20px 18px 15px; font-size:36px; }
  .modal-meta, .modal-content, .reaction-bar, .share-buttons, .related-section, .comments-section { margin-left:18px; margin-right:18px; }
  .modal-content { font-size:18px; }
  .view-count { display:none; }
  .mobile-dock { position:fixed; left:0; right:0; bottom:0; z-index:2000; height:68px; padding:7px 10px calc(7px + env(safe-area-inset-bottom)); background:color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter:blur(18px); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(5,1fr); }
  .dock-item { border:0; background:transparent; text-decoration:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:var(--muted); font-size:10px; cursor:pointer; }
  .dock-item i { font-size:17px; }
  .dock-item.active, .dock-item.primary { color:var(--accent); font-weight:800; }
  body.gn .dock-item.primary i { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:white; margin-top:-18px; box-shadow:0 8px 22px rgba(87,70,230,.32); }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
@media (max-width:620px) {
  .nn-primary .story-title { font-size:31px; line-height:1.04; }
  .gn-primary .story-title { font-size:34px; line-height:1.02; }
}
@media (max-width:820px) {
  body.gw .nav-list { justify-content:flex-start; }
}

/* ========================================================================== 
   2027 Production Editorial System
   Distinct mastheads, conditional alerts, permanent article pages, trust UI.
   ========================================================================== */
.masthead-utility{background:#101216;color:#bcc2cb;border-bottom:1px solid rgba(255,255,255,.08)}
.utility-inner{max-width:var(--max);height:30px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.utility-inner .network-links{display:flex;gap:16px}.utility-inner .network-links a{color:#9da5b1;text-decoration:none}.utility-inner .network-links a.active,.utility-inner .network-links a:hover{color:#fff}.utility-meta{display:flex;gap:14px;color:#929aa5}.utility-meta span+span:before{content:"·";margin-right:14px;color:#59616c}
.editorial-header{grid-template-columns:minmax(0,1fr) auto!important;min-height:84px!important;padding-top:13px!important;padding-bottom:13px!important}
.brand-editorial{justify-content:flex-start;min-width:0!important;flex-direction:column;align-items:flex-start!important;gap:5px}
.brand-editorial .brand-word{font-size:38px;letter-spacing:-.055em;line-height:.9}
.brand-editorial .brand-kicker{display:block!important;text-align:left;margin:0;font-size:9px;letter-spacing:.2em;color:var(--muted)}
.brand-nn .brand-word span{color:var(--accent)}
.header-saved{border:1px solid var(--line);min-height:40px;padding:0 12px!important;color:var(--ink)!important;background:transparent}
.main-nav{box-shadow:0 1px 0 rgba(0,0,0,.01)}
.main-nav .nav-inner{min-height:46px}.main-nav .nav-list a{min-height:46px;font-size:12px;letter-spacing:.01em}
.news-alert{background:#111;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.news-alert.type-breaking{background:#a30f24}.news-alert.type-live{background:#8b0a19}.news-alert.type-developing{background:#222}
.news-alert-inner{max-width:var(--max);min-height:42px;margin:auto;padding:8px 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.news-alert-inner a{color:#fff;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alert-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;white-space:nowrap}.alert-follow{font-size:10px;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;opacity:.82}.news-alert .live-dot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18);display:inline-block;margin-right:8px}

/* NerddNews: assertive, left-led digital newsroom */
body.nn .nn-masthead{border-bottom:0}body.nn .brand-nn .brand-word{font-family:Manrope,Arial,sans-serif;font-size:42px}body.nn .main-nav{border-top:1px solid var(--line)}
body.nn .page-intro{border-bottom-width:3px}.nn-primary .story-title{max-width:900px}

/* GazetteWire: institutional, centered political masthead */
body.gw .gw-utility{background:#171611}body.gw .gw-header-grid{grid-template-columns:1fr auto 1fr!important;min-height:122px!important;padding-top:18px!important;padding-bottom:18px!important}
body.gw .gw-edition-mark{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;gap:5px}body.gw .gw-edition-mark strong{color:var(--ink)}
body.gw .brand-gw{align-items:center!important;justify-content:center!important}body.gw .brand-gw .brand-word{font-family:Newsreader,Georgia,serif;font-size:52px;font-weight:700;letter-spacing:-.035em}body.gw .brand-gw .brand-kicker{text-align:center!important;font-family:DM Sans,Arial,sans-serif;font-size:9px;letter-spacing:.28em}
body.gw .gw-nav{position:sticky;border-top:3px double var(--ink);border-bottom:3px double var(--ink)}body.gw .gw-nav .nav-inner{justify-content:center;position:relative}body.gw .gw-nav .nav-list{justify-content:center;gap:28px}body.gw .gw-nav .nav-tools{position:absolute;right:24px}body.gw .gw-nav .nav-list a{font-family:DM Sans,Arial,sans-serif;border-bottom:0;min-height:43px}body.gw .gw-nav .nav-list a.active{color:var(--accent)}
body.gw .gw-alert{background:#4c111b}.gw-date-rule{margin-top:-8px}

/* GazetteNow: compact mobile-first brand with deliberate accent block */
body.gn .gn-utility{background:#16161d}body.gn .gn-masthead{border-bottom:0}body.gn .editorial-header{min-height:72px!important}
body.gn .brand-gn{flex-direction:row;align-items:center!important;gap:12px}body.gn .brand-gn .brand-word{font-family:"Space Grotesk",Arial,sans-serif;font-size:34px;letter-spacing:-.055em}body.gn .brand-gn .brand-word span{display:inline-block;background:var(--accent);color:#fff;padding:5px 7px;margin-left:4px;letter-spacing:-.04em}body.gn .brand-gn .brand-kicker{font-size:9px;max-width:130px;line-height:1.35}
body.gn .gn-nav{position:sticky;border-top:1px solid var(--line)}body.gn .topic-chips{gap:10px;padding:8px 0}body.gn .topic-chips a{min-height:34px;padding:0 13px;border:1px solid var(--line);border-radius:999px;font-size:11px}body.gn .topic-chips a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}body.gn .gn-alert{background:var(--accent)}

/* Type labels */
.article-type-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--line);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.article-type-badge.type-breaking,.article-type-badge.type-live{background:#a30f24;color:#fff;border-color:#a30f24}.article-type-badge.type-developing{background:#20232a;color:#fff;border-color:#20232a}.article-type-badge.type-analysis,.article-type-badge.type-explainer{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.modal-full-story{margin:0 25px 26px;padding-top:2px}.modal-full-story a{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:800;color:var(--accent);font-size:13px}

/* Permanent article pages */
.article-shell{min-height:100vh;background:var(--paper);color:var(--ink)}
.article-network{height:32px;padding:0 max(18px,calc((100vw - 1280px)/2));background:#101216;color:#aeb5bf;display:flex;align-items:center;justify-content:space-between;font:600 9px/1 DM Sans,Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}.article-network>div{display:flex;gap:15px}.article-network a{color:#9ca4af;text-decoration:none}.article-network a.active,.article-network a:hover{color:#fff}
.article-masthead{max-width:1280px;margin:auto;min-height:78px;padding:14px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.article-wordmark{text-decoration:none;font-family:var(--headline);font-weight:800;font-size:30px;letter-spacing:-.045em}.gw .article-wordmark{font-family:Newsreader,Georgia,serif;font-size:36px}.article-masthead-actions{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700}.article-masthead-actions a,.article-masthead-actions button{background:transparent;border:0;text-decoration:none;color:var(--ink);cursor:pointer;padding:8px}
.article-page{max-width:1120px;margin:auto;padding:58px 24px 90px}.article-page>article{max-width:980px;margin:auto}.article-label-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.article-kicker{margin:0;color:var(--accent);font:800 10px/1 DM Sans,Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em}.article-page h1{margin:0;font-family:var(--headline);font-size:clamp(43px,6.2vw,76px);line-height:.98;letter-spacing:-.055em;max-width:960px}.gw .article-page h1{font-family:Newsreader,Georgia,serif;font-weight:600;letter-spacing:-.035em;line-height:.99}.gn .article-page h1{font-family:"Space Grotesk",Arial,sans-serif}.article-deck{max-width:850px;margin:22px 0 24px;color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:1.42}.article-byline{padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.article-byline img{width:44px;height:44px;object-fit:cover;border-radius:50%}.article-byline div{display:grid;gap:2px}.article-byline strong{font-size:13px}.article-byline span,.article-byline small{font-size:11px;color:var(--muted)}
.article-hero{margin:30px 0 0}.article-hero img{width:100%;max-height:620px;object-fit:cover;background:var(--paper-soft)}.article-hero figcaption{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;line-height:1.45;padding:8px 0;border-bottom:1px solid var(--line)}.article-hero figcaption span{white-space:nowrap}
.article-layout{display:grid;grid-template-columns:minmax(0,700px) 190px;justify-content:space-between;gap:64px;margin-top:40px}.article-body{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.78;color:color-mix(in srgb,var(--ink) 94%,transparent)}.gw .article-body{font-family:Newsreader,Georgia,serif;font-size:21px}.gn .article-body{font-family:DM Sans,Arial,sans-serif;font-size:18px;line-height:1.72}.article-body p{margin:0 0 1.5em}.article-body p:first-child::first-letter{float:left;font-family:var(--headline);font-size:4.7em;line-height:.76;padding:8px 8px 0 0;font-weight:700;color:var(--ink)}.gw .article-body p:first-child::first-letter{font-family:Newsreader,Georgia,serif}
.article-context{border-left:1px solid var(--line);padding-left:22px}.context-card{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line);display:grid;gap:4px}.context-card span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:800}.context-card strong{font-family:var(--headline);font-size:15px}.context-card small{font-size:10px;line-height:1.4;color:var(--muted)}
.article-more{max-width:980px;margin:58px auto 0;padding-top:28px;border-top:3px solid var(--ink)}.related-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.related-article{display:flex;flex-direction:column;min-height:150px;padding-top:12px;border-top:1px solid var(--line);text-decoration:none}.related-article span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);font-weight:800}.related-article strong{font-family:var(--headline);font-size:19px;line-height:1.08;margin:9px 0 auto;letter-spacing:-.025em}.related-article small{margin-top:14px;color:var(--muted);font-size:10px}.article-standards{max-width:980px;margin:54px auto 0;background:var(--paper-soft);padding:20px 22px}.article-standards strong{font-family:var(--headline)}.article-standards p{color:var(--muted);font-size:12px;line-height:1.55;margin:6px 0 0}.article-footer{max-width:1280px;margin:auto;border-top:1px solid var(--line);padding:24px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.article-footer div{display:flex;gap:16px}.article-footer a{color:inherit;text-decoration:none}
.article-error{max-width:720px;margin:12vh auto;padding:24px}.article-error h1{font-family:var(--headline);font-size:48px}.article-error a{color:var(--accent);font-weight:700}

/* Trust pages */
.trust-page{max-width:900px;margin:auto;padding:70px 24px 90px}.trust-page h1{font-family:var(--headline);font-size:clamp(44px,7vw,72px);letter-spacing:-.05em;line-height:1;margin:12px 0 20px}.gw .trust-page h1{font-family:Newsreader,Georgia,serif}.trust-intro{max-width:720px;font-size:21px;line-height:1.48;color:var(--muted);margin:0 0 48px}.trust-sections{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;border-top:3px solid var(--ink)}.trust-sections section{padding:24px 0;border-bottom:1px solid var(--line)}.trust-sections h2{font-family:var(--headline);font-size:22px;margin:0 0 9px}.trust-sections p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.trust-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.trust-nav a{border:1px solid var(--line);padding:9px 12px;text-decoration:none;font-size:12px;font-weight:700}

/* Keep homepage headlines disciplined even when content is unusually long */
.nn-primary .story-title,.gw-primary .story-title,.gn-primary .story-title{max-width:22ch}.story-row .story-title{max-width:32ch}.section-card .story-title{max-width:25ch}.ranked-item h4{max-width:28ch}

@media(max-width:900px){
  .utility-inner{padding:0 16px}.utility-meta span:last-child{display:none}
  body.gw .gw-header-grid{grid-template-columns:1fr auto!important;min-height:88px!important}.gw-edition-mark{display:none!important}body.gw .brand-gw{align-items:flex-start!important}.gw-header-grid .header-actions{justify-self:end}.gw-nav .nav-inner{justify-content:flex-start!important}.gw-nav .nav-list{justify-content:flex-start!important}.gw-nav .nav-tools{display:none}
  .article-layout{grid-template-columns:1fr;gap:20px}.article-context{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.context-card{border-bottom:0;margin:0}.related-article-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .masthead-utility{display:none}.editorial-header{min-height:64px!important;padding:10px 14px!important}.brand-editorial .brand-word{font-size:29px!important}.brand-editorial .brand-kicker{display:none!important}.header-saved,.header-actions .sign-up-btn{display:none!important}.header-actions{gap:7px}.header-actions .icon-btn{display:inline-flex!important}.main-nav .nav-inner{padding:0 14px}.news-alert-inner{padding:8px 14px;grid-template-columns:auto minmax(0,1fr)}.news-alert-inner .alert-follow{display:none}.news-alert-inner a{font-size:12px}.alert-label{font-size:8px}
  body.gw .gw-header-grid{grid-template-columns:1fr auto!important;min-height:68px!important}.gw-edition-mark{display:none!important}body.gw .brand-gw{align-items:flex-start!important}.gw-nav{border-top:1px solid var(--ink)!important;border-bottom:1px solid var(--ink)!important}.gw-nav .nav-list{gap:18px!important}
  body.gn .brand-gn .brand-word span{padding:4px 6px}.gn-nav .nav-inner{padding:0 10px}.gn-nav .topic-chips{padding:7px 0}.gn-nav .topic-chips a{min-height:32px;padding:0 11px}.gn-nav .nav-tools{display:none}
  .article-network{display:none}.article-masthead{min-height:62px;padding:10px 16px}.article-wordmark{font-size:25px!important}.article-masthead-actions a{display:none}.article-page{padding:34px 16px 88px}.article-page h1{font-size:clamp(38px,12vw,54px);max-width:none}.article-deck{font-size:18px;margin-top:17px}.article-byline{align-items:flex-start}.article-hero{margin-left:-16px;margin-right:-16px}.article-hero figcaption{padding:8px 16px}.article-hero figcaption{display:block}.article-hero figcaption span{display:block;margin-top:4px}.article-layout{margin-top:30px}.article-body,.gw .article-body,.gn .article-body{font-size:18px;line-height:1.7}.article-context{grid-template-columns:1fr 1fr}.related-article-grid{grid-template-columns:1fr}.related-article{min-height:120px}.article-more{margin-top:42px}.article-footer{padding-bottom:90px}.trust-page{padding:44px 16px 90px}.trust-sections{grid-template-columns:1fr}.trust-intro{font-size:18px}
}
.headline-mobile{display:none}.story-headline-link{color:inherit;text-decoration:none}.story-headline-link:hover{color:var(--accent)}
@media(max-width:620px){.headline-desktop{display:none}.headline-mobile{display:inline}}
@media(max-width:620px){body.gw .mobile-dock{display:none!important}body.gw .page{padding-bottom:54px}body.gw .footer-inner{padding-bottom:36px}}
