:root {
  --brand-green: #1b474d;
  --brand-green-deep: #0a2a20;
  --brand-yellow: #f0a500;
  --brand-yellow-hover: #d99200;
  --brand-cream: #fff4c6;
  --brand-mint: #e6efee;
  --brand-accent: #2d7a4f;
  --brand-gold: #fdbb4d;
  --brand-gold-hover: #e5a840;
}

html {
  scroll-behavior: smooth;
  background-color: #fff4c6;
}

body {
  background-color: #fff4c6;
  color: #1b474d;
  margin: 0;
  padding: 0;
}

/* Enforce No White Backgrounds across containers */
.bg-white {
  background-color: #fff4c6 !important;
}

.fade-in {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Testimonial Expandable Clamping */
.testimonial-collapsed {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.testimonial-expanded {
  display: block;
}

/* Mobile swipe row fallback for testimonials */
@media (max-width: 767px) {
  #testimonial-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 1rem;
    padding-bottom: 1rem;
    -webkit-overflow-scrolling: touch;
  }
  
  .testimonial-card {
    min-width: 85%;
    scroll-snap-align: center;
    flex-shrink: 0;
  }
}

/* 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;
}