/* Rank1 Media GmbH – Mexiko-Beratungsfunnel */
.r1mf-modal,
.r1mf-embed {
	--r1mf-orange: #e87924;
	--r1mf-orange-dark: #c95d0a;
	--r1mf-navy: #0b1f52;
	--r1mf-ink: #1b2942;
	--r1mf-muted: #657087;
	--r1mf-line: #e3e8f0;
	--r1mf-soft: #f5f7fb;
	font-family: "Work Sans", Arial, sans-serif !important;
	line-height: 1.45 !important;
	color: var(--r1mf-ink) !important;
}

.r1mf-modal *,
.r1mf-modal *::before,
.r1mf-modal *::after,
.r1mf-embed *,
.r1mf-embed *::before,
.r1mf-embed *::after {
	box-sizing: border-box !important;
}

.r1mf-modal[hidden] {
	display: none !important;
}

.r1mf-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483600 !important;
	display: grid !important;
	place-items: center !important;
	padding: 28px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity .28s ease !important;
}

.r1mf-modal.is-open {
	opacity: 1 !important;
	pointer-events: auto !important;
}

.r1mf-modal__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(4, 15, 42, .78) !important;
	backdrop-filter: blur(10px) !important;
}

.r1mf-modal__shell {
	position: relative !important;
	z-index: 1 !important;
	width: min(1060px, 100%) !important;
	max-height: min(92vh, 820px) !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(255, 255, 255, .34) !important;
	border-radius: 28px !important;
	background: #fff !important;
	box-shadow: 0 40px 110px rgba(1, 9, 28, .42), 0 10px 34px rgba(1, 9, 28, .2) !important;
	transform: translateY(22px) scale(.975) !important;
	transition: transform .42s cubic-bezier(.22, 1, .36, 1) !important;
}

.r1mf-modal.is-open .r1mf-modal__shell {
	transform: translateY(0) scale(1) !important;
}

.r1mf-modal__close {
	appearance: none !important;
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	z-index: 20 !important;
	display: grid !important;
	place-items: center !important;
	width: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .42) !important;
	border-radius: 50% !important;
	background: rgba(7, 22, 60, .72) !important;
	box-shadow: 0 7px 18px rgba(0, 0, 0, .14) !important;
	color: #fff !important;
	cursor: pointer !important;
	backdrop-filter: blur(8px) !important;
}

.r1mf-modal__close:hover,
.r1mf-modal__close:focus-visible {
	background: var(--r1mf-orange) !important;
}

.r1mf-modal__close svg {
	width: 19px !important;
	height: 19px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
}

html.r1mf-open,
html.r1mf-open body {
	overflow: hidden !important;
}

