/* {{OUTLET_NAME}} — fledgling independent news outlet theme */
:root {
  --ink: #1a1a1a;
  --paper: #faf9f6;
  --accent: #8b1e1e;
  --muted: #6b6b6b;
  --rule: #e3e0d8;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; }
.masthead { border-bottom: 3px double var(--ink); padding: 2.2rem 1rem 1.2rem; text-align: center; }
.masthead h1 { font-family: var(--serif); font-size: 2.4rem; letter-spacing: 0.5px; }
.masthead .tagline { color: var(--muted); font-size: 0.9rem; margin-top: 0.4rem; font-style: italic; }
nav { border-bottom: 1px solid var(--rule); text-align: center; padding: 0.6rem; }
nav a { margin: 0 1.1rem; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1.5px; text-decoration: none; color: var(--ink); }
nav a:hover { color: var(--accent); }
main { max-width: 760px; margin: 0 auto; padding: 2.5rem 1.2rem 4rem; }
h2 { font-family: var(--serif); font-size: 1.7rem; margin: 1.8rem 0 0.8rem; }
.rule { border-top: 1px solid var(--rule); margin: 2rem 0; }
.story { margin-bottom: 2.2rem; }
.story .kicker { color: var(--accent); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 1.2px; }
.story h3 { font-family: var(--serif); font-size: 1.35rem; margin: 0.25rem 0 0.4rem; }
.story h3 a { text-decoration: none; }
.story h3 a:hover { color: var(--accent); }
.story .dek { color: var(--muted); font-size: 0.95rem; }
.story .meta { font-size: 0.8rem; color: var(--muted); margin-top: 0.4rem; }
article p { margin-bottom: 1.1rem; font-family: var(--serif); font-size: 1.06rem; }
article .byline { color: var(--muted); font-size: 0.9rem; margin-bottom: 1.6rem; }
article .dateline { text-transform: uppercase; letter-spacing: 1px; font-size: 0.8rem; color: var(--accent); margin-bottom: 1.2rem; }
footer { border-top: 1px solid var(--rule); text-align: center; padding: 1.6rem; color: var(--muted); font-size: 0.8rem; }
footer .fname { font-family: var(--serif); color: var(--ink); font-size: 1rem; }
.card-grid { display: grid; grid-template-columns: 1fr; gap: 1.6rem; }
@media (min-width: 640px) { .card-grid { grid-template-columns: 1fr 1fr; } }
.card { border: 1px solid var(--rule); padding: 1.2rem; background: #fff; }
.card h3 { font-family: var(--serif); font-size: 1.1rem; margin-bottom: 0.4rem; }
.card p { font-size: 0.88rem; color: var(--muted); }
