:root {
  --ink: #4c174f;
  --ink-2: #674e69;
  --ocean: #872288;
  --aqua: #b3def1;
  --mist: #f7eff8;
  --white: #ffffff;
  --line: #ead8eb;
  --accent: #b3def1;
  --shadow: 0 20px 55px rgba(135, 34, 136, .14);
}

body { background: #ffffff; }
.topbar { background: #ffffff; color: #872288; border-bottom: 1px solid rgba(135,34,136,.14); }
.section-dark, .contact-card, .site-footer { background: #872288; }
.site-header { background: #872288; border-bottom-color: rgba(255,255,255,.18); }
.brand-logo { display: block; width: 235px; max-width: 38vw; height: auto; border-radius: 0; }
.nav-links a:not(.btn), .menu-toggle { color: #ffffff; }
.nav-links a:not(.btn)::after { background: #b3def1; }
.site-header .btn { background: #b3def1; border-color: #b3def1; color: #872288; }
.site-header .btn:hover { background: #ffffff; border-color: #ffffff; }
.site-footer .brand-logo { width: 250px; max-width: 100%; margin-bottom: 18px; }
.site-footer h3 { color: #b3def1; }
.hero::before { background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(247,239,248,.93) 38%, rgba(179,222,241,.08) 70%); }
.hero { background-color: #f7eff8; }
.service-icon, .pill { background: #f3e3f4; color: #872288; }
.section-soft { background: linear-gradient(180deg, #fbf7fb, #eef8fc); }
.cta-band { background: linear-gradient(135deg, #872288, #5d215f); }
.btn { background: #872288; border-color: #872288; }
.btn:hover { background: #6f1b70; box-shadow: 0 10px 24px rgba(135,34,136,.25); }
.btn-light { background: #ffffff; border-color: #ffffff; color: #872288; }
.hero .btn-ghost {
  background: #ffffff;
  border-color: #872288;
  color: #872288;
  box-shadow: 0 8px 22px rgba(135, 34, 136, .10);
}
.hero .btn-ghost:hover {
  background: #b3def1;
  border-color: #872288;
  color: #872288;
}
.eyebrow, .text-link { color: #872288; }
.process article::before { color: #b3def1; }

.consent-group {
  margin: 4px 0 2px;
  padding: 14px 16px;
  border: 1px solid #ead8eb;
  border-radius: 12px;
  background: #fbf7fb;
  gap: 9px;
}
.consent-group legend {
  padding: 0 6px;
  color: #674e69;
  font-size: .78rem;
  font-weight: 750;
}
.consent-group .checkbox {
  align-items: flex-start;
  gap: 9px;
  font-size: .78rem;
  line-height: 1.4;
}
.consent-group .checkbox input[type="checkbox"] {
  width: 15px;
  height: 15px;
  min-width: 15px;
  margin: 2px 0 0;
  accent-color: #872288;
}

@media (max-width: 680px) {
  .brand-logo { width: 190px; max-width: 62vw; }
  .hero::before { background: linear-gradient(90deg, rgba(255,255,255,.98), rgba(247,239,248,.92) 72%, rgba(179,222,241,.2)); }
}

@media (max-width: 980px) {
  .nav-links { background: #872288; border-color: rgba(255,255,255,.22); }
}
