/* Calm, readable site-wide palette */
:root {
  --site-bg: #f3f2ed !important;
  --site-surface: #fbfaf7 !important;
  --site-text: #303633 !important;
  --site-muted: #626b66 !important;
  --site-border: #d9ddd7 !important;
  --site-primary: #58756a !important;
  --site-on-primary: #ffffff !important;
  --site-secondary: #827263 !important;
  --site-on-secondary: #ffffff !important;
  --site-accent: #718597 !important;
  --site-on-accent: #ffffff !important;
  --site-success: #5f806d !important;
  --site-warning: #9a7b4f !important;
  --site-error: #a45f5f !important;
  --site-info: #667f92 !important;
}

body {
  background-color: var(--site-bg);
  color: var(--site-text);
  line-height: 1.65;
}

/* Outweigh the generated scrim rules without changing the page markup. */
[data-cg-host][data-cg-host] > [data-cg-scrim] {
  background: transparent !important;
}

.site-header,
.site-footer,
.neumorphic,
.soft-card,
.metric-card,
.testimonial-card,
.contact-card,
.soft-panel,
.legal-card,
.content-card,
.guide-card,
.service-card {
  background-color: var(--site-surface) !important;
}

.hero-panel,
.hero-shell,
.legal-hero,
.hero-radial,
.guide-shell,
.thank-you-card {
  background: linear-gradient(145deg, #fbfaf7 0%, #edf1ed 100%) !important;
  border-color: var(--site-border) !important;
}

.cta-band,
.contact-band,
.btn-cta,
.btn-gradient,
.gradient-btn,
.step-number {
  background: linear-gradient(135deg, var(--site-primary), #6f887e) !important;
  border-color: transparent !important;
  color: var(--site-on-primary) !important;
}

.cta-band *,
.contact-band *,
.btn-cta.btn-cta[data-cg-uid],
.btn-gradient.btn-gradient[data-cg-uid],
.gradient-btn.gradient-btn[data-cg-uid],
.step-number.step-number[data-cg-uid] {
  color: var(--site-on-primary) !important;
}

.nav-link-custom:hover,
.nav-link-custom.active {
  background: rgba(88, 117, 106, 0.09) !important;
}

.neumorphic,
.hero-panel,
.hero-shell,
.soft-card,
.metric-card,
.testimonial-card,
.contact-card,
.soft-panel,
.legal-card,
.content-card,
.guide-card,
.service-card {
  box-shadow: 0 10px 28px rgba(48, 54, 51, 0.07) !important;
}

a:not(.btn) {
  text-decoration-color: rgba(88, 117, 106, 0.4);
}

.form-control,
.form-select,
textarea {
  background-color: var(--site-bg) !important;
  border-color: var(--site-border) !important;
  color: var(--site-text) !important;
}

.form-control::placeholder,
textarea::placeholder {
  color: var(--site-muted) !important;
  opacity: 0.78;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
  border-color: var(--site-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(88, 117, 106, 0.16) !important;
}

@media (prefers-color-scheme: dark) {
  :root {
    --site-bg: #252a27 !important;
    --site-surface: #2d332f !important;
    --site-text: #e2e5e1 !important;
    --site-muted: #b0b7b2 !important;
    --site-border: #444c47 !important;
    --site-primary: #94afa3 !important;
    --site-on-primary: #1e2924 !important;
    --site-secondary: #b4a08d !important;
    --site-on-secondary: #28221d !important;
    --site-accent: #9bafbf !important;
    --site-on-accent: #1f292f !important;
  }

  .hero-panel,
  .hero-shell,
  .legal-hero,
  .hero-radial,
  .guide-shell,
  .thank-you-card {
    background: linear-gradient(145deg, #303733 0%, #29302c 100%) !important;
  }

  .cta-band,
  .contact-band,
  .btn-cta,
  .btn-gradient,
  .gradient-btn,
  .step-number {
    background: linear-gradient(135deg, var(--site-primary), #829d91) !important;
  }
}
