body {
  font-family: "DejaVu Sans", Verdana, sans-serif;
  color: #2f2140;
}

a {
  color: #7b3f9e;
}


:focus-visible {
  outline: 3px solid #7b3f9e;
  outline-offset: 2px;
}

.navbar-brand {
  color: #2f2140;
  font-weight: bold;
  text-transform: uppercase;
}

.nav-link {
  color: #2f2140;
}

.nav-link:hover {
  color: #7b3f9e;
}


.btn-horizon {
  background-color: #7b3f9e;
  border-color: #7b3f9e;
  color: white;
  font-weight: bold;
}

.btn-horizon:hover,
.btn.btn-horizon:active {
  background-color: #64327f;
  border-color: #64327f;
  color: white;
}


.hero {
  background-color: #f4eef7;
}

.surtitre {
  color: #7b3f9e;
}

.hero h1 {
  font-size: 28px;
  margin-bottom: 16px;
}

.stat-value {
  color: #7b3f9e;
}

.stat-label {
  margin-bottom: 16px;
}

.section-programme {
  padding: 16px 0 48px;
}

.step {
  border: 1px solid #8a8494;
}

.step-num {
  color: #7b3f9e;
}

.step h3 {
  font-size: 18px;
}


.atouts {
  background-color: #2f2140;
  color: white;
  padding: 40px 0;
}

.atouts li {
  font-weight: bold;
  margin-bottom: 16px;
}

.form-label {
  font-weight: bold;
  font-size: 14px;
}


.form-check-input:checked {
  background-color: #7b3f9e;
  border-color: #7b3f9e;
}

.form-text {
  color: #2f2140;
}

footer {
  background-color: #f4eef7;
  padding: 24px 0;
  font-size: 14px;
}

footer a {
  color: #2f2140;
}


.legal .container {
  max-width: 800px;
}

.legal h2 {
  font-size: 20px;
  margin-top: 32px;
}

@media (min-width: 768px) {
  .hero h1 {
    font-size: 44px;
  }

  .hero {
    padding: 48px 0;
  }
}
