
html body .hero .hero-inner--single {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  padding-block: clamp(56px, 7.5vw, 100px) !important;
}
html body .hero .hero-inner--single > div {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .hero .hero-inner--single .crumb {
  display: block !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
html body .hero .hero-inner--single .crumb ol {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body .hero .hero-inner--single .crumb li {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  list-style: none !important;
}
html body .hero .hero-inner--single .crumb a,
html body .hero .hero-inner--single .crumb a:link,
html body .hero .hero-inner--single .crumb a:visited {
  color: rgba(255, 255, 255, 0.84) !important;
  text-decoration: none !important;
}
html body .hero .hero-inner--single .crumb a:hover {
  color: var(--text-white) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
html body .hero .hero-inner--single .crumb .sep {
  color: rgba(255, 255, 255, 0.45) !important;
}
html body .hero .hero-inner--single .crumb li[aria-current="page"] {
  color: var(--text-white) !important;
  font-weight: 600 !important;
}

html body .hero .hero-inner--single .h1 {
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  text-wrap: balance;
}

html body .hero .hero-inner--single .hero-sub {
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  font-size: clamp(20px, 1.05rem + 0.9vw, 28px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.018em !important;
}

html body .hero .hero-inner--single .lead {
  width: 100% !important;
  max-width: 56ch !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-white) !important;
}

html body .hero .hero-inner--single .eyebrow--onblue {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 34px 0 0 !important;
  padding: 0 !important;
  color: var(--text-white) !important;
}
html body .hero .hero-inner--single .eyebrow--onblue .regmark {
  box-shadow: inset 0 0 0 1px var(--text-white) !important;
}
html body .hero .hero-inner--single .eyebrow--onblue .regmark::before,
html body .hero .hero-inner--single .eyebrow--onblue .regmark::after {
  background-color: var(--text-white) !important;
}

html body .hero .hero-inner--single .hero-trust {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body .hero .hero-inner--single .hero-trust > li {
  margin: 0 !important;
  list-style: none !important;
}
html body .hero .hero-inner--single .hero-trust .chip--onblue {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  background-color: transparent !important;
  color: var(--text-white) !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 999px !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

html body #anfrage .form-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr) !important;
  align-items: start !important;
  gap: clamp(30px, 4vw, 58px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #anfrage .form-grid > * {
  min-width: 0 !important;
}
html body #anfrage .form-grid > .rv {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #anfrage .form-grid > aside {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #anfrage .sidecard {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(22px, 2.4vw, 28px) !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

html body #anfrage .sidecard .srow {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 17px 0 !important;
  border-top: 1px solid var(--border) !important;
}
html body #anfrage .sidecard .srow:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}
html body #anfrage .sidecard .srow:last-child {
  padding-bottom: 0 !important;
}
html body #anfrage .sidecard .srow > div {
  min-width: 0 !important;
}

html body #anfrage .sidecard .sico {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--primary-light) !important;
  color: var(--primary) !important;
  border-radius: 11px !important;
}
html body #anfrage .sidecard .sico svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body #anfrage .sidecard .sk {
  width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

html body #anfrage .sidecard .sv {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
html body #anfrage .sidecard .sv a,
html body #anfrage .sidecard .sv a:link,
html body #anfrage .sidecard .sv a:visited {
  color: var(--primary-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
html body #anfrage .sidecard .sv a:hover {
  color: var(--primary) !important;
}

html body #anfrage .sidecard .sv2 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

html body #anfrage .side-photo {
  display: block !important;
  width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}
html body #anfrage .side-photo img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
html body #anfrage .side-photo figcaption {
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 2px 0 !important;
  color: var(--text-muted) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

html body .contact-info-section .info-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(18px, 2.4vw, 28px) !important;
  width: 100% !important;
  margin: 44px 0 0 !important;
  padding: 0 !important;
}

html body .contact-info-section .info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: clamp(24px, 2.6vw, 32px) !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease !important;
}
html body .contact-info-section .info:hover {
  transform: translateY(-4px) !important;
  border-color: #d3dbe3 !important;
  box-shadow: 0 16px 38px rgba(15, 35, 55, 0.10) !important;
}

