:root {
  --su-black: #0a0a0c;
  --su-ink: #111113;
  --su-text: #1d1d1f;
  --su-text-soft: #424245;
  --su-muted: #86868b;
  --su-muted-2: #6e6e73;
  --su-border: #e8e8ed;
  --su-border-strong: #c7c7cc;
  --su-bg: #ffffff;
  --su-bg-soft: #f5f5f7;
  --su-orange: #e8821d;
  --su-radius-sm: 12px;
  --su-radius-md: 16px;
  --su-radius-lg: 20px;
  --su-radius-xl: 22px;
  --su-radius-xxl: 26px;
  --su-radius-pill: 980px;
  --su-container: 1180px;
  --su-container-narrow: 1080px;
  --su-container-wide: 1280px;
  --su-font: Montserrat, Helvetica, Arial, sans-serif;
}

.elementor-widget[class*="elementor-widget-sustable-"] {
  font-family: var(--su-font);
  color: var(--su-text);
}

.su-section,
.su-site-header,
.su-site-footer {
  box-sizing: border-box;
  font-family: var(--su-font);
}

.su-section *,
.su-site-header *,
.su-site-footer * {
  box-sizing: border-box;
}

.su-section {
  padding: 100px 32px;
  background: var(--su-bg);
  color: var(--su-text);
}

.su-section--soft {
  background: var(--su-bg-soft);
}

.su-section--dark,
.su-dark {
  background: var(--su-black);
  color: #ffffff;
}

.su-container,
.su-container-narrow,
.su-container-wide {
  width: 100%;
  margin: 0 auto;
}

.su-container {
  max-width: var(--su-container);
}

.su-container-narrow {
  max-width: var(--su-container-narrow);
}

.su-container-wide {
  max-width: var(--su-container-wide);
}

.su-section-head {
  max-width: 680px;
  margin: 0 auto 54px;
  text-align: center;
}

.su-section-head--left {
  margin-left: 0;
  text-align: left;
}

.su-eyebrow {
  margin: 0 0 14px;
  color: var(--su-muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.su-heading {
  margin: 0;
  color: inherit;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.su-text {
  margin: 18px auto 0;
  color: var(--su-muted-2);
  font-size: 17px;
  line-height: 1.65;
}

.su-dark .su-text,
.su-section--dark .su-text {
  color: var(--su-muted);
}

.su-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1.5px solid transparent;
  border-radius: var(--su-radius-pill);
  padding: 13px 28px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.su-button__external-icon {
  display: block;
  flex-shrink: 0;
}

.su-button:hover,
.su-card-link:hover {
  transform: translateY(-1px);
}

.su-button--dark {
  background: var(--su-ink);
  color: #ffffff !important;
}

.su-button--light {
  background: #ffffff;
  color: var(--su-ink) !important;
}

.su-button--outline {
  background: transparent;
  border-color: var(--su-border-strong);
  color: var(--su-text) !important;
}

.su-dark .su-button--outline,
.su-section--dark .su-button--outline {
  border-color: rgba(255, 255, 255, 0.4);
  color: #ffffff !important;
}

.su-card {
  background: #ffffff;
  border-radius: var(--su-radius-xl);
}

.su-card--soft {
  background: var(--su-bg-soft);
}

.su-grid-2,
.su-grid-3,
.su-grid-4 {
  display: grid;
  gap: 24px;
}

.su-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.su-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.su-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.su-icon svg,
.su-feature-icon svg,
.su-benefit-card__icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

@media (max-width: 1000px) {
  .su-grid-3,
  .su-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .su-section {
    padding: 60px 20px;
  }

  .su-grid-2,
  .su-grid-3,
  .su-grid-4 {
    grid-template-columns: 1fr;
  }

  .su-heading {
    font-size: 27px;
  }

  .su-text {
    font-size: 15.5px;
  }

  .su-section-head {
    margin-bottom: 38px;
  }
}

@media (max-width: 480px) {
  .su-button {
    width: 100%;
  }
}
