/* Shared public shell for contact and legal pages. Content and form behavior stay page-owned. */
:root {
  --shell-ink: #192a21;
  --shell-muted: #56695e;
  --shell-line: #d8e4d7;
  --shell-accent: #537239;
  --shell-lime: #b8df3f;
}
html, body { overflow-x: hidden; }
.top {
  position: sticky;
  top: 0;
  z-index: 10;
  min-height: 76px;
}
.top a, .back, .foot a { transition: color .18s ease, transform .18s ease; }
.top a:hover, .back:hover, .foot a:hover { color: #2f5e3d !important; }
.wrap { padding-bottom: 54px !important; }
h1 { color: var(--shell-ink) !important; line-height: 1.02 !important; text-wrap: balance; }
.grid { align-items: start !important; }
.card { min-width: 0; }
.card h2 { color: #3f663f !important; }
.meta { border-color: var(--shell-line) !important; }
.meta strong { color: #365943 !important; }
.meta span { color: #5d7065 !important; line-height: 1.65; }
.field label {
  color: #365943 !important;
  font-size: 11px !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.field input, .field select, .field textarea {
  min-height: 50px;
  border-color: #78937e !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.field input::placeholder, .field textarea::placeholder { color: #9bb0a0; }
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: #709b32 !important;
  box-shadow: 0 0 0 3px rgba(112,155,50,.22) !important;
}
.button { box-shadow: 0 10px 22px rgba(110, 155, 44, .2); }
.button:focus-visible, .legal-theme-toggle:focus-visible, a:focus-visible {
  outline: 3px solid rgba(112,155,50,.42);
  outline-offset: 3px;
}
.inline-link {
  color: #517239 !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.address { border-left-width: 4px !important; }
.foot { padding-top: 14px !important; }
body[data-theme="dark"] h1 { color: #edf6f0 !important; }
body[data-theme="dark"] .top a,
body[data-theme="dark"] .back,
body[data-theme="dark"] .foot a,
body[data-theme="dark"] .inline-link { color: #c9fb63 !important; }
body[data-theme="dark"] .field label { color: #cfe1d4 !important; }
body[data-theme="dark"] .meta { border-color: #2b4234 !important; }
body[data-theme="dark"] .meta strong { color: #d9f0dd !important; }
body[data-theme="dark"] .meta span { color: #a9c0b1 !important; }
body[data-theme="dark"] .field input,
body[data-theme="dark"] .field select,
body[data-theme="dark"] .field textarea { border-color: #46664f !important; }
@media (max-width: 700px) {
  .top { min-height: 68px; padding-left: 18px !important; padding-right: 18px !important; }
  .brand { font-size: 18px !important; }
  .top > a { font-size: 12px; }
  .wrap { padding: 50px 16px 42px !important; }
  h1 { font-size: clamp(34px, 10vw, 48px) !important; }
  .grid { gap: 14px !important; }
  .card { padding: 22px !important; border-radius: 22px !important; }
  .field { margin-top: 14px !important; }
  .foot { padding: 12px 16px 22px !important; }
}