html body .contact-info-section .info .usp-ico {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 54px !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  background-color: var(--primary-light) !important;
  color: var(--primary) !important;
  border-radius: 14px !important;
}
html body .contact-info-section .info .usp-ico svg {
  display: block !important;
  width: 27px !important;
  height: 27px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
html body .contact-info-section .info .usp-ico img {
  display: block !important;
  width: 27px !important;
  height: 27px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

html body .contact-info-section .info .h3 {
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: var(--text) !important;
}

html body .contact-info-section .info .sv {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
html body .contact-info-section .info .sv + .sv {
  margin-top: 8px !important;
}
html body .contact-info-section .info .sv a,
html body .contact-info-section .info .sv a:link,
html body .contact-info-section .info .sv a:visited {
  color: var(--primary-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
html body .contact-info-section .info .sv a:hover {
  color: var(--primary) !important;
}

html body .contact-info-section .info .sv2 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
html body .contact-info-section .info .sv + .sv2 {
  margin-top: 4px !important;
}

html body .route-section .route-grid,
html body .route-section .brxe-div.route-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.84fr) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: clamp(30px, 4vw, 56px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .route-section .route-grid > *,
html body .route-section .brxe-div.route-grid > * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
html body .route-section .route-grid > *:nth-child(1),
html body .route-section .brxe-div.route-grid > *:nth-child(1) {
  grid-column: 1 !important;
}
html body .route-section .route-grid > *:nth-child(2),
html body .route-section .brxe-div.route-grid > *:nth-child(2) {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

html body .route-section .route-grid > div:first-child > .lead,
html body .route-section .route-grid > .brxe-div:first-child > .lead {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
}
html body .route-section .route-grid > div:first-child > .eyebrow,
html body .route-section .route-grid > .brxe-div:first-child > .eyebrow {
  margin: 32px 0 12px !important;
}
html body .route-section .route-grid > div:first-child > .eyebrow + p,
html body .route-section .route-grid > .brxe-div:first-child > .eyebrow + p {
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

html body .route-section .route {
  width: 100% !important;
  margin: 0 !important;
  padding: 19px 22px 21px !important;
  background-color: var(--background) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
}
html body .route-section .route .rhead {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}
html body .route-section .route .rline {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  background-color: var(--primary-dark) !important;
  color: var(--text-white) !important;
  border-radius: 7px !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
}
html body .route-section .route .rline--bus {
  background-color: var(--text) !important;
}
html body .route-section .route .rtxt {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body .route-section .route > p:not(.rhead),
html body .route-section .route > .brxe-text-basic:not(.rhead) {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

html body .route-section .ror {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 16px 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
html body .route-section .ror::before,
html body .route-section .ror::after {
  content: "" !important;
  display: block !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background-color: var(--border) !important;
}

html body .route-section .mapbox {
  position: relative !important;
  display: grid !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(340px, 42vw, 520px) !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-color: var(--background-soft) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
}

html body .route-section .map-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .route-section .map-pin {
  position: absolute !important;
  top: 26% !important;
  left: 50% !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -100%) !important;
}
html body .route-section .map-pin svg {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
}

html body .route-section .map-veil {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: clamp(18px, 2.6vw, 30px) !important;
  background-color: rgba(224, 231, 238, 0.55) !important;
}
html body .route-section .map-veil[hidden] {
  display: none !important;
}
html body .route-section .map-consent {
  display: grid !important;
  justify-items: center !important;
  gap: 13px !important;
  width: 100% !important;
  max-width: 400px !important;
  margin: 0 !important;
  padding: clamp(22px, 2.8vw, 30px) !important;
  background-color: var(--background) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 38px rgba(15, 35, 55, 0.17) !important;
  text-align: center !important;
}
html body .route-section .map-consent .usp-ico {
  margin: 0 0 2px !important;
}
html body .route-section .map-consent .h3 {
  margin: 0 !important;
  text-align: center !important;
}
html body .route-section .map-consent > p:not(.h3) {
  margin: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
}
html body .route-section .map-consent .map-fine {
  font-size: 13px !important;
}
html body .route-section .map-consent .map-fine a {
  color: var(--primary-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

html body .route-section .map-card {
  position: absolute !important;
  right: 16px !important;
  bottom: 16px !important;
  left: 16px !important;
  z-index: 2 !important;
  display: grid !important;
  justify-items: start !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 34px rgba(15, 35, 55, 0.16) !important;
}
html body .route-section .map-card[hidden] {
  display: none !important;
}
html body .route-section .map-card > strong {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
html body .route-section .map-card > span {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}
html body .route-section .map-card .map-proto {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  margin-top: 2px !important;
  font-size: 13px !important;
}
html body .route-section .map-card .btn {
  margin-top: 8px !important;
}

html body .route-section > .wrap > .perf {
  width: 100% !important;
  margin: clamp(40px, 5vw, 64px) 0 clamp(28px, 3.4vw, 40px) !important;
}

html body .route-section .closing {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary-deep) !important;
  font-size: clamp(18px, 1rem + 0.7vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.018em !important;
  text-align: center !important;
}

html body #anfrage .mup-contact-form .mup-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #anfrage .mup-contact-form .ff-el-input--content {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body #anfrage .mup-contact-form .ff-el-input--label {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #anfrage .mup-contact-form .ff-el-input--label label {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
html body #anfrage .mup-contact-form .ff-el-required {
  margin-left: 3px !important;
  color: var(--primary) !important;
}

html body #anfrage .mup-contact-form input.ff-el-form-control,
html body #anfrage .mup-contact-form select.ff-el-form-control,
html body #anfrage .mup-contact-form textarea.ff-el-form-control {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease !important;
}
html body #anfrage .mup-contact-form input.ff-el-form-control,
html body #anfrage .mup-contact-form select.ff-el-form-control {
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 15px !important;
}
html body #anfrage .mup-contact-form textarea.ff-el-form-control {
  min-height: 158px !important;
  padding: 14px 15px !important;
  resize: vertical !important;
}
html body #anfrage .mup-contact-form input.ff-el-form-control::placeholder,
html body #anfrage .mup-contact-form textarea.ff-el-form-control::placeholder {
  color: #68727f !important;
  opacity: 1 !important;
}
html body #anfrage .mup-contact-form input.ff-el-form-control:hover,
html body #anfrage .mup-contact-form select.ff-el-form-control:hover,
html body #anfrage .mup-contact-form textarea.ff-el-form-control:hover {
  border-color: #cbd5df !important;
}
html body #anfrage .mup-contact-form input.ff-el-form-control:focus,
html body #anfrage .mup-contact-form select.ff-el-form-control:focus,
html body #anfrage .mup-contact-form textarea.ff-el-form-control:focus {
  background-color: var(--background) !important;
  border-color: var(--primary) !important;
  box-shadow: none !important;
  outline: 3px solid rgba(39, 128, 197, 0.18) !important;
  outline-offset: 1px !important;
}

html body #anfrage .mup-contact-form select.ff-el-form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 44px !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%235a6472' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px 8px !important;
}

html body #anfrage .mup-contact-form .ff-el-help-message {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

html body #anfrage .mup-contact-form .ff-el-is-error input.ff-el-form-control,
html body #anfrage .mup-contact-form .ff-el-is-error select.ff-el-form-control,
html body #anfrage .mup-contact-form .ff-el-is-error textarea.ff-el-form-control {
  background-color: #fdf3f2 !important;
  border-color: #b3261e !important;
}
html body #anfrage .mup-contact-form .text-danger,
html body #anfrage .mup-contact-form .error.text-danger,
html body #anfrage .mup-contact-form .ff-el-is-error .text-danger {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #b3261e !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body #anfrage .mup-contact-form .ff-errors-in-stack {
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 13px 16px !important;
  background-color: #fdf3f2 !important;
  color: #b3261e !important;
  border: 1px solid #f0cfcb !important;
  border-left: 3px solid #b3261e !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

html body #anfrage .mup-contact-form .mup-upload-field .ff_file_upload_holder {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 13px !important;
  width: 100% !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 18px !important;
  overflow: hidden !important;
  background-color: var(--background-soft) !important;
  border: 2px dashed #848d9a !important;
  border-radius: 10px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: border-color 180ms ease, background-color 180ms ease !important;
}
html body #anfrage .mup-contact-form .mup-upload-field .ff_file_upload_holder::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 26px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%232780c5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16.2V4'/%3E%3Cpath d='M8 8l4-4 4 4'/%3E%3Cpath d='M4 15v3.2A2.2 2.2 0 0 0 6.2 20.4h11.6A2.2 2.2 0 0 0 20 18.2V15'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}
html body #anfrage .mup-contact-form .mup-upload-field .ff_file_upload_holder::after {
  content: "oder hierher ziehen" !important;
  display: inline !important;
  color: var(--text-muted) !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
html body #anfrage .mup-contact-form .mup-upload-field .ff_file_upload_holder:hover,
html body #anfrage .mup-contact-form .mup-upload-field .ff_file_upload_holder:focus-within {
  background-color: var(--primary-light) !important;
  border-color: var(--primary) !important;
}
html body #anfrage .mup-contact-form .mup-upload-field .ff_upload_btn,
html body #anfrage .mup-contact-form .mup-upload-field .ff-btn.ff_upload_btn {
  display: inline !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--text) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  pointer-events: none !important;
}
html body #anfrage .mup-contact-form .mup-upload-field input[type="file"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body #anfrage .mup-contact-form .ff-uploaded-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #anfrage .mup-contact-form .ff-uploaded-list:empty {
  display: none !important;
}
html body #anfrage .mup-contact-form .ff-uploaded-list > div,
html body #anfrage .mup-contact-form .ff-upload-preview {
  width: 100% !important;
  margin: 0 !important;
  padding: 9px 10px 9px 13px !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 14.5px !important;
  line-height: 1.45 !important;
}

