@charset "UTF-8";
:root {
  --news-paper: #f6f2e9;
  --news-white: #fbf9f3;
  --news-ink: #17292d;
  --news-muted: #687473;
  --news-rule: #c9c9bb;
  --news-red: #b94835;
  --news-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --news-sans: "Aptos", "Segoe UI", sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--news-paper); }
body { margin: 0; color: var(--news-ink); background: radial-gradient(ellipse at 50% -15%, #fffdf7 0, var(--news-paper) 63%); font: 15px/1.55 var(--news-sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
a:focus-visible { outline: 3px solid rgba(185,72,53,.52); outline-offset: 4px; }
.news-page { width: min(100% - 36px, 1180px); margin: 0 auto; }
.masthead { padding-top: 19px; }
.masthead-top, .edition-rule { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #68706b; font-size: 9px; font-weight: 750; letter-spacing: 1.1px; }
.masthead-top { padding-bottom: 12px; border-bottom: 1px solid var(--news-rule); }
.masthead-main { display: flex; min-height: 104px; align-items: center; justify-content: space-between; gap: 14px; }
.publication { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.publication-mark { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--news-ink); color: var(--news-paper); background: var(--news-ink); font: 34px/.9 var(--news-serif); }
.publication b { display: block; font: 700 clamp(23px,5vw,34px)/1 var(--news-serif); letter-spacing: -.8px; }
.publication small { display: block; margin-top: 6px; color: var(--news-muted); font-size: 10px; letter-spacing: .15px; }
.edition-rule { min-height: 34px; border-top: 3px double var(--news-ink); border-bottom: 1px solid var(--news-ink); }
.lead-section { padding: 24px 0 28px; border-bottom: 1px solid var(--news-rule); }
.lead-kicker { display: flex; align-items: center; gap: 9px; color: var(--news-red); font-size: 9px; font-weight: 800; letter-spacing: 1.3px; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--news-red); box-shadow: 0 0 0 4px rgba(185,72,53,.11); }
.lead-rule { height: 1px; flex: 1; margin-left: 2px; background: var(--news-rule); }
.lead-kicker > span:last-child { color: var(--news-muted); font-size: 8px; }
.lead-content { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 42px; align-items: center; padding-top: 24px; }
.story-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; color: var(--news-muted); font-size: 10px; }
.story-meta time { margin-left: auto; font-variant-numeric: tabular-nums; white-space: nowrap; }
.language-tag { padding: 3px 6px; border: 1px solid #d2aa91; color: #873e31; font-size: 8px; font-weight: 800; letter-spacing: .35px; }
.lead-copy h1 { max-width: 790px; margin: 15px 0 12px; font: 400 clamp(31px,5.8vw,64px)/1.04 var(--news-serif); letter-spacing: -1.6px; text-wrap: balance; }
.lead-copy h1 a, .story h3 a { text-decoration: none; }
.lead-copy h1 a:hover, .story h3 a:hover { color: var(--news-red); }
.lead-excerpt { max-width: 710px; margin: 0 0 13px; color: #505e5e; font: 15px/1.65 var(--news-serif); }
.source-link { display: inline-flex; align-items: center; gap: 8px; color: var(--news-red); font-size: 10px; font-weight: 800; letter-spacing: .2px; text-decoration: none; }
.source-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.source-link span { font-size: 14px; }
.lead-aside { position: relative; min-height: 174px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 16px; border-left: 1px solid var(--news-red); background: #ede7da; }
.aside-number { color: var(--news-red); font: 53px/.9 var(--news-serif); }
.lead-aside p { position: relative; z-index: 1; margin: 0; color: #475654; font: italic 13px/1.45 var(--news-serif); }
.aside-ornament { position: absolute; right: -7px; bottom: -23px; color: rgba(23,41,45,.09); font: 125px/.9 var(--news-serif); }
.lead-empty { display: flex; gap: 17px; align-items: flex-start; padding: 28px 0 8px; }
.empty-symbol { color: var(--news-red); font: 43px/.8 var(--news-serif); }
.lead-empty h1 { margin: 0 0 7px; font: 400 clamp(28px,5vw,42px)/1.1 var(--news-serif); }
.lead-empty p { max-width: 620px; margin: 0; color: var(--news-muted); font-size: 13px; }
.feed-notice { margin: 18px 0 0; padding: 11px 14px; border-left: 3px solid var(--news-red); color: #596362; background: #eee8dc; font-size: 11px; }
.feed-notice b { color: var(--news-ink); }
.section-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 25px 0 16px; }
.section-index { margin: 0 0 2px; color: var(--news-red); font-size: 8px; font-weight: 850; letter-spacing: 1.5px; }
.section-intro h2 { margin: 0; font: 400 29px/1.1 var(--news-serif); letter-spacing: -.4px; }
.updated-stamp { margin: 0; color: var(--news-muted); font-size: 8px; letter-spacing: .8px; line-height: 1.5; text-align: right; }
.updated-stamp b { color: var(--news-ink); font-size: 10px; letter-spacing: 0; }
.updated-stamp > span { display: block; margin-top: 5px; }
.news-columns { display: grid; grid-template-columns: 1fr 1fr; border-top: 3px solid var(--news-ink); }
.news-section { min-width: 0; padding: 18px 23px 0 0; }
.world-section { padding-right: 0; padding-left: 23px; border-left: 1px solid var(--news-rule); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 5px; padding-bottom: 13px; border-bottom: 1px solid var(--news-rule); }
.section-heading > div { display: flex; align-items: center; gap: 12px; }
.section-marker { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--news-red); color: var(--news-red); font: 15px var(--news-serif); }
.section-heading p { margin: 0 0 1px; color: var(--news-muted); font-size: 8px; font-weight: 700; letter-spacing: .65px; }
.section-heading h2 { margin: 0; font: 400 24px/1 var(--news-serif); }
.section-language { color: var(--news-muted); font-size: 8px; font-weight: 750; white-space: nowrap; }
.story-list { display: grid; }
.story { position: relative; padding: 17px 0 18px; border-bottom: 1px solid #d9d8cd; animation: rise .45s ease both; }
.story:nth-child(2) { animation-delay: 60ms; }
.story:nth-child(3) { animation-delay: 120ms; }
.story:nth-child(4) { animation-delay: 180ms; }
.story:nth-child(5) { animation-delay: 240ms; }
.story h3 { margin: 9px 0 6px; font: 400 20px/1.2 var(--news-serif); letter-spacing: -.2px; }
.story-excerpt { display: -webkit-box; overflow: hidden; margin: 0 0 9px; color: #596463; font: 12px/1.5 var(--news-serif); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.story .source-link { font-size: 9px; }
.section-empty { margin: 0; padding: 17px 0; color: var(--news-muted); font: italic 14px/1.5 var(--news-serif); }
.news-footer { display: grid; grid-template-columns: minmax(220px,.8fr) 1.2fr; gap: 25px; align-items: start; margin-top: 35px; padding: 17px 0 24px; border-top: 3px double var(--news-ink); }
.footer-publication { display: flex; gap: 10px; align-items: center; }
.small-mark { width: 34px; height: 34px; padding: 0; border-radius: 0; appearance: none; font-size: 24px; cursor: default; touch-action: manipulation; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.small-mark:focus-visible { outline: 3px solid rgba(185,72,53,.65); outline-offset: 4px; }
.footer-publication b { display: block; font: 18px/1.1 var(--news-serif); }
.footer-publication small { display: block; margin-top: 4px; color: var(--news-muted); font-size: 9px; }
.attribution { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; color: var(--news-muted); font-size: 9px; line-height: 1.5; }
.attribution p { margin: 0; }
.attribution b { color: var(--news-ink); }
.attribution a { color: var(--news-red); font-weight: 750; text-decoration: none; }
.attribution a:hover { text-decoration: underline; }
@keyframes rise { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 900px) {
  .lead-section { padding-top: 29px; }
  .lead-content { grid-template-columns: minmax(0,1fr) 210px; }
  .story h3 { font-size: 22px; }
}
@media (max-width: 680px) {
  .news-page { width: min(100% - 30px, 560px); }
  .masthead-top { font-size: 8px; letter-spacing: .55px; }
  .masthead-main { min-height: 82px; }
  .publication { gap: 8px; }
  .publication-mark { width: 39px; height: 39px; font-size: 28px; }
  .publication b { font-size: clamp(20px,5.3vw,27px); }
  .publication small { max-width: 190px; font-size: 8px; }
  .edition-rule { min-height: 30px; font-size: 8px; }
  .lead-section { padding: 20px 0 22px; }
  .lead-content { grid-template-columns: 1fr; gap: 15px; padding-top: 20px; }
  .lead-copy h1 { margin-top: 13px; font-size: clamp(34px,9vw,52px); letter-spacing: -1px; }
  .lead-excerpt { font-size: 14px; }
  .lead-aside { min-height: 79px; flex-direction: row; align-items: center; padding: 11px 14px; }
  .aside-number { font-size: 38px; }
  .lead-aside p { margin-left: auto; margin-right: 26px; font-size: 11px; text-align: right; }
  .aside-ornament { right: -8px; bottom: -20px; font-size: 85px; }
  .section-intro { padding: 22px 0 13px; }
  .section-intro h2 { font-size: 26px; }
  .news-columns { grid-template-columns: 1fr; }
  .news-section, .world-section { padding: 15px 0 0; border-left: 0; }
  .world-section { margin-top: 7px; border-top: 1px solid var(--news-ink); }
  .story { padding: 15px 0; }
  .story h3 { font-size: 19px; }
  .news-footer { grid-template-columns: 1fr; gap: 13px; margin-top: 27px; }
  .attribution { grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 390px) {
  .news-page { width: calc(100% - 24px); }
  .masthead-top { align-items: flex-start; }
  .masthead-top span:last-child { text-align: right; }
  .masthead-main { flex-wrap: wrap; gap: 8px; padding: 11px 0; }
  .publication { flex: 1 1 100%; }
  .publication small { max-width: 140px; }
  .story-meta { gap: 6px 8px; font-size: 9px; }
  .story-meta time { margin-left: 0; }
  .attribution { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
