:root {
  --sh-green: #2f5d3a;
  --sh-cream: #faf6ee;
  --sh-ink: #2b2b2b;
  --sh-muted: #6b6b6b;
  --sh-border: #e3dccd;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--sh-ink);
  background: var(--sh-cream);
  line-height: 1.6;
}
.sh-header {
  background: #fff;
  border-bottom: 1px solid var(--sh-border);
  padding: 1rem 0;
}
.sh-header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.sh-brand {
  font-family: 'Lora', serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--sh-green);
  text-decoration: none;
}
.sh-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.25rem;
}
.sh-nav a {
  color: var(--sh-ink);
  text-decoration: none;
  font-weight: 500;
}
.sh-nav a.active { color: var(--sh-green); }
.sh-main { min-height: 60vh; padding: 2rem 0; }
.sh-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.sh-hero { padding: 2rem 0; }
.sh-body { padding: 1rem 0; }
.sh-article h1 { font-family: 'Lora', serif; color: var(--sh-green); }
.sh-footer {
  background: #fff;
  border-top: 1px solid var(--sh-border);
  padding: 1.5rem 0;
  margin-top: 3rem;
  color: var(--sh-muted);
  font-size: 0.9rem;
}
.sh-footer-inner { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; text-align: center; }
.sh-disclaimer { font-size: 0.8rem; margin-top: 0.5rem; }
.sh-footer-extra { padding: 1.5rem 0; }
/* StreamField block defaults */
.sh-body h2, .sh-body h3 { font-family: 'Lora', serif; color: var(--sh-green); }
.sh-body img { max-width: 100%; height: auto; }
