@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=EB+Garamond:wght@400;500;600;700&family=Inconsolata:wght@500;700&display=swap');
:root { --ink:#0d0f0c; --paper:#f7f5f0; --white:#fff; --red:#bd2428; --gold:#8b6508; --line:#d8d2c5; --grey:#53534d; }
* { box-sizing:border-box; }
body { background:var(--paper); color:var(--ink); font-family:"EB Garamond",Garamond,"Times New Roman",serif; font-size:20px; line-height:1.65; margin:0; }
a { color:inherit; }
.site-head { align-items:center; border-bottom:3px solid var(--ink); display:flex; justify-content:center; padding:18px max(24px,calc((100vw - 1120px)/2)); }
.brand { display:block; text-decoration:none; }.brand img { display:block; height:clamp(38px,11.5vw,91px); max-width:none; object-fit:cover; width:min(92vw,720px); }
.site-head span,.crumbs { color:var(--grey); font-family:Inconsolata,monospace; font-size:11px; text-transform:uppercase; }
.story-shell { margin:0 auto; max-width:900px; padding:28px 24px 70px; }.crumbs { margin-bottom:32px; }.crumbs a { color:var(--red); }
.story-kicker { color:var(--red); font-family:Inconsolata,monospace; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
/* Headline must read clearly separate from body copy */
h1,
h1.story-headline {
  color: #0a0b09;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(40px, 6.2vw, 72px);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 10px 0 0;
  max-width: 22ch;
}
h1.story-headline {
  border-bottom: 3px solid var(--ink);
  margin-bottom: 0;
  padding-bottom: 18px;
}
/* Visual break between headline block and story body */
article > .publisher,
article > .pub-card {
  margin-top: 0;
}
.summary {
  border-top: 1px solid var(--line);
  margin-top: 8px;
  padding-top: 8px;
}
.summary > h2 {
  color: var(--grey);
  font-family: Inconsolata, monospace;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 18px 0 14px;
  padding-bottom: 0;
  border-bottom: 0;
  text-transform: uppercase;
}
.summary p,
.summary h2 + p {
  color: #2c2a24;
  font-family: "EB Garamond", Garamond, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.72;
}
.summary p:first-of-type {
  font-size: 21px;
  line-height: 1.68;
}
h2 { border-bottom:2px solid var(--ink); font-family:"DM Serif Display",Georgia,serif; font-size:26px; font-weight:400; margin:38px 0 18px; padding-bottom:8px; }
.publisher { align-items:center; border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:flex; gap:12px; padding:14px 0; }
.publisher-logo { align-items:center; background:var(--ink); border-radius:50%; color:var(--white); display:flex; font-family:Inconsolata,monospace; font-weight:700; height:48px; justify-content:center; overflow:hidden; width:48px; flex-shrink:0; }.publisher-logo img { height:100%; object-fit:contain; width:100%; }
/* One byline only — not a second engagement “profile” card */
.story-byline .byline-label { color:var(--grey,#53534d); display:block; font-family:Inconsolata,monospace; font-size:10.5px; font-weight:700; letter-spacing:.05em; margin-bottom:2px; text-transform:uppercase; }
.publisher strong,.publisher span { display:block; }.publisher span { color:var(--grey); font-size:13px; margin-top:3px; }
.publisher-name-link { color:inherit; text-decoration:none; border-bottom:1px solid transparent; }
.publisher-name-link:hover { border-bottom-color:var(--ink); }
.publisher span a { color:var(--red); font-weight:700; text-decoration:none; }
figure { margin:30px 0; }figure img { display:block; max-height:540px; object-fit:cover; width:100%; }figcaption { color:var(--grey); font-size:11px; margin-top:7px; }
.quality-note { background:#eee8dc; border-left:4px solid var(--gold); color:var(--grey); font-size:13px; line-height:1.5; margin:20px 0; padding:14px 16px; }
.original-button { background:var(--red); color:var(--white); display:inline-block; font-weight:700; margin:22px 0 12px; padding:15px 20px; text-decoration:none; }
.coverage-list { list-style:none; margin:0; padding:0; }.coverage-list li { border-bottom:1px solid var(--line); display:flex; gap:20px; justify-content:space-between; padding:13px 0; }.coverage-list a { font-weight:600; }.coverage-list span,.empty-note { color:var(--grey); font-size:13px; }
.related-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }.related-card { background:var(--white); border:1px solid var(--line); display:flex; flex-direction:column; min-height:230px; text-decoration:none; }.related-card img,.related-placeholder { height:130px; object-fit:cover; width:100%; }.related-placeholder { background:#fff; object-fit:contain; }.related-card strong { line-height:1.3; padding:12px 12px 5px; }.related-card small { color:var(--gold); margin-top:auto; padding:0 12px 12px; }
.journalist-more-stories { margin-top:8px; }
.journalist-more-link { margin:0 0 14px; font-size:15px; }
.journalist-more-link a { color:var(--red); font-weight:700; text-decoration:none; }
.journalist-more-link a:hover { text-decoration:underline; }
.story-footer { background:var(--ink); color:#bcbcb4; font-family:Inconsolata,monospace; font-size:12px; padding:28px; text-align:center; }.story-footer a{display:block;margin:0 auto 14px;max-width:360px}.story-footer img{display:block;height:46px;object-fit:cover;width:100%}.story-footer p{margin:0}
@media(max-width:650px){
  .site-head { align-items:flex-start; flex-direction:column; gap:6px; padding:16px; }
  .story-shell{padding:22px 16px 50px}
  .related-grid{grid-template-columns:1fr}
  .related-card{min-height:0}
  .coverage-list li{align-items:flex-start;flex-direction:column;gap:4px}
  h1.story-headline { font-size: clamp(30px, 9vw, 40px); max-width: none; padding-bottom: 14px; }
  .summary p, .summary p:first-of-type { font-size: 18.5px; line-height: 1.68; }
}
/* Homepage / listing cards: title vs excerpt separation */
.related-card strong {
  color: #0a0b09;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.22;
}
.related-card small {
  font-size: 11px;
  letter-spacing: 0.04em;
}
