:root { color-scheme: light; --brown:#311d00; --orange:#ff3c00; --ink:#211d18; --quiet:#6b6258; --rule:#c9c0b7; --paper:#fffefa; }
* { box-sizing:border-box; }
html { font-size:16px; }
body { margin:0; background:var(--paper); color:var(--ink); }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:#ac2800; }
a:focus-visible, summary:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.skip { position:absolute; left:16px; top:-80px; padding:12px; background:var(--paper); z-index:5; }
.skip:focus { top:12px; }
.page { max-width:1220px; padding:0 26px; margin:0 auto; }
.edition-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; border-top:5px solid var(--brown); padding:14px 0; font:500 .75rem/1.4 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.edition-bar .edition-type { color:var(--quiet); }
.frontpage-photo { width:min(500px,100%); margin:26px auto 0; text-align:center; }
.frontpage-photo img { display:block; width:100%; height:auto; }
.frontpage-photo figcaption { margin-top:6px; color:var(--quiet); font:.65rem/1.5 Arial,sans-serif; }
.frontpage-photo .photo-credit { display:inline-block; }
.frontpage-photo + .lead { margin-top:24px; }
.lead { text-align:center; max-width:930px; margin:45px auto 8px; }
.lead .kicker { margin:0 0 15px; color:#ad2b04; font:700 .8rem/1.4 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.lead h1 { font:900 clamp(2.25rem,4vw,3rem)/1.02 Arial,Helvetica,sans-serif; letter-spacing:-.04em; margin:0 auto 18px; max-width:100%; text-wrap:balance; }
.lead h1 a { text-decoration-thickness:3px; text-underline-offset:7px; }
.lead-links { display:flex; justify-content:center; flex-wrap:wrap; gap:9px 22px; font:700 .875rem/1.4 "Courier New",monospace; }
.lead-date { color:var(--quiet); margin:12px 0 0; font:.75rem/1.4 Arial,sans-serif; }
.masthead { position:relative; width:min(760px,100%); aspect-ratio:2085/270; overflow:hidden; margin:24px auto; padding:0; }
.masthead img { position:absolute; display:block; width:104.173%; height:auto; max-width:none; left:-2.398%; top:-85.185%; }
.utility-nav { display:flex; justify-content:center; align-items:center; gap:10px 25px; flex-wrap:wrap; border-top:1px solid var(--rule); border-bottom:3px double var(--brown); padding:13px 0; margin:0 0 30px; font:700 .8rem/1.4 "Courier New",monospace; text-transform:uppercase; }
.columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.column { padding:0 25px; min-width:0; }
.column:first-child { padding-left:0; }
.column:last-child { padding-right:0; }
.column + .column { border-left:1px solid var(--rule); }
.section-title { font:700 .75rem/1.4 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--quiet); margin:0 0 16px; }
.story-group { padding:0 0 22px; margin:0 0 23px; border-bottom:1px solid var(--rule); }
.story-group:last-child { margin-bottom:0; }
.story { margin:0 0 14px; }
.story:last-child { margin:0; }
.story h3 { font:700 1rem/1.38 "Courier New",monospace; margin:0 0 6px; overflow-wrap:break-word; }
.story.primary h3 { font-size:1.12rem; }
.story-meta { display:flex; flex-wrap:wrap; gap:5px 9px; font:.75rem/1.4 Arial,sans-serif; color:var(--quiet); }
.story-meta .kind { color:var(--brown); }
.section-label { color:#ad2b04; font:700 .75rem/1.4 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; margin:0 0 10px; }
.source-directory { border-top:3px double var(--brown); margin-top:36px; padding:24px 0 29px; }
.source-directory h2 { font:700 .8rem/1.4 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; margin:0 0 15px; }
.directory-links { display:flex; flex-wrap:wrap; gap:12px 26px; font:700 .875rem/1.4 "Courier New",monospace; }
.footer { border-top:1px solid var(--rule); padding:19px 0 26px; font:.75rem/1.6 Arial,sans-serif; color:var(--quiet); }
.footer summary { width:fit-content; color:var(--brown); font-weight:700; }
.footer p { max-width:800px; margin:9px 0; }
.footer .colophon { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:16px; }
@media (max-width:760px) {
  .page { padding:0 20px; }
  .lead { margin-top:32px; }
  .lead h1 { letter-spacing:-.04em; font-size:clamp(2.15rem,7.5vw,3rem); }
  .masthead { margin:25px auto 18px; }
  .columns { grid-template-columns:1fr; }
  .column, .column:first-child, .column:last-child { padding:0; }
  .column + .column { border-left:0; margin-top:27px; padding-top:24px; border-top:3px double var(--brown); }
  .story h3 { font-size:1.05rem; }
  .utility-nav { gap:10px 18px; }
}
@media (pointer:coarse) { .utility-nav a,.directory-links a,.lead-links a { padding:10px 0; } .footer summary { padding:12px 0; } }

/* A plain newspaper-style source list. */
.directory-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; }
.directory-heading h2 { margin-bottom:5px; }
.directory-heading p { font:italic 1rem/1.4 Georgia,serif; margin:0; color:var(--quiet); }
.directory-all { font:700 .8rem/1.4 "Courier New",monospace; }
.directory-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 36px; }
.directory-preview h3 { font:700 .7rem/1.4 Arial,sans-serif; color:#ad2b04; letter-spacing:.05em; text-transform:uppercase; margin:0 0 12px; }
.directory-preview ul,.resource-section ul { padding:0; margin:0; list-style:none; }
.directory-preview li { margin:0 0 8px; font:700 .8rem/1.4 "Courier New",monospace; overflow-wrap:anywhere; }
.directory-more { display:inline-block; margin-top:8px; font:.7rem/1.4 Arial,sans-serif; color:var(--quiet); }
.directory-intro { text-align:center; max-width:800px; margin:0 auto; }
.directory-brand { display:block; max-width:590px; margin:0 auto -7px; }
.directory-brand img { display:block; width:100%; height:auto; }
.directory-intro h1 { font:700 1.2rem/1.4 "Courier New",monospace; letter-spacing:.06em; text-transform:uppercase; margin:0 0 10px; }
.directory-dateline { margin:0 0 30px; font:.69rem/1.4 Arial,sans-serif; color:var(--quiet); }
.directory-grid { columns:3; column-gap:36px; column-rule:1px solid var(--rule); }
.resource-section { break-inside:avoid; margin:0 0 30px; scroll-margin-top:20px; }
.resource-section h2 { border-top:1px solid var(--rule); padding-top:14px; font:700 .8rem/1.4 "Courier New",monospace; text-transform:uppercase; margin:0 0 15px; color:#ad2b04; }
.resource { break-inside:avoid; margin:0 0 9px; font:.88rem/1.45 "Courier New",monospace; overflow-wrap:anywhere; }
.archive-label { display:inline-block; font:.58rem/1.3 Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; margin-left:4px; color:var(--quiet); }
.directory-footer { margin-top:24px; border-top:1px solid var(--rule); }
@media (max-width:1000px) {
  .directory-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-grid { columns:2; }
}
@media (max-width:760px) {
  .directory-heading { display:block; }
  .directory-all { display:inline-block; margin-top:12px; }
  .directory-grid { columns:1; }
  .directory-preview { grid-template-columns:1fr; }
  .directory-brand { margin:12px auto 8px; }
  .resource { font-size:.95rem; margin-bottom:11px; }
}

/* The front page follows the plain link-sheet layout: news at the upper left,
   a centered lead/photo/nameplate, and three unlabelled columns. */
:root { --ink:#000; --paper:#fff; --rule:#aaa; }
.front-page { max-width:1480px; padding:0 20px; }
.front-page header { padding-top:18px; }
.latest-headlines { width:calc((100% - 36px)/3); max-width:440px; margin:0 0 22px; font:700 14px/1.25 "Courier New",monospace; }
.latest-headlines p { margin:0 0 5px; }
.latest-headlines .story-photo { width:160px; margin:0 0 7px; }
.front-page .lead { max-width:980px; margin:18px auto 10px; }
.front-page .lead h1 { font-size:clamp(1.8rem,3.4vw,2.7rem); line-height:1.08; margin:0; letter-spacing:-.025em; }
.front-page .lead h1 a { text-underline-offset:4px; }
.front-page .frontpage-photo { width:min(340px,85%); margin:12px auto 0; }
.front-page .masthead { margin:8px auto 26px; width:min(720px,90%); }
.front-page .columns { margin:0; }
.front-page .column { padding:0 18px; }
.front-page .column:first-child { padding-left:0; }
.front-page .column:last-child { padding-right:0; }
.front-page .story { margin:0 0 13px; }
.front-page .story:nth-child(4n) { border-bottom:1px solid var(--rule); padding-bottom:10px; }
.front-page .story h3 { font:700 16px/1.28 "Courier New",monospace; margin:0; }
.front-page a { text-underline-offset:1px; }
.story-photo { width:min(180px,100%); margin:13px 0 5px; }
.story-photo img { display:block; width:100%; height:auto; }
.front-page .source-directory { margin-top:24px; padding:18px 0; border-top:1px solid var(--rule); }
.front-page .directory-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.front-page .directory-preview ul { padding:0 18px; }
.front-page .directory-preview ul:first-child { padding-left:0; }
.front-page .directory-preview ul + ul { border-left:1px solid var(--rule); }
.front-page .directory-preview li { font-size:14px; line-height:1.3; margin-bottom:8px; }
.front-page .directory-all { display:inline-block; margin-top:16px; }
.front-page .utility-nav { justify-content:flex-start; border:0; padding:0; margin:0 0 12px; }
.front-page .footer { font-size:11px; }
.photo-credits { margin-bottom:8px; }
@media (max-width:760px) {
  .front-page { padding:0 10px; }
  .front-page header { padding-top:12px; }
  .latest-headlines { width:min(365px,100%); margin-bottom:22px; }
  .front-page .lead { margin-top:25px; }
  .front-page .lead h1 { font-size:clamp(1.65rem,6.8vw,2.7rem); }
  .front-page .masthead { width:100%; margin:8px auto 28px; }
  .front-page .column { padding:0; }
  .front-page .column + .column { border-top:1px solid var(--rule); padding-top:16px; margin-top:18px; }
  .front-page .directory-preview { grid-template-columns:1fr; }
  .front-page .directory-preview ul { padding:0; }
  .front-page .directory-preview ul + ul { border-left:0; border-top:1px solid var(--rule); padding-top:12px; margin-top:10px; }
  .front-page .story h3 { font-size:15px; line-height:1.3; }
}
