:root {
  color-scheme: light;
  --paper: #f8f0df;
  --card: #fffdf8;
  --ink: #183e38;
  --muted: #536b65;
  --accent: #d96b50;
  --line: #ded6c7;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.75 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
.site-header, .page, .site-footer { width: min(100% - 36px, 900px); margin-inline: auto; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-block: 22px;
  border-bottom: 1px solid var(--line);
}
.brand { text-decoration: none; font-size: 20px; font-weight: 800; letter-spacing: -.04em; }
.brand span { display: block; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.header-link, .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  font-size: 14px;
  font-weight: 700;
  padding: 11px 18px;
  text-decoration: none;
}
.page { padding-block: clamp(35px, 8vw, 76px) 72px; }
.breadcrumb { color: var(--muted); font-size: 13px; }
.breadcrumb a { text-underline-offset: 3px; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.045em; line-height: 1.08; }
h1 { max-width: 780px; margin: 22px 0 18px; font-size: clamp(40px, 8vw, 68px); }
h2 { margin-top: 42px; margin-bottom: 12px; font-size: clamp(26px, 4vw, 36px); }
.lead { max-width: 730px; color: var(--muted); font-size: clamp(19px, 3vw, 23px); line-height: 1.55; }
.content { max-width: 720px; }
.content p, .content li { color: #294b44; }
.content ul, .content ol { padding-left: 24px; }
.content li { margin-block: 8px; padding-left: 4px; }
.tip {
  margin-block: 28px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}
.tip strong { color: var(--ink); }
.plan-card {
  margin-block: 16px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}
.plan-card h2 { margin: 5px 0 10px; font-size: clamp(24px, 4vw, 31px); }
.plan-card h2 a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.plan-card p { margin: 8px 0; }
.plan-card .eyebrow { color: var(--muted); font: 700 12px/1.4 Inter, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.plan-card .schedule { font-weight: 650; }
.plan-card .place, .plan-card .source-link { color: var(--muted); font-size: 14px; }
.territory-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 10px; margin: 22px 0; padding: 0 !important; list-style: none; }
.territory-list li { margin: 0 !important; padding: 0 !important; }
.territory-list a {
  display: block;
  height: 100%;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
  font-weight: 650;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.municipality-count { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 500; }
.empty-state { margin-block: 24px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--card); }
.related { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 40px; }
.related a { border: 1px solid var(--line); border-radius: 14px; background: var(--card); padding: 14px 16px; font-weight: 700; text-underline-offset: 4px; }
.page-action { margin-top: 34px; }
.site-footer { padding-block: 18px 30px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.site-footer a { text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
