:root{
  --ink:#111; --muted:#555; --rule:#222;
  --accent:#154670; --secondary:#EE8400; --bg:#fff;
  --max: 1100px; --col-gap:24px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--ink); background:var(--bg);
  font-family: Georgia,"Times New Roman",Times,serif; line-height:1.35;
}
.page{max-width:var(--max); margin:0 auto; padding:24px 16px 64px;}
.masthead{ text-align:center; padding-bottom:6px; border-bottom:3px double var(--rule);}
.mast-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px;}
.edition{ font-variant:small-caps; letter-spacing:.06em; color:var(--muted); font-size:14px;}
.nameplate{ font-family:"Didot","Bodoni MT",Didot,"Times New Roman",serif;
  font-size:clamp(44px,8vw,84px); letter-spacing:.02em; line-height:.95;}
.dateline{ display:flex; justify-content:center; gap:16px; margin-top:8px; font-size:14px; color:var(--muted);}
.sections{ display:flex; flex-wrap:wrap; gap:12px 18px; justify-content:center;
  padding:10px 0 8px; border-bottom:1px solid var(--rule);
  font-variant:small-caps; letter-spacing:.06em; font-size:14px;}
.sections a{ text-decoration:none; color:var(--ink)}
.print-btn{ position:sticky; top:8px; float:right; border:1px solid var(--rule);
  background:#f8f9fa; padding:6px 10px; cursor:pointer;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif; border-radius:4px; font-size:14px;}
.print-btn:hover{ background:#fff;}
@media print{ .print-btn{display:none!important} a{color:inherit; text-decoration:none} }

/* Section page layout */
.section-flag{ margin:14px 0 10px; border-top:3px double var(--rule); padding-top:10px;
  display:flex; align-items:baseline; gap:12px; flex-wrap:wrap}
.section-flag .label{ font-variant:small-caps; letter-spacing:.1em; color:var(--accent); font-size:14px}
.section-flag h1{ margin:0; font-size:clamp(28px,4vw,44px); font-family:"Didot","Bodoni MT",Didot,Georgia,serif; line-height:1.05}
.deck{ font-size:18px; color:var(--muted); margin:.35rem 0 .75rem}
.byline{ font-variant:small-caps; letter-spacing:.06em; font-size:13px; color:var(--muted); margin-bottom:8px}
.grid{ display:grid; grid-template-columns:2fr 1fr; gap:var(--col-gap); }
@media (max-width: 900px){ .grid{ grid-template-columns:1fr } }
.story-columns{ column-count:3; column-gap:var(--col-gap); }
@media (max-width:980px){ .story-columns{ column-count:2 } }
@media (max-width:680px){ .story-columns{ column-count:1 } }
.dropcap::first-letter{ float:left; font-size:3.2em; line-height:.9; padding:6px 8px 0 0; font-weight:700; font-family:"Didot",Georgia,serif }
.sidebox{ border:1px solid var(--rule); padding:10px }
.sidebox h4{ margin:0 0 8px; font-variant:small-caps; letter-spacing:.06em }
.teaser{ border-top:1px solid var(--rule); padding-top:10px; margin-top:8px }
.teaser h3{ margin:.2rem 0; font-size:clamp(18px,2.4vw,24px) }
.teaser p{ margin:.25rem 0 .5rem; color:var(--muted) }
footer.footer{ margin-top:18px; border-top:1px solid var(--rule); padding-top:8px; font-size:12px; color:var(--muted); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap }
.placeholder{ width:100%; aspect-ratio:4/3; background: repeating-linear-gradient(45deg,#e9ecef 0 10px,#f6f7f8 10px 20px); border:1px solid var(--rule); }
figure{ margin:0 } figcaption{ font-size:12px; color:var(--muted); margin-top:6px}
