:root {
  --wac-navy:#1B2A4A;
  --wac-green:#7BB661;
  --wac-soft:#F3F7F4;
  --wac-text:#1D2433;
  --wac-border:#D9E5DD;
  --wac-white:#FFFFFF;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Arial, Helvetica, sans-serif; color:var(--wac-text); background:#fff; }
a { color:var(--wac-navy); text-decoration:none; }
img { max-width:100%; height:auto; display:block; border-radius:1rem; }
.container { width:min(1120px, calc(100% - 2rem)); margin:0 auto; }
.section { padding:4rem 0; }
.section-soft { background:var(--wac-soft); }
.site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,0.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--wac-border); }
.site-header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand-mark { font-size:1.4rem; font-weight:800; letter-spacing:0.04em; }
.brand-mark-full { display:inline-flex; align-items:center; }
.brand-logo-image { max-height:56px; width:auto; border-radius:0; }
.brand-logo-fallback { display:inline-flex; align-items:center; justify-content:center; min-width:64px; min-height:48px; padding:0 1rem; border-radius:0.9rem; background:#EEF4EF; color:#1B2A4A; }
.site-nav { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.site-footer { padding:3rem 0; background:var(--wac-navy); color:#fff; }
.footer-brand-row { display:flex; align-items:center; gap:0.85rem; margin-bottom:0.75rem; }
.footer-logo-image { max-height:44px; width:auto; border-radius:0; }
.site-credit { opacity:0.78; font-size:0.92rem; }
.eyebrow { display:inline-flex; margin-bottom:0.9rem; text-transform:uppercase; letter-spacing:0.08em; font-size:0.8rem; font-weight:700; color:var(--wac-green); }
h1,h2,h3 { margin:0 0 1rem; line-height:1.15; color:var(--wac-navy); }
h1 { font-size:clamp(2.2rem, 5vw, 4rem); }
h2 { font-size:clamp(1.7rem, 3vw, 2.5rem); }
p { line-height:1.7; margin:0 0 1rem; }
.button, button {
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; border-radius:999px;
  border:1px solid transparent; padding:0.9rem 1.35rem; background:var(--wac-navy); color:#fff;
  font-weight:700; cursor:pointer; transition:0.2s ease;
}
.button:hover, button:hover { transform:translateY(-1px); opacity:0.96; }
.button-outline { background:transparent; color:var(--wac-navy); border-color:var(--wac-navy); }
.button-primary { background:var(--wac-green); color:#102212; }
.panel, .card, .form-shell, .stat-card, .gallery-tile {
  background:#fff; border:1px solid var(--wac-border); border-radius:1.2rem; padding:1.25rem; box-shadow:0 10px 30px rgba(27,42,74,0.06);
}
.hero-grid, .split-grid, .cards-grid, .gallery-grid, .stats-grid { display:grid; gap:1rem; }
.hero-grid { grid-template-columns:1.2fr 0.8fr; align-items:center; }
.split-grid { grid-template-columns:repeat(2, 1fr); }
.cards-grid { grid-template-columns:repeat(3, 1fr); }
.gallery-grid { grid-template-columns:repeat(3, 1fr); }
.stats-grid { grid-template-columns:repeat(4, 1fr); }
.stat-card h3 { font-size:2rem; margin-bottom:0.35rem; }
form { display:grid; gap:1rem; }
label { display:grid; gap:0.45rem; font-weight:700; }
input, select, textarea {
  width:100%; border:1px solid var(--wac-border); border-radius:0.9rem; padding:0.9rem 1rem; font:inherit; color:var(--wac-text); background:#fff;
}
textarea { min-height:150px; resize:vertical; }
.alert { border-radius:1rem; padding:1rem 1.1rem; margin-bottom:1rem; border:1px solid transparent; }
.alert-success { background:#EEF8EE; color:#173B18; border-color:#CBE7CB; }
.alert-danger { background:#FFF1F1; color:#6B1E1E; border-color:#F0CACA; }
@media (max-width: 900px) {
  .hero-grid, .split-grid, .cards-grid, .gallery-grid, .stats-grid { grid-template-columns:1fr; }
  .site-header-inner { align-items:flex-start; padding:1rem 0; }
  .site-nav { justify-content:flex-start; }
}