.r1mf-funnel,
.r1mf-app {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.r1mf-app {
	max-height: min(92vh, 820px) !important;
	overflow: auto !important;
	overscroll-behavior: contain !important;
}

.r1mf-intro {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr) !important;
	align-items: stretch !important;
	min-height: 650px !important;
	overflow: hidden !important;
	background:
		linear-gradient(90deg, rgba(6, 22, 59, .98) 0%, rgba(8, 31, 76, .94) 48%, rgba(8, 31, 76, .26) 72%, rgba(8, 31, 76, .04) 100%),
		var(--r1mf-hero) center center / cover no-repeat,
		linear-gradient(135deg, #07163b, #113b7c) !important;
}

.r1mf-intro::before {
	content: "" !important;
	position: absolute !important;
	left: -120px !important;
	bottom: -210px !important;
	width: 480px !important;
	height: 480px !important;
	border: 1px solid rgba(255, 255, 255, .09) !important;
	border-radius: 50% !important;
	box-shadow: 0 0 0 52px rgba(255, 255, 255, .025), 0 0 0 104px rgba(255, 255, 255, .018) !important;
}

.r1mf-intro__copy {
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	padding: 72px 30px 62px 64px !important;
	color: #fff !important;
}

.r1mf-eyebrow {
	display: inline-flex !important;
	gap: 8px !important;
	align-items: center !important;
	margin: 0 0 14px !important;
	font-size: 11px !important;
	font-weight: 780 !important;
	line-height: 1.2 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: var(--r1mf-orange-dark) !important;
}

.r1mf-eyebrow i {
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: var(--r1mf-orange) !important;
	box-shadow: 0 0 0 5px rgba(232, 121, 36, .13) !important;
}

.r1mf-intro .r1mf-eyebrow,
.r1mf-success .r1mf-eyebrow {
	color: #ffd1ad !important;
}

.r1mf-intro h2,
.r1mf-success h2 {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-family: "Gantari", "Work Sans", Arial, sans-serif !important;
	font-size: clamp(38px, 4.1vw, 58px) !important;
	font-weight: 780 !important;
	line-height: 1.02 !important;
	letter-spacing: -1.7px !important;
	color: #fff !important;
}

.r1mf-intro p {
	max-width: 570px !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	font-size: 17px !important;
	font-weight: 430 !important;
	line-height: 1.62 !important;
	color: rgba(255, 255, 255, .84) !important;
}

.r1mf-intro p strong {
	color: #fff !important;
}

.r1mf-primary,
.r1mf-next,
.r1mf-secondary {
	appearance: none !important;
	display: inline-flex !important;
	gap: 11px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 13px 21px !important;
	border: 0 !important;
	border-radius: 13px !important;
	background: linear-gradient(135deg, var(--r1mf-orange), var(--r1mf-orange-dark)) !important;
	box-shadow: 0 12px 25px rgba(201, 93, 10, .28) !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 760 !important;
	line-height: 1.2 !important;
	color: #fff !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}

.r1mf-primary:hover,
.r1mf-next:hover,
.r1mf-secondary:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 16px 31px rgba(201, 93, 10, .34) !important;
	color: #fff !important;
}

.r1mf-primary svg,
.r1mf-next svg,
.r1mf-secondary svg {
	width: 20px !important;
	height: 20px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.9 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-primary:hover svg,
.r1mf-next:hover svg {
	transform: translateX(2px) !important;
}

.r1mf-trust {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px 17px !important;
	margin-top: 28px !important;
}

.r1mf-trust span {
	display: inline-flex !important;
	gap: 6px !important;
	align-items: center !important;
	font-size: 11px !important;
	font-weight: 610 !important;
	color: rgba(255, 255, 255, .79) !important;
}

.r1mf-trust svg {
	width: 15px !important;
	height: 15px !important;
	fill: none !important;
	stroke: #ffb67f !important;
	stroke-width: 2.2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-intro__advisor {
	position: relative !important;
	z-index: 2 !important;
	align-self: end !important;
	justify-self: end !important;
	min-width: 225px !important;
	margin: 0 32px 30px 0 !important;
	padding: 15px 18px 15px 45px !important;
	border: 1px solid rgba(255, 255, 255, .32) !important;
	border-radius: 15px !important;
	background: rgba(5, 21, 56, .68) !important;
	box-shadow: 0 14px 35px rgba(0, 0, 0, .22) !important;
	color: #fff !important;
	backdrop-filter: blur(10px) !important;
}

.r1mf-intro__advisor::before {
	content: "" !important;
	position: absolute !important;
	left: 20px !important;
	top: 50% !important;
	width: 10px !important;
	height: 10px !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	background: #2ac775 !important;
	transform: translateY(-50%) !important;
}

.r1mf-intro__advisor span,
.r1mf-intro__advisor strong {
	display: block !important;
}

.r1mf-intro__advisor span {
	font-size: 10px !important;
	font-weight: 650 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	opacity: .78 !important;
}

.r1mf-intro__advisor strong {
	font-family: "Gantari", "Work Sans", Arial, sans-serif !important;
	font-size: 17px !important;
	color: #fff !important;
}

.r1mf-panel {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 650px !important;
	background: #fff !important;
}

.r1mf-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 8 !important;
	display: grid !important;
	grid-template-columns: auto minmax(220px, 360px) !important;
	gap: 32px !important;
	align-items: center !important;
	min-height: 82px !important;
	padding: 15px 74px 15px 32px !important;
	border-bottom: 1px solid var(--r1mf-line) !important;
	background: rgba(255, 255, 255, .96) !important;
	backdrop-filter: blur(10px) !important;
}

.r1mf-brand {
	display: flex !important;
	gap: 11px !important;
	align-items: center !important;
}

.r1mf-brand > b {
	display: grid !important;
	place-items: center !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 13px !important;
	background: linear-gradient(145deg, var(--r1mf-orange), var(--r1mf-orange-dark)) !important;
	box-shadow: 0 7px 17px rgba(201, 93, 10, .22) !important;
	font-size: 14px !important;
	font-weight: 820 !important;
	color: #fff !important;
}

.r1mf-brand span,
.r1mf-brand strong,
.r1mf-brand small {
	display: block !important;
}

.r1mf-brand strong {
	font-family: "Gantari", "Work Sans", Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.1 !important;
	color: var(--r1mf-navy) !important;
}

.r1mf-brand small {
	margin-top: 2px !important;
	font-size: 10px !important;
	font-weight: 560 !important;
	color: var(--r1mf-muted) !important;
}

.r1mf-progress > div {
	display: flex !important;
	justify-content: space-between !important;
	margin-bottom: 7px !important;
	font-size: 10.5px !important;
	font-weight: 680 !important;
	color: var(--r1mf-muted) !important;
}

.r1mf-progress > div strong {
	color: var(--r1mf-orange-dark) !important;
}

.r1mf-progress > i {
	display: block !important;
	height: 6px !important;
	overflow: hidden !important;
	border-radius: 999px !important;
	background: #edf0f5 !important;
}

.r1mf-progress > i > b {
	display: block !important;
	height: 100% !important;
	border-radius: inherit !important;
	background: linear-gradient(90deg, var(--r1mf-orange), #f2a465) !important;
	transition: width .5s cubic-bezier(.22, 1, .36, 1) !important;
}

.r1mf-error {
	display: none !important;
	margin: 16px 30px -2px !important;
	padding: 11px 14px !important;
	border: 1px solid #f2b9b9 !important;
	border-radius: 10px !important;
	background: #fff4f4 !important;
	font-size: 12px !important;
	font-weight: 620 !important;
	color: #a23030 !important;
}

.r1mf-error.is-visible {
	display: block !important;
}

.r1mf-body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 30px 34px 22px !important;
	background:
		radial-gradient(circle at 100% 0, rgba(232, 121, 36, .055), transparent 32%),
		#fff !important;
}

/* Der letzte Schritt bleibt kompakt und vollständig bedienbar. */
.r1mf-body--contact {
	padding-top: 20px !important;
	padding-bottom: 12px !important;
}

.r1mf-body--contact .r1mf-question {
	margin-bottom: 12px !important;
}

.r1mf-body--contact .r1mf-question .r1mf-eyebrow {
	margin-bottom: 5px !important;
}

.r1mf-body--contact .r1mf-question h3 {
	font-size: clamp(23px, 2.4vw, 31px) !important;
}

.r1mf-body--contact .r1mf-question p {
	font-size: 12.5px !important;
}

.r1mf-question {
	margin: 0 0 23px !important;
	padding: 0 !important;
	text-align: center !important;
}

.r1mf-question .r1mf-eyebrow {
	margin-bottom: 8px !important;
}

.r1mf-question h3 {
	margin: 0 0 7px !important;
	padding: 0 !important;
	font-family: "Gantari", "Work Sans", Arial, sans-serif !important;
	font-size: clamp(25px, 3vw, 35px) !important;
	font-weight: 780 !important;
	line-height: 1.08 !important;
	letter-spacing: -.7px !important;
	color: var(--r1mf-navy) !important;
}

.r1mf-question p {
	max-width: 700px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	font-size: 13.5px !important;
	line-height: 1.5 !important;
	color: var(--r1mf-muted) !important;
}

.r1mf-options {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 900px !important;
	margin: 0 auto !important;
}

.r1mf-option {
	appearance: none !important;
	position: relative !important;
	display: grid !important;
	grid-template-columns: 57px minmax(0, 1fr) 27px !important;
	gap: 13px !important;
	align-items: center !important;
	min-height: 86px !important;
	margin: 0 !important;
	padding: 12px 14px 12px 12px !important;
	border: 1.5px solid var(--r1mf-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 5px 16px rgba(11, 31, 82, .045) !important;
	color: var(--r1mf-ink) !important;
	text-align: left !important;
	cursor: pointer !important;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.r1mf-option:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(232, 121, 36, .48) !important;
	box-shadow: 0 11px 24px rgba(11, 31, 82, .09) !important;
}

.r1mf-option.is-selected {
	border-color: var(--r1mf-orange) !important;
	background: #fff9f4 !important;
	box-shadow: 0 0 0 3px rgba(232, 121, 36, .1), 0 9px 22px rgba(11, 31, 82, .07) !important;
}

.r1mf-option__icon {
	display: grid !important;
	place-items: center !important;
	width: 57px !important;
	height: 57px !important;
	border-radius: 15px !important;
	background: linear-gradient(145deg, #fff3e8, #ffe6d1) !important;
	color: var(--r1mf-orange-dark) !important;
}

.r1mf-option:nth-child(3n + 2) .r1mf-option__icon {
	background: linear-gradient(145deg, #eef3ff, #e3eaff) !important;
	color: #3259a8 !important;
}

.r1mf-option:nth-child(3n) .r1mf-option__icon {
	background: linear-gradient(145deg, #eaf9f1, #dff3e9) !important;
	color: #238359 !important;
}

.r1mf-option__icon svg {
	width: 29px !important;
	height: 29px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.65 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-option__copy,
.r1mf-option__copy strong,
.r1mf-option__copy small {
	display: block !important;
}

.r1mf-option__copy strong {
	margin-bottom: 3px !important;
	font-size: 14px !important;
	font-weight: 760 !important;
	line-height: 1.22 !important;
	color: var(--r1mf-navy) !important;
}

.r1mf-option__copy small {
	font-size: 11.5px !important;
	font-weight: 450 !important;
	line-height: 1.38 !important;
	color: var(--r1mf-muted) !important;
}

.r1mf-option__check {
	display: grid !important;
	place-items: center !important;
	width: 24px !important;
	height: 24px !important;
	border: 1.5px solid #dbe1ea !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: transparent !important;
}

.r1mf-option__check svg {
	width: 14px !important;
	height: 14px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.4 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-option.is-selected .r1mf-option__check {
	border-color: var(--r1mf-orange) !important;
	background: var(--r1mf-orange) !important;
	color: #fff !important;
}

.r1mf-options.is-compact .r1mf-option {
	min-height: 78px !important;
}

.r1mf-fields {
	display: grid !important;
	gap: 15px !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 auto 19px !important;
}

.r1mf-fields--two {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.r1mf-fields label,
.r1mf-full-field {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.r1mf-fields label > span,
.r1mf-full-field > span {
	display: block !important;
	margin: 0 0 7px !important;
	font-size: 11.5px !important;
	font-weight: 690 !important;
	color: #35425a !important;
}

.r1mf-fields em,
.r1mf-full-field em {
	font-style: normal !important;
	font-weight: 480 !important;
	color: #8b94a5 !important;
}

.r1mf-fields input,
.r1mf-full-field textarea {
	appearance: none !important;
	width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 11px 13px !important;
	border: 1.5px solid #d9e0ea !important;
	border-radius: 11px !important;
	background: #fbfcfe !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 470 !important;
	line-height: 1.4 !important;
	color: var(--r1mf-ink) !important;
}

.r1mf-full-field {
	width: 100% !important;
	max-width: 820px !important;
	margin: 18px auto 0 !important;
}

.r1mf-full-field textarea {
	min-height: 96px !important;
	resize: vertical !important;
}

.r1mf-fields input:focus,
.r1mf-full-field textarea:focus {
	border-color: var(--r1mf-orange) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(232, 121, 36, .12) !important;
	outline: none !important;
}

.r1mf-inline-fields {
	display: grid !important;
	grid-template-columns: 100px minmax(0, 1fr) !important;
	gap: 8px !important;
}

.r1mf-subquestion,
.r1mf-contact-choice {
	width: 100% !important;
	max-width: 820px !important;
	margin: 3px auto 0 !important;
}

.r1mf-subquestion h4,
.r1mf-contact-choice h4 {
	display: block !important;
	position: relative !important;
	z-index: 1 !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 720 !important;
	line-height: 1.4 !important;
	color: var(--r1mf-navy) !important;
}

.r1mf-radios {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

.r1mf-radios button {
	appearance: none !important;
	display: flex !important;
	gap: 9px !important;
	align-items: center !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 8px 11px !important;
	border: 1px solid var(--r1mf-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-family: inherit !important;
	font-size: 11.5px !important;
	font-weight: 570 !important;
	color: #46516a !important;
	text-align: left !important;
	cursor: pointer !important;
}

.r1mf-radios button i {
	display: grid !important;
	place-items: center !important;
	width: 19px !important;
	height: 19px !important;
	border: 1.5px solid #d8dee8 !important;
	border-radius: 50% !important;
	color: transparent !important;
}

.r1mf-radios button i svg {
	width: 12px !important;
	height: 12px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.4 !important;
}

.r1mf-radios button.is-selected {
	border-color: var(--r1mf-orange) !important;
	background: #fff8f2 !important;
	color: var(--r1mf-navy) !important;
}

.r1mf-radios button.is-selected i {
	border-color: var(--r1mf-orange) !important;
	background: var(--r1mf-orange) !important;
	color: #fff !important;
}

.r1mf-draft-notice {
	display: flex !important;
	gap: 10px !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: -5px auto 15px !important;
	padding: 10px 12px !important;
	border: 1px solid #cfe3da !important;
	border-radius: 10px !important;
	background: #f2faf6 !important;
	font-size: 10.5px !important;
	line-height: 1.45 !important;
	color: #486257 !important;
}

.r1mf-draft-notice > svg {
	flex: 0 0 18px !important;
	width: 18px !important;
	height: 18px !important;
	fill: none !important;
	stroke: #238359 !important;
	stroke-width: 1.8 !important;
}

.r1mf-draft-notice a,
.r1mf-consent a {
	font-weight: 680 !important;
	color: var(--r1mf-orange-dark) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

.r1mf-contact-choice > div {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

.r1mf-contact-choice button {
	appearance: none !important;
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 8px !important;
	border: 1.5px solid var(--r1mf-line) !important;
	border-radius: 12px !important;
	background: #fff !important;
	font-family: inherit !important;
	font-size: 10.5px !important;
	font-weight: 670 !important;
	color: #4b5870 !important;
	cursor: pointer !important;
}

.r1mf-contact-choice button svg {
	width: 19px !important;
	height: 19px !important;
	margin: 0 !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.75 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-contact-choice button.is-selected {
	border-color: var(--r1mf-orange) !important;
	background: #fff6ee !important;
	box-shadow: 0 0 0 3px rgba(232, 121, 36, .09) !important;
	color: var(--r1mf-orange-dark) !important;
}

.r1mf-consent {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) !important;
	gap: 10px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 11px auto 0 !important;
	font-size: 10.5px !important;
	line-height: 1.45 !important;
	color: #646f82 !important;
	cursor: pointer !important;
}

.r1mf-consent input {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.r1mf-consent > i {
	display: grid !important;
	place-items: center !important;
	width: 21px !important;
	height: 21px !important;
	border: 1.5px solid #cfd6e1 !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: transparent !important;
}

.r1mf-consent > i svg {
	width: 14px !important;
	height: 14px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.4 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-consent input:checked + i {
	border-color: var(--r1mf-orange) !important;
	background: var(--r1mf-orange) !important;
	color: #fff !important;
}

.r1mf-consent--draft,
.r1mcb-consent--draft {
	max-width: 820px !important;
	padding: 12px !important;
	border: 1px solid #d7e3dc !important;
	border-radius: 11px !important;
	background: #f7faf8 !important;
	color: #4f6258 !important;
}

.r1mf-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.r1mf-nav {
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: 900px !important;
	margin: auto auto 0 !important;
	padding-top: 23px !important;
}

.r1mf-nav__spacer {
	width: 1px !important;
	height: 1px !important;
}

/* Im Pop-up bleibt die Hauptaktion auch bei kleinen Desktop-Höhen sichtbar. */
.r1mf-modal .r1mf-body--contact .r1mf-nav {
	position: sticky !important;
	bottom: -12px !important;
	z-index: 7 !important;
	width: calc(100% + 68px) !important;
	max-width: none !important;
	margin: 13px -34px -12px !important;
	padding: 11px 34px 12px !important;
	border-top: 1px solid var(--r1mf-line) !important;
	background: rgba(255, 255, 255, .97) !important;
	box-shadow: 0 -10px 24px rgba(11, 31, 82, .045) !important;
	backdrop-filter: blur(10px) !important;
}

.r1mf-body--contact .r1mf-fields {
	gap: 10px 14px !important;
	margin-bottom: 11px !important;
}

.r1mf-body--contact .r1mf-fields label > span {
	margin-bottom: 5px !important;
}

.r1mf-body--contact .r1mf-fields input {
	min-height: 44px !important;
	padding-top: 9px !important;
	padding-bottom: 9px !important;
}

.r1mf-body--contact .r1mf-draft-notice {
	margin-bottom: 10px !important;
	padding: 8px 10px !important;
}

.r1mf-body--contact .r1mf-contact-choice {
	margin-top: 0 !important;
}

.r1mf-body--contact .r1mf-consent {
	margin-top: 8px !important;
	line-height: 1.35 !important;
}

.r1mf-body--contact .r1mf-consent--draft {
	padding: 9px 10px !important;
}

.r1mf-back {
	appearance: none !important;
	display: inline-flex !important;
	gap: 8px !important;
	align-items: center !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 0 !important;
	background: transparent !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 670 !important;
	color: #69758a !important;
	cursor: pointer !important;
}

.r1mf-back svg {
	width: 18px !important;
	height: 18px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.9 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-next:disabled {
	opacity: .65 !important;
	cursor: wait !important;
}

.r1mf-next.is-loading svg {
	animation: r1mf-spin 1s linear infinite !important;
}

@keyframes r1mf-spin {
	to { transform: rotate(360deg); }
}

.r1mf-security {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 11px 22px !important;
	border-top: 1px solid #edf0f4 !important;
	background: #fafbfd !important;
	font-size: 9.5px !important;
	line-height: 1.35 !important;
	color: #7a8496 !important;
}

.r1mf-security svg {
	width: 15px !important;
	height: 15px !important;
	fill: none !important;
	stroke: #4e8069 !important;
	stroke-width: 1.8 !important;
}

.r1mf-success {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 650px !important;
	padding: 48px !important;
	background:
		radial-gradient(circle at 83% 16%, rgba(232, 121, 36, .25), transparent 28%),
		linear-gradient(145deg, #07163b, #0c326f) !important;
	text-align: center !important;
	color: #fff !important;
}

.r1mf-success__icon {
	display: grid !important;
	place-items: center !important;
	width: 84px !important;
	height: 84px !important;
	margin-bottom: 22px !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .09) !important;
	box-shadow: 0 0 0 12px rgba(255, 255, 255, .035) !important;
}

.r1mf-success__icon span {
	display: grid !important;
	place-items: center !important;
	width: 54px !important;
	height: 54px !important;
	border-radius: 50% !important;
	background: linear-gradient(145deg, var(--r1mf-orange), var(--r1mf-orange-dark)) !important;
}

.r1mf-success__icon svg {
	width: 27px !important;
	height: 27px !important;
	fill: none !important;
	stroke: #fff !important;
	stroke-width: 2.2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.r1mf-success h2 {
	max-width: 720px !important;
	font-size: clamp(34px, 4.5vw, 49px) !important;
}

.r1mf-success > p {
	max-width: 680px !important;
	margin: 0 0 28px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, .8) !important;
}

.r1mf-success__steps {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 820px !important;
	margin-bottom: 26px !important;
}

.r1mf-success__steps > div {
	display: flex !important;
	gap: 11px !important;
	align-items: flex-start !important;
	padding: 15px !important;
	border: 1px solid rgba(255, 255, 255, .13) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, .06) !important;
	text-align: left !important;
}

.r1mf-success__steps b {
	display: grid !important;
	place-items: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 9px !important;
	background: var(--r1mf-orange) !important;
	font-size: 12px !important;
	color: #fff !important;
}

.r1mf-success__steps span,
.r1mf-success__steps strong,
.r1mf-success__steps small {
	display: block !important;
}

.r1mf-success__steps strong {
	margin-bottom: 2px !important;
	font-size: 12px !important;
	color: #fff !important;
}

.r1mf-success__steps small {
	font-size: 10px !important;
	line-height: 1.4 !important;
	color: rgba(255, 255, 255, .66) !important;
}

.r1mf-success__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center !important;
}

.r1mf-secondary {
	border: 1px solid rgba(255, 255, 255, .28) !important;
	background: rgba(255, 255, 255, .09) !important;
	box-shadow: none !important;
}

.r1mf-success__reference {
	margin-top: 19px !important;
	font-size: 10px !important;
	color: rgba(255, 255, 255, .55) !important;
}

.r1mf-live {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
}

.r1mf-embed {
	width: 100% !important;
	max-width: 1120px !important;
	margin: 24px auto !important;
	overflow: hidden !important;
	border: 1px solid var(--r1mf-line) !important;
	border-radius: 26px !important;
	box-shadow: 0 22px 60px rgba(11, 31, 82, .13) !important;
}

.r1mf-embed .r1mf-app {
	max-height: none !important;
}

/* Seiten mit eigenem Anfrageweg: kein doppeltes Footer-Formular. */
.r1mf-footer-form-marker,
.r1mf-footer-form-section-hidden,
.r1mf-footer-form-excluded #pxl-footer-elementor .elementor-element-41c49c7 {
	display: none !important;
}

@supports selector(.e-con:has(*)) {
	.r1mf-footer-form-excluded #pxl-footer-elementor .e-con:has([data-r1mf-footer-form-marker]) {
		display: none !important;
	}
}

.r1mf-request-page .r1mf-embed {
	max-width: 1170px !important;
	margin: 24px auto !important;
	border: 1px solid rgba(11, 31, 82, .09) !important;
	border-radius: 30px !important;
	box-shadow: 0 26px 72px rgba(11, 31, 82, .15) !important;
}

@media (max-width: 900px) {
	.r1mf-modal {
		align-items: end !important;
		padding: 0 !important;
	}

	.r1mf-modal__shell {
		width: 100% !important;
		max-height: 94dvh !important;
		border: 0 !important;
		border-radius: 24px 24px 0 0 !important;
		transform: translateY(100%) !important;
	}

	.r1mf-modal.is-open .r1mf-modal__shell {
		transform: translateY(0) !important;
	}

	.r1mf-app {
		max-height: 94dvh !important;
	}

	.r1mf-intro {
		grid-template-columns: 1fr !important;
		min-height: 720px !important;
		background:
			linear-gradient(0deg, rgba(6, 22, 59, .98) 0%, rgba(6, 22, 59, .9) 48%, rgba(6, 22, 59, .2) 83%, rgba(6, 22, 59, .05) 100%),
			var(--r1mf-hero) 64% center / cover no-repeat,
			linear-gradient(135deg, #07163b, #113b7c) !important;
	}

	.r1mf-intro__copy {
		justify-content: flex-end !important;
		padding: 245px 25px 42px !important;
	}

	.r1mf-intro__advisor {
		display: none !important;
	}

	.r1mf-header {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
		min-height: 102px !important;
		padding: 12px 67px 12px 18px !important;
	}

	.r1mf-brand > b {
		width: 38px !important;
		height: 38px !important;
	}

	.r1mf-body {
		padding: 23px 18px 18px !important;
	}

	.r1mf-options {
		grid-template-columns: 1fr !important;
	}

	.r1mf-option {
		min-height: 80px !important;
	}

	.r1mf-panel {
		min-height: 94dvh !important;
	}

	.r1mf-success {
		min-height: 94dvh !important;
		padding: 42px 22px !important;
	}

	.r1mf-success__steps {
		grid-template-columns: 1fr !important;
	}

	.r1mf-request-page .r1mf-embed {
		margin: 20px auto !important;
		border-radius: 24px !important;
	}
}

@media (max-width: 620px) {
	.r1mf-modal__close {
		top: 13px !important;
		right: 13px !important;
		width: 38px !important;
		height: 38px !important;
	}

	.r1mf-intro {
		min-height: 94dvh !important;
	}

	.r1mf-intro__copy {
		padding: 220px 20px 31px !important;
	}

	.r1mf-intro h2 {
		font-size: 39px !important;
		letter-spacing: -1.1px !important;
	}

	.r1mf-intro p {
		font-size: 14px !important;
	}

	.r1mf-primary,
	.r1mf-next,
	.r1mf-secondary {
		min-height: 50px !important;
		padding: 11px 16px !important;
		font-size: 12.5px !important;
	}

	.r1mf-trust {
		gap: 8px 12px !important;
		margin-top: 21px !important;
	}

	.r1mf-trust span {
		font-size: 9.5px !important;
	}

	.r1mf-question {
		margin-bottom: 18px !important;
	}

	.r1mf-question h3 {
		font-size: 26px !important;
	}

	.r1mf-question p {
		font-size: 12px !important;
	}

	.r1mf-option {
		grid-template-columns: 49px minmax(0, 1fr) 23px !important;
		gap: 10px !important;
		min-height: 72px !important;
		padding: 9px !important;
		border-radius: 13px !important;
	}

	.r1mf-option__icon {
		width: 49px !important;
		height: 49px !important;
		border-radius: 13px !important;
	}

	.r1mf-option__icon svg {
		width: 25px !important;
		height: 25px !important;
	}

	.r1mf-option__copy strong {
		font-size: 12.5px !important;
	}

	.r1mf-option__copy small {
		font-size: 10px !important;
	}

	.r1mf-fields--two,
	.r1mf-radios {
		grid-template-columns: 1fr !important;
	}

	.r1mf-contact-choice > div {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.r1mf-nav {
		position: sticky !important;
		bottom: 0 !important;
		z-index: 5 !important;
		margin: 22px -18px -18px !important;
		width: calc(100% + 36px) !important;
		max-width: none !important;
		padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
		border-top: 1px solid var(--r1mf-line) !important;
		background: rgba(255, 255, 255, .97) !important;
		backdrop-filter: blur(9px) !important;
	}

	.r1mf-security {
		display: none !important;
	}

	.r1mf-success h2 {
		font-size: 33px !important;
	}

	.r1mf-success__actions {
		flex-direction: column !important;
		width: 100% !important;
	}

	.r1mf-success__actions a {
		width: 100% !important;
	}

	.r1mf-request-page .r1mf-embed {
		margin: 14px auto !important;
		border-radius: 19px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.r1mf-modal,
	.r1mf-modal *,
	.r1mf-modal *::before,
	.r1mf-modal *::after,
	.r1mf-embed *,
	.r1mf-embed *::before,
	.r1mf-embed *::after {
		animation: none !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.r1mf-modal {
		display: none !important;
	}
}

/* Kompakter, eigenständiger Rückrufdialog */
.r1mcb-modal__shell {
	width: min(890px, 100%) !important;
	max-height: min(90vh, 690px) !important;
}

.r1mcb-layout {
	display: grid !important;
	grid-template-columns: minmax(290px, .84fr) minmax(0, 1.16fr) !important;
	min-height: 590px !important;
	background: #fff !important;
}

.r1mcb-visual {
	position: relative !important;
	min-height: 100% !important;
	overflow: hidden !important;
	background: var(--r1mf-navy) !important;
}

.r1mcb-visual::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, rgba(6, 22, 59, .02) 32%, rgba(6, 22, 59, .9) 100%) !important;
}

.r1mcb-visual img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 590px !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.r1mcb-visual > span {
	position: absolute !important;
	left: 24px !important;
	right: 24px !important;
	bottom: 24px !important;
	z-index: 2 !important;
	display: flex !important;
	gap: 9px !important;
	align-items: center !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #fff !important;
}

.r1mcb-visual > span i {
	display: block !important;
	width: 9px !important;
	height: 9px !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	background: #27c774 !important;
}

.r1mcb-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: 44px !important;
	overflow: auto !important;
}

.r1mcb-content h2 {
	margin: 0 0 9px !important;
	font-family: "Gantari", "Work Sans", Arial, sans-serif !important;
	font-size: clamp(28px, 3vw, 38px) !important;
	font-weight: 790 !important;
	line-height: 1.08 !important;
	letter-spacing: -.8px !important;
	color: var(--r1mf-navy) !important;
}

.r1mcb-content > p {
	margin: 0 0 20px !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: var(--r1mf-muted) !important;
}

.r1mcb-fields {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	margin-bottom: 12px !important;
}

.r1mcb-fields label,
.r1mcb-full {
	display: grid !important;
	gap: 6px !important;
	margin: 0 !important;
}

.r1mcb-fields label > span,
.r1mcb-full > span {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #44516a !important;
}

.r1mcb-fields em,
.r1mcb-full em {
	font-style: normal !important;
	font-weight: 500 !important;
	color: #7a8496 !important;
}

.r1mcb-fields input,
.r1mcb-fields select,
.r1mcb-full textarea {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 11px 12px !important;
	border: 1.5px solid var(--r1mf-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	color: var(--r1mf-ink) !important;
}

.r1mcb-fields input:focus,
.r1mcb-fields select:focus,
.r1mcb-full textarea:focus {
	border-color: var(--r1mf-orange) !important;
	box-shadow: 0 0 0 3px rgba(232, 121, 36, .12) !important;
	outline: none !important;
}

.r1mcb-full {
	margin-bottom: 11px !important;
}

.r1mcb-consent {
	margin-top: 9px !important;
}

.r1mcb-submit {
	width: 100% !important;
	margin-top: 16px !important;
}

.r1mcb-message {
	display: none !important;
	margin: 0 0 13px !important;
	padding: 10px 12px !important;
	border: 1px solid #f0b5ad !important;
	border-radius: 9px !important;
	background: #fff4f2 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #9e2c20 !important;
}

.r1mcb-message.is-visible {
	display: block !important;
}

.r1mcb-back {
	appearance: none !important;
	align-self: center !important;
	margin: 14px 0 0 !important;
	padding: 3px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 650 !important;
	color: #6a7589 !important;
	cursor: pointer !important;
}

.r1mcb-success {
	display: grid !important;
	place-items: center !important;
	min-height: 330px !important;
	padding: 30px 12px !important;
	text-align: center !important;
}

.r1mcb-success > span {
	display: grid !important;
	place-items: center !important;
	width: 68px !important;
	height: 68px !important;
	border-radius: 50% !important;
	background: #edf9f2 !important;
	color: #188451 !important;
}

.r1mcb-success > span svg {
	width: 34px !important;
	height: 34px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.2 !important;
}

.r1mcb-success h3 {
	margin: 16px 0 7px !important;
	font-family: "Gantari", "Work Sans", Arial, sans-serif !important;
	font-size: 27px !important;
	color: var(--r1mf-navy) !important;
}

.r1mcb-success p,
.r1mcb-success small {
	margin: 0 !important;
	color: var(--r1mf-muted) !important;
}

.r1mf-inline-trigger {
	appearance: none !important;
	display: inline-flex !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 52px !important;
	padding: 13px 22px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, var(--r1mf-orange), var(--r1mf-orange-dark)) !important;
	box-shadow: 0 10px 24px rgba(201, 93, 10, .22) !important;
	font-family: "Work Sans", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	color: #fff !important;
	cursor: pointer !important;
}

.r1mf-inline-trigger svg {
	width: 19px !important;
	height: 19px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
}

@media (max-width: 767px) {
	.r1mcb-modal {
		padding: 10px !important;
		place-items: end center !important;
	}

	.r1mcb-modal__shell {
		width: 100% !important;
		max-height: calc(100dvh - 10px) !important;
		border-radius: 22px 22px 0 0 !important;
	}

	.r1mcb-layout {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
		max-height: calc(100dvh - 10px) !important;
		overflow: auto !important;
	}

	.r1mcb-visual {
		min-height: 150px !important;
	}

	.r1mcb-visual img {
		height: 175px !important;
		min-height: 175px !important;
	}

	.r1mcb-content {
		padding: 24px 18px calc(22px + env(safe-area-inset-bottom, 0px)) !important;
		overflow: visible !important;
	}

	.r1mcb-fields {
		grid-template-columns: 1fr !important;
	}

	.r1mcb-content h2 {
		font-size: 29px !important;
	}
}
