/* ── BRAND CONFIG ─────────────────────────────────────────────────────── */
:root {
  --color-primary: #1B3A2D;
  --color-primary-light: #2D5C42;
  --color-accent: #E8621A;
  --color-bg: #FAFAF5;
  --color-text: #1A1A18;
  --color-text-muted: #6B7A6E;
  --color-border: #e8e4d9;
  --font-heading: 'Domine', Georgia, serif;
  --font-body: 'Work Sans', 'Helvetica Neue', Arial, sans-serif;
  --radius: 0px;
}
/* ─────────────────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); background: var(--color-bg); color: var(--color-text); line-height: 1.6; }

.home-link { display: inline-block; padding: 14px 20px; font-size: 14px; font-weight: 600; color: var(--color-text-muted); text-decoration: none; transition: color 0.2s ease; }
.home-link:hover { color: var(--color-primary); }

.hero { line-height: 0; }
.hero-banner { width: 100%; height: auto; display: block; max-height: 340px; object-fit: cover; object-position: top; }

.mission { max-width: 680px; margin: 0 auto; padding: 64px 24px; text-align: center; }
.mission h2 { font-family: var(--font-heading); font-size: 26px; color: var(--color-primary); margin-bottom: 18px; }
.mission p { font-size: 16px; color: var(--color-text-muted); line-height: 1.8; }

.divider { border: none; border-top: 2px solid var(--color-accent); max-width: 40px; margin: 0 auto 28px; }

.signup-section { background: #F7F1E2; padding: 64px 24px; }
.signup-section h2 { font-family: var(--font-heading); font-size: 26px; color: var(--color-primary); text-align: center; margin-bottom: 8px; }
.signup-section .sub { text-align: center; color: var(--color-text-muted); margin-bottom: 36px; font-size: 14px; }

form { max-width: 520px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }

.field label { display: block; font-size: 12px; font-weight: 600; color: var(--color-text); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.02em; }

.field textarea {
  width: 100%; padding: 13px 15px; border: 1.5px solid rgba(27,58,45,0.25);
  border-radius: var(--radius); font-size: 15px; font-family: var(--font-body);
  background: #fff; transition: border-color 0.2s; resize: vertical;
}
.field textarea:focus { outline: none; border-color: var(--color-primary); }

.field input[type="text"], .field input[type="email"], .field input[type="tel"] {
  width: 100%; padding: 13px 15px; border: 1.5px solid rgba(27,58,45,0.25);
  border-radius: var(--radius); font-size: 15px; font-family: var(--font-body);
  background: #fff; transition: border-color 0.2s; -webkit-appearance: none;
}
.field input:focus { outline: none; border-color: var(--color-primary); }

.checkbox-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.checkbox-option {
  display: flex; align-items: center; gap: 10px; padding: 11px 14px;
  border: 1.5px solid rgba(27,58,45,0.25); border-radius: var(--radius);
  cursor: pointer; transition: border-color 0.2s, background 0.2s; background: #fff;
}
.checkbox-option:has(input:checked) { border-color: var(--color-primary); background: rgba(27,58,45,0.06); }
.checkbox-option input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--color-primary); cursor: pointer; }
.checkbox-option span { font-size: 14px; user-select: none; }

.btn-submit {
  background: var(--color-accent); color: #fff; font-size: 15px; font-weight: 700;
  padding: 17px 24px; border: none; border-radius: var(--radius); cursor: pointer;
  transition: background 0.2s, transform 0.1s; font-family: var(--font-body); letter-spacing: 0.02em;
}
.btn-submit:hover { background: #cf5615; }
.btn-submit:active { transform: scale(0.98); }
.btn-submit:disabled { opacity: 0.6; cursor: not-allowed; }

#form-status { text-align: center; font-size: 14px; padding: 12px; border-radius: var(--radius); display: none; }
#form-status.success { display: block; background: rgba(27,58,45,0.1); color: var(--color-primary); border: 1px solid var(--color-primary); }
#form-status.error { display: block; background: rgba(200,50,50,0.08); color: #b83232; border: 1px solid #e08080; }

footer { background: var(--color-primary); color: rgba(255,255,255,0.75); text-align: center; padding: 40px 24px; font-size: 13px; }
footer .footer-name { color: #fff; font-family: var(--font-heading); font-size: 17px; font-weight: 700; margin-bottom: 8px; }
footer a { color: var(--color-accent); text-decoration: none; }

@media (max-width: 480px) {
  .checkbox-group { grid-template-columns: 1fr; }
}