html body #anfrage .mup-contact-form .mup-gdpr-field {
  margin-top: 0 !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field .ff-el-form-check {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  background-color: var(--background) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 12px 8px !important;
  border: 1.5px solid #848d9a !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 150ms ease, border-color 150ms ease !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field input[type="checkbox"]:hover {
  border-color: var(--primary) !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field input[type="checkbox"]:checked {
  background-color: var(--primary-dark) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1.4 5.1 5.2 8.6 12.6 1.5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  border-color: var(--primary-dark) !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field.ff-el-is-error input[type="checkbox"] {
  border-color: #b3261e !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field .ff-el-form-check-label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  cursor: pointer !important;
}
html body #anfrage .mup-contact-form .mup-gdpr-field .ff-el-form-check-label a {
  color: var(--primary-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

html body #anfrage .mup-contact-form .mup-form-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}
html body #anfrage .mup-contact-form .mup-form-actions .ff-el-input--content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px 22px !important;
}

html body #anfrage .mup-contact-form button.mup-submit,
html body #anfrage .mup-contact-form button.ff-btn-submit,
html body #anfrage .mup-contact-form .mup-submit.ff-btn-submit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 26px !important;
  overflow: hidden !important;
  background-color: var(--primary-dark) !important;
  color: var(--text-white) !important;
  border: 2px solid transparent !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  clip-path: polygon(0 0, 100% 0, 100% 0, 100% 0, 100% 0, 100% 100%, 0 100%) !important;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, clip-path 240ms cubic-bezier(.3, .8, .4, 1) !important;
}
html body #anfrage .mup-contact-form button.mup-submit::after,
html body #anfrage .mup-contact-form button.ff-btn-submit::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 0 !important;
  height: 0 !important;
  background: linear-gradient(225deg, transparent 0 50%, rgba(255, 255, 255, 0.62) 50%) !important;
  transition: width 240ms cubic-bezier(.3, .8, .4, 1), height 240ms cubic-bezier(.3, .8, .4, 1) !important;
}
html body #anfrage .mup-contact-form button.mup-submit:hover,
html body #anfrage .mup-contact-form button.ff-btn-submit:hover {
  background-color: var(--accent) !important;
  color: var(--text-black) !important;
  border-color: transparent !important;
  clip-path: polygon(
    0 0,
    calc(100% - 25px) 0,
    calc(100% - 19.9px) 2.1px,
    calc(100% - 2.1px) 19.9px,
    100% 25px,
    100% 100%,
    0 100%
  ) !important;
}
html body #anfrage .mup-contact-form button.mup-submit:hover::after,
html body #anfrage .mup-contact-form button.ff-btn-submit:hover::after {
  width: 22px !important;
  height: 22px !important;
}

html body #anfrage .mup-contact-form .mup-form-actions .ff-el-help-message {
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body #anfrage .mup-contact-form .ff-message-success {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(28px, 3.4vw, 46px) !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 44px rgba(15, 35, 55, 0.09) !important;
}
html body #anfrage .mup-contact-form .ff-message-success::before {
  content: "" !important;
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 0 22px !important;
  background-color: var(--accent) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.6l4.8 4.8L19.5 7.2' fill='none' stroke='%23000000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 28px 28px !important;
  border-radius: 15px !important;
}
html body #anfrage .mup-contact-form .ff-message-success h3 {
  margin: 0 !important;
  color: var(--text) !important;
  font-size: clamp(22px, 1.1rem + 0.8vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.022em !important;
}
html body #anfrage .mup-contact-form .ff-message-success p {
  margin: 12px 0 0 !important;
  color: var(--text-muted) !important;
  font-size: clamp(17px, 0.97rem + 0.35vw, 19px) !important;
  line-height: 1.6 !important;
}
/* =========================================================
   RESPONSIVE