.fsa-service-grid {
  --fsa-service-grid-surface: var(--fsa-element-surface, color-mix(in srgb, var(--fsa-theme-surface, #ffffff) 90%, transparent));
  --fsa-service-grid-surface-alt: var(--fsa-element-background, color-mix(in srgb, var(--fsa-theme-surface-alt, #f4f6fb) 84%, var(--fsa-theme-surface, #ffffff) 16%));
  --fsa-service-grid-border: color-mix(in srgb, var(--fsa-element-border, var(--fsa-theme-border, #d7dde8)) 72%, transparent);
  --fsa-service-grid-text: var(--fsa-element-text, var(--fsa-theme-text, #212431));
  --fsa-service-grid-headline: var(--fsa-element-headline, var(--fsa-theme-text, #212431));
  --fsa-service-grid-accent: var(--fsa-element-accent, var(--fsa-theme-accent, #26989a));
  color: var(--fsa-service-grid-text);
}

.fsa-service-grid .container {
  max-width: var(--fsa-service-grid-maxwidth, 1200px);
}

.fsa-service-grid__inner {
  display: grid;
  gap: 2rem;
  padding: 0 var(--fsa-service-grid-padding, 20px);
}

.fsa-service-grid__intro {
  max-width: 52rem;
}

.fsa-service-grid__headline {
  color: var(--fsa-service-grid-headline);
  margin: 0 0 0.75rem;
}

.fsa-service-grid__intro-text,
.fsa-service-grid__intro-text p {
  color: var(--fsa-service-grid-text);
}

.fsa-service-grid__cards {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(var(--fsa-service-grid-columns, 3), minmax(0, 1fr));
}

.fsa-service-grid__card {
  min-height: var(--fsa-service-grid-card-min-height, 220px);
  background: var(--fsa-service-grid-surface);
  border: 1px solid var(--fsa-service-grid-border);
  border-radius: max(16px, var(--fsa-element-border-radius, 0px));
  box-shadow: 0 18px 38px -30px rgba(15, 23, 42, 0.45);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.fsa-service-grid__card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--fsa-service-grid-accent) 42%, var(--fsa-service-grid-border));
  box-shadow: 0 24px 46px -34px rgba(15, 23, 42, 0.55);
}

.fsa-service-grid__icon {
  color: var(--fsa-service-grid-accent);
  font-size: 1.45rem;
  line-height: 1;
}

.fsa-service-grid__card-title {
  margin: 0;
  color: var(--fsa-service-grid-accent);
  font-size: 1.2rem;
  line-height: 1.3;
}

.fsa-service-grid__card-text,
.fsa-service-grid__card-text p,
.fsa-service-grid__card-text ul,
.fsa-service-grid__card-text li {
  color: var(--fsa-service-grid-text);
}

.fsa-service-grid__card-text p:last-child {
  margin-bottom: 0;
}

.fsa-service-grid__cta {
  display: flex;
  justify-content: center;
}

.fsa-service-grid__cta-card {
  width: min(100%, 68rem);
  background: var(--fsa-service-grid-surface-alt);
  border: 1px solid var(--fsa-service-grid-border);
  border-radius: max(22px, var(--fsa-element-border-radius, 0px));
  padding: clamp(1.4rem, 2vw, 2.4rem);
  text-align: center;
  box-shadow: 0 20px 48px -36px rgba(15, 23, 42, 0.5);
}

.fsa-service-grid__cta-headline {
  margin: 0 0 0.65rem;
  color: var(--fsa-service-grid-accent);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.fsa-service-grid__cta-text,
.fsa-service-grid__cta-text p {
  color: var(--fsa-service-grid-text);
}

.fsa-service-grid__cta-text p:last-child {
  margin-bottom: 0;
}

.fsa-service-grid__cta-actions {
  margin-top: 1.25rem;
}

.fsa-service-grid__cta-actions .btn {
  min-width: 13rem;
}

.fsa-service-grid--align-left .fsa-service-grid__intro,
.fsa-service-grid--align-left .fsa-service-grid__cta-card {
  text-align: left;
}

.fsa-service-grid--align-right .fsa-service-grid__intro,
.fsa-service-grid--align-right .fsa-service-grid__cta-card {
  text-align: right;
}

@media (max-width: 991.98px) {
  .fsa-service-grid__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .fsa-service-grid__inner {
    padding: 0;
  }

  .fsa-service-grid__cards {
    grid-template-columns: 1fr;
  }

  .fsa-service-grid__card,
  .fsa-service-grid__cta-card {
    border-radius: max(18px, var(--fsa-element-border-radius, 0px));
  }
}
