:root {
  --vt-primary: #154c79;
  --vt-accent: #1e88e5;
  --vt-bg: #f5f8fc;
}
body {
  background: var(--vt-bg);
}
.bg-primary, .btn-primary {
  background-color: var(--vt-primary) !important;
  border-color: var(--vt-primary) !important;
}
.btn-outline-primary {
  color: var(--vt-primary);
  border-color: var(--vt-primary);
}
.btn-outline-primary:hover {
  background-color: var(--vt-primary);
  border-color: var(--vt-primary);
}
.hero {
  background: linear-gradient(135deg, #eaf3fb 0%, #ffffff 60%);
}
.soft-card {
  border: 1px solid rgba(17,24,39,.08);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  border-radius: 1.25rem;
}
.metric-card {
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(17,24,39,.06);
}
.section-title {
  max-width: 720px;
}
.footer-link {
  color: rgba(255,255,255,.72);
  text-decoration: none;
}
.footer-link:hover {
  color: #fff;
}
.ballot-option {
  border: 1px solid #d9e4ef;
  border-radius: 1rem;
  padding: 1rem;
  transition: all .15s ease;
  background: #fff;
}
.ballot-option:hover {
  border-color: var(--vt-accent);
  box-shadow: 0 8px 24px rgba(30,136,229,.08);
}
.ballot-option input[type=radio] {
  transform: scale(1.2);
}
.page-banner {
  background: linear-gradient(135deg, #154c79 0%, #0f2f4b 100%);
}
