:root {
  --brand-green: #0f3d2e;
  --brand-green-deep: #0a2a20;
  --brand-yellow: #f0a500;
  --brand-yellow-hover: #d99200;
  --brand-cream: #faf7ef;
  --brand-mint: #e6efee;
  --brand-accent: #2d7a4f;
}

html {
  scroll-behavior: smooth;
}

.fade-in {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.fade-in.visible {
  opacity: 1;
  transform: none;
}

/* FAQ Details/Summary Styling */
details > summary {
  list-style: none;
  cursor: pointer;
}

details > summary::-webkit-details-marker {
  display: none;
}

details[open] .faq-chev {
  transform: rotate(180deg);
}

.faq-chev {
  transition: transform 0.25s ease;
}

/* Form Submit State Styling */
.form-message.is-success {
  color: #166534;
}

.form-message.is-error {
  color: #b91c1c;
}

#lead-form.form-submitted > :not(#form-message) {
  display: none;
}