:root {
  --brand: #0b6e4f;
  --accent: #ff6b6b;
  --ink: #0d1b2a;
  --slate: #62757f;
  --soft: #fff3e6;
}

body {
  font-family: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background-color: #fff;
}
h1,
h2,
h3,
h4 {
  font-family: Lora, Georgia, "Times New Roman", serif;
}

.text-brand {
  color: var(--brand) !important;
}
.text-accent {
  color: var(--accent) !important;
}
.bg-brand {
  background-color: var(--brand) !important;
}
.bg-soft {
  background-color: var(--soft) !important;
}
.border-brand {
  border-color: var(--brand) !important;
}

.btn-brand {
  background-color: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.btn-brand:hover {
  filter: brightness(0.95);
}
.btn-outline-brand {
  color: var(--brand);
  border-color: var(--brand);
  background: transparent;
}
.btn-outline-brand:hover {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}

.hero-wave {
  background: radial-gradient(900px 300px at 10% -10%, var(--soft) 0%, #fff 60%),
    radial-gradient(
      600px 200px at 110% -20%,
      rgba(255, 107, 107, 0.15) 0%,
      rgba(255, 255, 255, 0) 60%
    );
}

.card {
  border-radius: 1rem;
}
.service-icon {
  width: 40px;
  height: 40px;
}
.step-index {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  background: var(--soft);
  color: var(--brand);
  border-radius: 50%;
  font-weight: 700;
}
.faq-item {
  border: 1px solid #e9eef7;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  background: #fff;
}
.faq-item summary {
  cursor: pointer;
  font-weight: 600;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
