:root {
  --e-boxed-width: 1280px;
  --e-gap-xl: 80px;
  --e-gap-lg: 48px;
  --e-gap-md: 24px;
  --e-padding-x: 24px;
  --e-color-border: rgba(0,0,0,0.08);
  --e-color-teal: #0b6b6f;
  --e-color-teal-dark: #084e51;
  --e-color-mint: #bfe6d8;
  --e-color-text-dark: #175f63;
  --e-color-text: #234;
}

/* Header (Elementor-like spacing and border) */
.site-header {
  border-bottom: 1px solid var(--e-color-border);
  z-index: 99;
}
.site-header .site-header-container {
  max-width: var(--e-boxed-width);
  padding-left: var(--e-padding-x);
  padding-right: var(--e-padding-x);
}

/* Generic section paddings mimicking Elementor export */
.section-padding,
.hero-section.hero-split {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 1024px) {
  .section-padding,
  .hero-section.hero-split {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  .section-padding,
  .hero-section.hero-split {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* Split Hero refinements to feel like Elementor layout */
.hero-section.hero-split { gap: var(--e-gap-xl); }
@media (max-width: 1024px){ .hero-section.hero-split { gap: var(--e-gap-lg); } }
@media (max-width: 767px){ .hero-section.hero-split { gap: var(--e-gap-md); } }

.hero-left { background-color: var(--e-color-mint); }
.hero-section.hero-split .hero-title,
.hero-section.hero-split .hero-heading { color: var(--e-color-text-dark); }

/* Typography to match 856561.json */
.hero-section.hero-split .hero-title {
  font-size: 56px;
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: 24px;
}
@media (max-width: 1024px) {
  .hero-section.hero-split .hero-title { font-size: 40px; }
}
@media (max-width: 767px) {
  .hero-section.hero-split .hero-title { font-size: 32px; }
}

.hero-section.hero-split .hero-heading {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 24px;
}
@media (max-width: 1024px) {
  .hero-section.hero-split .hero-heading { font-size: 22px; }
}
@media (max-width: 767px) {
  .hero-section.hero-split .hero-heading { font-size: 18px; }
}

.hero-section.hero-split .hero-description {
  font-size: 18px;
  line-height: 1.4;
  color: var(--e-color-text);
  margin-bottom: 24px;
}

/* CTA button styling similar to Elementor pill buttons */
.button,
.button.button-primary,
.button.button-secondary {
  border-radius: 999px;
}
.hero-buttons .button { padding: 12px 24px; font-size: 16px; }
@media (max-width: 767px){ .hero-buttons .button { font-size: 15px; } }
.button.button-primary { background: var(--e-color-teal); border: 1px solid transparent; }
.button.button-primary:hover { background: var(--e-color-teal-dark); }
.button.button-secondary { border: 1px solid var(--e-color-teal); color: var(--e-color-teal); }
.button.button-secondary:hover { background: var(--e-color-teal); color: #fff; }

/* Footer mimic from template (light gray background) */
.site-footer { background: #F4F4F4; color: #234; }
.site-footer .container { max-width: var(--e-boxed-width); padding-left: var(--e-padding-x); padding-right: var(--e-padding-x); }
