@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Inter:wght@400;550;700;800&display=swap');

:root { --ink:#151515; --paper:#f4f0e6; --white:#fffdf8; --yellow:#ffdf37; --red:#e2392d; --blue:#244d69; --muted:#66645f; --line:#cec9bc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,Arial,sans-serif; line-height:1.58; }
a { color:inherit; }
button { font:inherit; }
.shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:99; top:10px; left:10px; padding:10px 14px; background:var(--yellow); color:var(--ink); transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.site-header { position:absolute; z-index:10; inset:0 0 auto; color:var(--white); border-bottom:1px solid rgba(255,255,255,.2); }
.header-inner { min-height:91px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; font-size:13px; line-height:1.02; letter-spacing:.13em; }
.brand strong { font-size:18px; letter-spacing:.06em; }
.brand img { flex:none; }
.site-header nav { display:flex; align-items:center; gap:27px; font-size:13px; font-weight:700; }
.site-header nav a { text-decoration:none; }
.site-header nav a:hover { color:var(--yellow); }
.site-header .nav-action { padding:11px 15px; border:1px solid rgba(255,255,255,.55); }
.hero { padding:173px 0 92px; color:var(--white); background:var(--ink); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:75px; align-items:end; }
.kicker,.section-label { margin:0 0 19px; color:#815d00; font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.kicker { color:var(--yellow); }
.kicker span { display:inline-block; width:38px; height:2px; margin:0 10px 4px 0; background:var(--red); }
.hero h1 { margin:0; max-width:800px; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(54px,7.8vw,104px); line-height:.88; letter-spacing:-.055em; text-transform:uppercase; }
.hero h1 em { color:var(--yellow); font-style:normal; }
.hero-deck { max-width:780px; margin:33px 0 0; color:#cfcac0; font-size:20px; }
.edition-card { padding:25px; background:var(--yellow); color:var(--ink); transform:rotate(1.2deg); box-shadow:9px 9px 0 var(--red); }
.edition-card span { font-size:11px; font-weight:800; letter-spacing:.18em; }
.edition-card strong { display:block; margin:22px 0 13px; font-family:'Archivo Black',Impact,sans-serif; font-size:29px; line-height:1.02; text-transform:uppercase; }
.edition-card p { font-size:14px; }
.edition-card a { font-weight:800; text-underline-offset:4px; }
.lead-section { padding:88px 0 100px; }
.lead-story { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); min-height:500px; background:var(--white); border-top:8px solid var(--red); }
.lead-copy { padding:54px; }
.story-meta { display:flex; flex-wrap:wrap; gap:11px; margin:0 0 19px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.story-meta span:first-child { color:#8b2119; }
.lead-copy h2 { max-width:690px; margin:0; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(39px,5vw,66px); line-height:.98; letter-spacing:-.035em; text-transform:uppercase; }
.lead-copy h2 a { text-decoration:none; }
.lead-copy h2 a:hover { text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:7px; }
.lead-copy > p:not(.story-meta) { max-width:700px; color:#55534e; font-size:17px; }
.read-more { display:inline-block; margin-top:20px; font-weight:800; text-underline-offset:5px; }
.lead-visual { position:relative; min-height:420px; padding:35px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; background:var(--blue); color:var(--white); }
.lead-visual > span { align-self:flex-end; font-family:'Archivo Black',Impact,sans-serif; font-size:75px; color:var(--yellow); }
.lead-visual strong { position:relative; z-index:2; font-family:'Archivo Black',Impact,sans-serif; font-size:44px; line-height:.9; }
.lead-visual b { position:absolute; z-index:3; inset:50% auto auto 50%; padding:8px 12px; background:var(--red); color:white; font-size:14px; transform:rotate(-7deg); }
.ladder-lines { position:absolute; inset:20px 10px 20px 48%; transform:rotate(13deg); border-inline:12px solid rgba(255,255,255,.16); }
.ladder-lines i { display:block; height:8px; margin:44px 0; background:rgba(255,255,255,.16); }
.analysis-strip { padding:75px 0; background:var(--red); color:var(--white); }
.analysis-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:85px; align-items:center; }
.section-label.light { color:var(--yellow); }
.analysis-grid h2 { margin:0; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(36px,4.8vw,62px); line-height:.98; text-transform:uppercase; }
.analysis-grid p { color:#ffe4df; }
.analysis-grid a { font-weight:800; text-underline-offset:5px; }
.analysis-grid blockquote { margin:0; padding:32px; border:1px solid rgba(255,255,255,.4); }
.analysis-grid blockquote p { margin:0 0 20px; color:white; font-family:Georgia,serif; font-size:25px; line-height:1.35; }
.analysis-grid cite { color:#ffd5cf; font-size:12px; font-style:normal; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.latest-section { padding:100px 0; }
.section-heading { display:grid; grid-template-columns:1fr 420px; gap:60px; align-items:end; }
.section-heading h2 { margin:0; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(42px,5vw,68px); line-height:.95; text-transform:uppercase; }
.section-heading > p { margin:0; color:var(--muted); }
.filters { margin:43px 0 25px; display:flex; gap:8px; flex-wrap:wrap; }
.filters button { padding:10px 15px; border:1px solid var(--ink); background:transparent; color:var(--ink); font-size:12px; font-weight:800; cursor:pointer; }
.filters button.is-active,.filters button:hover { background:var(--ink); color:var(--yellow); }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.story-card { min-height:390px; padding:26px; display:flex; flex-direction:column; background:var(--white); border-top:5px solid var(--ink); }
.story-card[data-topic='investigations'] { border-top-color:var(--red); }
.story-card[data-topic='policy'] { border-top-color:var(--blue); }
.story-card[data-topic='global'] { border-top-color:#87630a; }
.card-number { margin-left:auto; color:#d1ccc0; font-family:'Archivo Black',Impact,sans-serif; font-size:38px; }
.story-card h3 { margin:0 0 15px; font-size:24px; line-height:1.16; }
.story-card h3 a { text-decoration:none; }
.story-card h3 a:hover { text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:5px; }
.story-card > p:not(.story-meta) { color:var(--muted); font-size:14px; }
.card-source { margin-top:auto; padding-top:22px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); color:#68655f; font-size:11px; font-weight:800; text-transform:uppercase; }
.card-source a { color:var(--blue); }
.update-note { margin:24px 0 0; color:var(--muted); font-size:12px; }
.empty-state { grid-column:1/-1; padding:30px; background:var(--white); }
.action-section { padding:90px 0; background:var(--ink); color:var(--white); }
.action-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.action-grid h2 { margin:0; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(39px,5vw,65px); line-height:.96; text-transform:uppercase; }
.action-links { border-top:1px solid #555; }
.action-links a { padding:22px 0; display:grid; grid-template-columns:42px 1fr 25px; gap:18px; align-items:center; border-bottom:1px solid #555; text-decoration:none; }
.action-links a > span { color:var(--yellow); font-weight:800; }
.action-links strong { font-size:19px; }
.action-links p { margin:3px 0 0; color:#aaa; font-size:13px; }
.action-links b { color:var(--yellow); font-size:23px; }
.site-footer { padding:70px 0 28px; background:#252525; color:#d8d4ca; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:70px; }
.footer-brand { color:white; }
.footer-grid > div:first-child p { max-width:390px; color:#9e9a92; }
.footer-grid h2 { margin:0 0 16px; color:var(--yellow); font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
.footer-grid > div:not(:first-child) a { margin:8px 0; display:block; color:#d8d4ca; }
.footer-base { margin-top:55px; padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid #454545; color:#85827c; font-size:12px; }
.article-hero { padding:165px 0 70px; background:var(--ink); color:var(--white); }
.article-hero .story-meta { color:#bbb5aa; }
.article-hero .story-meta span:first-child { color:var(--yellow); }
.article-hero h1 { max-width:1000px; margin:0; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(47px,7vw,87px); line-height:.93; letter-spacing:-.045em; text-transform:uppercase; }
.article-hero .deck { max-width:820px; margin:28px 0 0; color:#cbc5ba; font-size:20px; }
.breadcrumbs { margin-bottom:31px; color:#aaa49a; font-size:13px; }
.breadcrumbs a { color:var(--yellow); }
.article-layout { padding:75px 0 100px; display:grid; grid-template-columns:minmax(0,760px) 300px; gap:90px; align-items:start; }
.article-body > p:first-child { margin-top:0; color:#35332f; font-size:22px; line-height:1.52; }
.article-body h2 { margin:56px 0 15px; font-family:'Archivo Black',Impact,sans-serif; font-size:36px; line-height:1.06; text-transform:uppercase; }
.article-body p,.article-body li { color:#504e49; }
.article-body a { color:#194f73; font-weight:700; text-underline-offset:4px; }
.article-body blockquote { margin:35px 0; padding:25px 28px; border-left:7px solid var(--yellow); background:var(--white); font-family:Georgia,serif; font-size:21px; }
.fact-box { margin:35px 0; padding:27px; border-top:6px solid var(--red); background:var(--white); }
.fact-box strong { font-family:'Archivo Black',Impact,sans-serif; font-size:23px; text-transform:uppercase; }
.article-sidebar { position:sticky; top:25px; }
.article-sidebar section { margin-bottom:15px; padding:24px; background:var(--white); border-top:4px solid var(--yellow); }
.article-sidebar h2 { margin:0 0 12px; font-size:16px; text-transform:uppercase; }
.article-sidebar p,.article-sidebar li { color:var(--muted); font-size:13px; }
.article-sidebar ul { padding-left:18px; }
.article-sidebar a { color:#194f73; font-weight:700; }
.static-page { padding:150px 0 100px; min-height:70vh; }
.static-page h1 { max-width:850px; margin:0 0 35px; font-family:'Archivo Black',Impact,sans-serif; font-size:clamp(48px,7vw,82px); line-height:.95; text-transform:uppercase; }
.static-copy { max-width:800px; }
.static-copy h2 { margin-top:45px; font-size:29px; }
.static-copy p,.static-copy li { color:#504e49; }

@media (max-width:900px) {
  .site-header nav a:not(.nav-action) { display:none; }
  .hero-grid,.lead-story,.analysis-grid,.section-heading,.action-grid,.article-layout { grid-template-columns:1fr; }
  .hero-grid { gap:45px; }
  .edition-card { width:min(380px,100%); }
  .story-grid { grid-template-columns:repeat(2,1fr); }
  .article-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:15px; }
}
@media (max-width:650px) {
  .shell { width:min(100% - 28px,1180px); }
  .header-inner { min-height:78px; }
  .brand img { width:44px; height:44px; }
  .site-header .nav-action { font-size:11px; }
  .hero { padding:135px 0 70px; }
  .hero h1 { font-size:clamp(49px,15vw,72px); }
  .hero-deck { font-size:17px; }
  .lead-section,.latest-section { padding:65px 0; }
  .lead-copy { padding:30px 23px; }
  .lead-visual { min-height:350px; }
  .story-grid,.footer-grid,.article-sidebar { grid-template-columns:1fr; }
  .story-card { min-height:340px; }
  .analysis-grid,.action-grid,.footer-grid { gap:42px; }
  .analysis-strip,.action-section { padding:65px 0; }
  .section-heading { gap:18px; }
  .article-hero { padding:130px 0 55px; }
  .article-layout { padding:55px 0 75px; gap:45px; }
  .footer-base { flex-direction:column; gap:8px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
