*,
*::before,
*::after { box-sizing: border-box; }
body {
  margin: 0;
  color: #203128;
  background: #f4f8f5;
  font-family: Arial, "Segoe UI", sans-serif;
  line-height: 1.85;
}
a { color: #087440; }
a:focus-visible { outline: 3px solid #e4a72c; outline-offset: 3px; }
.site-header,.page-card,.site-footer {
  width: min(900px, calc(100% - 28px ));
  margin-inline: auto;
}
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e2ebe5;
  border-radius: 14px;
}
.site-header a:first-child { color: #075b36; font-weight: 800; text-decoration: none; }
.page-card {
  margin-top: 18px;
  padding: clamp(20px, 4vw, 38px);
  background: #fff;
  border: 1px solid #e2ebe5;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(20, 70, 45, .07);
}
.page-card h1,.page-card h2 { color: #075b36; }
.contact-email { overflow-wrap: anywhere; font-size: 1.1rem; font-weight: 700; }
.site-footer { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 20px 4px 30px; }
@media (max-width: 600px) { .site-header { align-items: flex-start; flex-direction: column; } }
