:root {
  --c-bg:          #F8F3EC;
  --c-surface:     #FFFFFF;
  --c-fg:          #2A2521;
  --c-muted:       #7A6F67;
  --c-border:      #E0D5C8;
  --c-accent:      #C4614A;

  --c-terracotta:  #C4614A;
  --c-sage:        #6D8F6F;
  --c-mustard:     #D4A849;

  --ff-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ff-mono: ui-monospace, "SF Mono", Menlo, monospace;

  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-8: 48px;

  --r-sm: 6px;  --r-md: 14px;
  --r-blob: 16px 4px 16px 4px;

  --maxw: 720px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0;
  background: var(--c-bg);
  color: var(--c-fg);
  font-family: var(--ff-body);
  font-size: 16px;
  line-height: 1.6;
}

a { color: var(--c-accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.site-header,
.site-main,
.site-footer {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: var(--sp-5);
}

.site-header {
  display: flex;
  align-items: center;
  border-bottom: 2px solid var(--c-terracotta);
  padding-top: var(--sp-5);
  padding-bottom: var(--sp-4);
}

.brand {
  font-weight: 800;
  color: var(--c-fg);
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
}

.site-main {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-8);
  min-height: 60vh;
}

.site-main h1 {
  margin-top: 0;
  font-size: 2rem;
  letter-spacing: -0.02em;
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--c-terracotta);
  text-underline-offset: 6px;
  text-decoration-skip-ink: none;
}

.site-main h2 { font-size: 1.3rem; margin-top: var(--sp-6); }

.lede { color: var(--c-muted); margin-top: 0; margin-bottom: var(--sp-6); }

.site-footer {
  border-top: 1px solid var(--c-border);
  color: var(--c-muted);
  font-size: 0.85rem;
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-6);
}

/* Page-map: full-width layout for the Leaflet map page */
.page-map .site-main {
  max-width: 100%;
  padding: 0;
  min-height: 0;
}
.page-map .page-map-hide { display: none; }

/* Lift nav drawer above Leaflet's z-index layers (controls sit at 1000) */
.page-map .nav-drawer   { z-index: 2000; }
.page-map .nav-backdrop { z-index: 1999; }
