[data-section-mark] {
  position: relative;
  isolation: isolate;
}

[data-section-mark]::before {
  position: absolute;
  z-index: 0;
  top: -.18em;
  left: -.12em;
  content: attr(data-section-mark);
  color: rgba(var(--primary-rgb), .05);
  font-family: var(--font-display);
  font-size: 6.8rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

[data-section-mark] > * {
  position: relative;
  z-index: 1;
}

.care-cta-copy[data-section-mark]::before,
.voices-heading[data-section-mark]::before {
  color: rgba(255, 255, 255, .075);
}

.service-navigator-head[data-section-mark]::before {
  top: -.05em;
  left: .08em;
  color: rgba(var(--primary-rgb), .035);
  font-size: 4.5rem;
}

.section-heading h2,
.process-heading h2,
.region-heading h2,
.guide-heading h2,
.voices-heading h2,
.contact-panel h2,
.care-cta-copy h2 {
  letter-spacing: 0;
  text-wrap: balance;
}

.section-heading p,
.process-heading p,
.region-heading p,
.guide-heading p,
.contact-panel p,
.care-cta-copy p {
  text-wrap: pretty;
}

.btn[data-icon-button]::after,
.action-primary[data-icon-button]::after {
  display: none;
}

.btn .lucide,
.audience-tab .lucide,
.service-choice .lucide {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  stroke-width: 2;
}

.btn-lg .lucide {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
}

.audience-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.service-choice > span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.service-choice .lucide {
  width: 15px;
  height: 15px;
  flex-basis: 15px;
}

.service-detail-close .lucide,
.swiper-button-prev-custom .lucide,
.swiper-button-next-custom .lucide {
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.service-detail-contact button[type="submit"],
.callback-form-grid > button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.service-detail-contact button[type="submit"] .lucide,
.callback-form-grid > button[type="submit"] .lucide {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.is-magnetic {
  --magnetic-x: 0px;
  --magnetic-y: 0px;
  transform: translate3d(var(--magnetic-x), var(--magnetic-y), 0);
  will-change: transform;
}

.is-magnetic:is(:hover, :focus-visible) {
  transform: translate3d(var(--magnetic-x), calc(var(--magnetic-y) - 1px), 0);
}

.btn:focus-visible,
.service-choice:focus-visible,
.audience-tab:focus-visible,
.service-detail-close:focus-visible,
.swiper-button-prev-custom:focus-visible,
.swiper-button-next-custom:focus-visible {
  outline: 3px solid rgba(var(--action-rgb), .25);
  outline-offset: 3px;
}

.tooltip {
  --bs-tooltip-bg: var(--primary-dark);
  --bs-tooltip-color: #fff;
  --bs-tooltip-border-radius: 5px;
  --bs-tooltip-padding-x: 10px;
  --bs-tooltip-padding-y: 7px;
  font-family: var(--font-ui);
  font-size: .7rem;
  font-weight: 750;
}

@media (max-width: 991.98px) {
  [data-section-mark]::before {
    font-size: 4.8rem;
  }
}

@media (min-width: 1200px) {
  [data-section-mark]::before {
    top: -.28em;
    left: -.14em;
    font-size: 8.8rem;
  }

  [data-section-mark="SERVICE"]::before,
  [data-section-mark="STIMMEN"]::before,
  [data-section-mark="KARRIERE"]::before,
  [data-section-mark="KONTAKT"]::before {
    font-size: 7.4rem;
  }

  .service-navigator-head[data-section-mark]::before {
    top: -.12em;
    left: .04em;
    font-size: 6.2rem;
  }
}

@media (min-width: 1700px) {
  [data-section-mark]::before {
    font-size: 9.6rem;
  }

  [data-section-mark="SERVICE"]::before,
  [data-section-mark="STIMMEN"]::before,
  [data-section-mark="KARRIERE"]::before,
  [data-section-mark="KONTAKT"]::before {
    font-size: 8.2rem;
  }
}

@media (max-width: 575.98px) {
  [data-section-mark]::before {
    top: -.1em;
    left: -.04em;
    font-size: 3.6rem;
  }
}

@media (hover: none), (prefers-reduced-motion: reduce) {
  .is-magnetic,
  .is-magnetic:is(:hover, :focus-visible) {
    transform: none;
    will-change: auto;
  }
}
