:root {
  --contrast: #202020;
  --muted: #66625d;
  --canvas: #f7f3ed;
  --surface: #fff;
  --border: #e9e1d7;
  --accent: #9a5600;
  --brand: #efaa3a;
  --max-width: 1160px;
}

body { color: var(--contrast); background: var(--canvas); }

.header-inner { min-height: 96px; }
.brand img { width: 245px; max-height: 62px; object-fit: contain; }
#site-nav { gap: 0; }
#site-nav a { padding: 18px 16px; font-weight: 600; }
.page-shell { display: block; margin-top: 30px; }

.home-sections {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 30px;
  border: 1px solid var(--border);
  background: var(--surface);
}
.home-sections a {
  padding: 22px 16px;
  color: var(--contrast);
  border-right: 1px solid var(--border);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.home-sections a:last-child { border-right: 0; }
.home-sections a:hover, .home-sections a:focus { background: #fff7e9; color: #7f4700; }

.home-posts > h2 { margin: 0 0 18px; font-size: 1.7rem; }
.home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-grid .entry { margin: 0; padding: 24px; }
.home-grid .entry h2 { font-size: 1.2rem; }
.home-grid .entry p { color: var(--muted); font-size: .95rem; }
.home-grid .featured { aspect-ratio: 16 / 10; object-fit: cover; }

.entry, .archive-header { border-top: 4px solid var(--brand); }
.entry h1, .entry h2, .archive-header h1 { font-weight: 650; }
.single-entry { max-width: 820px; margin-left: auto; margin-right: auto; }
.archive-intro { max-width: 680px; color: var(--muted); }
.archive-intro p:last-child { margin-bottom: 0; }
.post-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.post-list .entry { margin: 0; }

.footer-inner { display: flex; justify-content: space-between; gap: 24px; }
.footer-inner a { color: var(--muted); }

@media (max-width: 860px) {
  .home-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-sections a { border-bottom: 1px solid var(--border); }
  .home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .brand img { width: 210px; }
  .home-sections, .home-grid, .post-list { grid-template-columns: 1fr; }
  .home-sections a { border-right: 0; }
  .footer-inner { flex-direction: column; gap: 8px; }
}
