/**
 * INAI Leistungsübersicht — Figma 1399:2333 (1440 canvas).
 *
 * Content 1200 · side inset 120 · section gap 120.
 * Pixel contract for glass modules, Gründe, CTA, process, calendly.
 */

/* —— Page shell / hero gradient —— */
body.inia-theme:has(.inia-leistungen-page),
body.page-leistungsuebersicht.inia-theme,
body.elementor-page-119.inia-theme {
	background-color: #ffffff;
	background-image: var(--inai-hero-gradient);
	background-repeat: no-repeat;
	background-size: 100% 3350px;
	background-position: top center;
	overflow-x: clip;
}

body:has(.inia-leistungen-page) .inia-leistungen-page.inia-hero-gradient,
body.page-leistungsuebersicht .inia-leistungen-page.inia-hero-gradient,
body.elementor-page-119 .inia-leistungen-page.inia-hero-gradient,
.inia-leistungen-page.inia-hero-gradient {
	background-image: none !important;
	background-color: transparent !important;
}

.inia-leistungen-page {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.inia-leistungen-page *,
.inia-leistungen-page *::before,
.inia-leistungen-page *::after {
	box-sizing: border-box;
}

.inia-leistungen-page > .e-con,
.inia-leistungen-page > .e-con-inner > .e-con {
	max-width: 100%;
}

/* Accent words */
.inia-leistungen-page .elementor-heading-title b,
.inia-leistungen-page .elementor-heading-title .inia-accent,
.inia-leistungen-page .inia-accent {
	color: var(--inai-electric-blue);
	font-weight: inherit;
}

/* —— Glass primitives —— */
.inia-leistungen-page .inia-lu-glass,
.inia-leistungen-page .inia-lu-module,
.inia-leistungen-page .inia-lu-service-card,
.inia-leistungen-page .inia-lu-stat {
	background: rgba(241, 241, 242, 0.8) !important;
	border: 1px solid #ffffff !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.inia-leistungen-page .inia-lu-module {
	border-radius: 48px !important;
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
}

.inia-leistungen-page .inia-lu-service-card,
.inia-leistungen-page .inia-lu-stat,
.inia-leistungen-page .inia-lu-media {
	border-radius: 32px !important;
	overflow: hidden;
}

.inia-leistungen-page .inia-lu-icon {
	width: 85px !important;
	max-width: 85px !important;
	flex: 0 0 85px;
}

.inia-leistungen-page .inia-lu-icon img {
	display: block;
	width: 85px !important;
	height: 70px !important;
	object-fit: contain;
	border-radius: 0 !important;
}

.inia-leistungen-page .inia-lu-stat .elementor-heading-title {
	font-family: var(--inai-font-display) !important;
	font-size: 64px !important;
	line-height: 88px !important;
	font-weight: 600 !important;
	color: var(--inai-electric-blue) !important;
	text-align: center;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-stat-label,
.inia-leistungen-page .inia-lu-stat-label p {
	font-family: var(--inai-font-body) !important;
	font-size: 12px !important;
	line-height: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 1.8px !important;
	text-transform: uppercase !important;
	color: #000000 !important;
	text-align: center;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-eyebrow,
.inia-leistungen-page .inia-lu-eyebrow p,
.inia-leistungen-page .inia-lu-eyebrow .elementor-widget-container {
	font-family: var(--inai-font-body) !important;
	font-size: 12px !important;
	line-height: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 1.8px !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-eyebrow--white,
.inia-leistungen-page .inia-lu-eyebrow--white p {
	color: #ffffff !important;
	text-align: center;
}

.inia-leistungen-page .inia-lu-eyebrow--blue,
.inia-leistungen-page .inia-lu-eyebrow--blue p {
	color: var(--inai-electric-blue) !important;
}

/* —— Hero (Figma 1399:2577 — 1200×445, gap 24) —— */
.inia-leistungen-page .inia-lu-hero {
	width: 100%;
	max-width: 1200px;
}

.inia-leistungen-page .inia-lu-hero .elementor-heading-title {
	color: #ffffff !important;
	font-family: var(--inai-font-display) !important;
	font-size: 48px !important;
	line-height: 58px !important;
	font-weight: 600 !important;
	text-align: center;
	white-space: pre-line;
}

.inia-leistungen-page .inia-lu-hero-body {
	max-width: 996px !important;
	width: 996px !important;
	margin-inline: auto;
}

.inia-leistungen-page .inia-lu-hero-body,
.inia-leistungen-page .inia-lu-hero-body p,
.inia-leistungen-page .inia-lu-hero-body .elementor-widget-container {
	color: #ffffff !important;
	text-align: center;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 500 !important;
}

.inia-leistungen-page .inia-lu-pill-row {
	width: 792px !important;
	max-width: 792px !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	align-self: center;
	column-gap: 24px !important;
	row-gap: 0 !important;
}

.inia-leistungen-page .inia-lu-pill-row > .elementor-element,
.inia-leistungen-page .inia-lu-pill-row .elementor-widget-button,
.inia-leistungen-page .inia-lu-pill-row .elementor-button-wrapper {
	width: 248px !important;
	max-width: 248px !important;
	flex: 0 0 248px !important;
}

.inia-leistungen-page .inia-lu-pill-row .elementor-button {
	width: 248px !important;
	max-width: 248px !important;
	min-height: 48px;
	height: 48px;
	padding: 14px 24px !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 500 !important;
	white-space: nowrap;
	justify-content: center !important;
}

.inia-leistungen-page .inia-lu-chevron {
	width: 24px !important;
	max-width: 24px !important;
}

.inia-leistungen-page .inia-lu-chevron img {
	display: block;
	width: 24px !important;
	height: 25px !important;
	transform: rotate(180deg);
}

/* —— Service modules —— */
.inia-leistungen-page .inia-lu-module-row,
.inia-leistungen-page .inia-lu-module-row > .e-con-inner {
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
}

.inia-leistungen-page .inia-lu-col-images {
	width: 433px !important;
	max-width: 433px !important;
	flex: 0 0 433px !important;
	min-width: 0;
}

.inia-leistungen-page .inia-lu-col-copy {
	width: 575px !important;
	max-width: 575px !important;
	flex: 0 0 575px !important;
	min-width: 0;
}

/* Fixed Figma media slots (object-fit cover) */
.inia-leistungen-page .inia-lu-media--case,
.inia-leistungen-page .inia-lu-media--case .elementor-widget-container {
	width: 433px !important;
	height: 462px !important;
	border-radius: 32px !important;
	overflow: hidden;
}

.inia-leistungen-page .inia-lu-media--team,
.inia-leistungen-page .inia-lu-media--team .elementor-widget-container {
	width: 433px !important;
	height: 215px !important;
	border-radius: 32px !important;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

/* SMM square case */
.inia-leistungen-page #smm .inia-lu-media--case,
.inia-leistungen-page #smm .inia-lu-media--case .elementor-widget-container {
	height: 433px !important;
}

.inia-leistungen-page #smm .inia-lu-media--team,
.inia-leistungen-page #smm .inia-lu-media--team .elementor-widget-container {
	height: 216px !important;
}

.inia-leistungen-page .inia-lu-media--case img,
.inia-leistungen-page .inia-lu-media--team img,
.inia-leistungen-page .inia-lu-media--tall img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	border-radius: 32px;
}

.inia-leistungen-page .inia-lu-media--tall,
.inia-leistungen-page .inia-lu-media--tall .elementor-widget-container {
	width: 433px !important;
	height: 749px !important;
	min-height: 749px !important;
	max-width: 433px;
	border-radius: 32px !important;
	overflow: hidden;
	/* flex-basis 433px was collapsing height in column flex parents */
	flex: 0 0 auto !important;
	align-self: flex-start !important;
}

/* Tall media columns — Figma 433×749 (SEO video / GEO / SEA) */
.inia-leistungen-page #seo .inia-lu-col-images,
.inia-leistungen-page #seo .inia-lu-media--tall,
.inia-leistungen-page #seo .inia-lu-media--video,
.inia-leistungen-page #seo .inia-lu-media--video .elementor-widget-container,
.inia-leistungen-page #seo .inia-lu-seo-video,
.inia-leistungen-page #geo .inia-lu-col-images,
.inia-leistungen-page #geo .inia-lu-media--tall,
.inia-leistungen-page #geo .inia-lu-media--tall .elementor-widget-container,
.inia-leistungen-page #sea .inia-lu-col-images,
.inia-leistungen-page #sea .inia-lu-media--tall,
.inia-leistungen-page #sea .inia-lu-media--video,
.inia-leistungen-page #sea .inia-lu-media--video .elementor-widget-container,
.inia-leistungen-page #sea .inia-lu-sea-video {
	width: 433px !important;
	height: 749px !important;
	max-width: 433px !important;
	min-height: 749px !important;
	border-radius: 32px !important;
	overflow: hidden;
	flex: 0 0 auto !important;
	align-self: flex-start !important;
}

.inia-leistungen-page #seo .inia-lu-seo-video,
.inia-leistungen-page #sea .inia-lu-sea-video {
	border: 1px solid #ffffff;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	background: #000;
}

.inia-leistungen-page #seo .inia-lu-seo-video .inia-video__el,
.inia-leistungen-page #seo .inia-lu-media--video video,
.inia-leistungen-page #sea .inia-lu-sea-video .inia-video__el,
.inia-leistungen-page #sea .inia-lu-media--video video {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	border-radius: 32px;
}

.inia-leistungen-page .inia-lu-service-card {
	width: 100%;
	padding: 48px !important;
}

.inia-leistungen-page .inia-lu-service-card .elementor-heading-title {
	font-size: 24px !important;
	line-height: 31px !important;
	font-weight: 600 !important;
}

.inia-leistungen-page .inia-lu-service-card .inia-lu-eyebrow,
.inia-leistungen-page .inia-lu-service-card .inia-lu-eyebrow p {
	color: var(--inai-electric-blue) !important;
}

.inia-leistungen-page .inia-lu-stats-row {
	width: 100%;
	flex-wrap: nowrap !important;
	column-gap: 32px !important;
}

.inia-leistungen-page .inia-lu-stats-row > .e-con-inner {
	flex-wrap: nowrap !important;
	column-gap: 32px !important;
	width: 100%;
}

.inia-leistungen-page .inia-lu-stat {
	flex: 0 0 271.5px !important;
	width: 271.5px !important;
	max-width: 271.5px !important;
	min-width: 0 !important;
	min-height: 216px;
	text-align: center;
	justify-content: center;
}

.inia-leistungen-page .inia-lu-stat-image,
.inia-leistungen-page .inia-lu-stat-image .elementor-widget-container {
	flex: 0 0 271.5px !important;
	width: 271.5px !important;
	max-width: 271.5px !important;
	min-width: 0 !important;
	height: 216px !important;
	border-radius: 32px;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	border: 1px solid #ffffff;
}

/* Two-up stats: 271.5 + 32 + 271.5 = 575 */
.inia-leistungen-page .inia-lu-stats-row > .inia-lu-stat,
.inia-leistungen-page .inia-lu-stats-row > .inia-lu-stat-image {
	flex: 0 0 271.5px !important;
	width: 271.5px !important;
	max-width: 271.5px !important;
}

/* SEA full-width statistic (Figma 575×192) — must beat 271.5px two-up rule */
.inia-leistungen-page #sea .inia-lu-stats-row > .inia-lu-stat,
.inia-leistungen-page #sea .inia-lu-stats-row .inia-lu-stat {
	flex: 0 0 575px !important;
	width: 575px !important;
	max-width: 575px !important;
	min-height: 192px !important;
	height: 192px !important;
}

.inia-leistungen-page .inia-lu-stat-image img {
	width: 100% !important;
	height: 216px !important;
	object-fit: cover;
	border-radius: 32px;
}

.inia-leistungen-page .inia-lu-web-laptop {
	width: 100%;
	max-width: 1043px;
}

.inia-leistungen-page .inia-lu-web-laptop,
.inia-leistungen-page .inia-lu-web-laptop .elementor-widget-container {
	height: 591px;
	overflow: hidden;
	border-radius: 0;
}

.inia-leistungen-page .inia-lu-web-laptop img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

.inia-leistungen-page .inia-lu-web-bottom {
	width: 100%;
	flex-wrap: nowrap !important;
	column-gap: 64px !important;
}

.inia-leistungen-page .inia-lu-web-bottom > .e-con-inner {
	column-gap: 64px !important;
	flex-wrap: nowrap !important;
}

.inia-leistungen-page .inia-lu-web-service {
	flex: 0 0 546px !important;
	max-width: 546px !important;
	width: 546px !important;
}

.inia-leistungen-page .inia-lu-web-stats {
	flex: 0 0 462px !important;
	max-width: 462px !important;
	width: 462px !important;
	row-gap: 64px !important;
}

.inia-leistungen-page .inia-lu-web-stats > .e-con-inner {
	row-gap: 64px !important;
}

.inia-leistungen-page .inia-lu-web-stats .inia-lu-stat {
	min-height: 211px !important;
	height: 211px !important;
	width: 462px !important;
	max-width: 462px !important;
	flex: 0 0 211px !important; /* column flex: basis = height */
}

.inia-leistungen-page .inia-lu-web-service .inia-lu-service-card {
	min-height: 533px;
	height: 533px;
}

/* Primary CTAs inside modules */
.inia-leistungen-page .inia-lu-service-card .elementor-button {
	min-height: 48px;
	height: 48px;
	padding: 14px 24px !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

/* —— Banner (1200×450, radius 48) —— */
.inia-leistungen-page .inia-lu-banner {
	position: relative;
	width: 100%;
	max-width: 1200px;
	height: 450px;
	min-height: 450px;
	border-radius: 48px !important;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
	padding: 0 0 32px !important;
}

.inia-leistungen-page .inia-lu-banner .elementor-button {
	min-height: 48px;
	height: 48px;
	padding: 14px 24px !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

/* —— Testimonials (1440×458) —— */
.inia-leistungen-page .inia-lu-testi {
	width: 100%;
	max-width: 1440px;
}

.inia-leistungen-page .inia-lu-testi > .e-con-inner,
.inia-leistungen-page .inia-lu-testi {
	row-gap: 40px !important;
}

.inia-leistungen-page .inia-lu-testi .elementor-heading-title {
	font-size: 40px !important;
	line-height: 48px !important;
	font-weight: 600 !important;
	text-align: center;
	max-width: 837px;
	margin-inline: auto;
	/* Installers author the break after "Kunden"; without pre-line it collapses to one line. */
	white-space: pre-line;
}

.inia-leistungen-page .inia-lu-testi-band {
	width: 100%;
	background: var(--inai-deep-blue) !important;
	padding: 0 24px 24px !important;
}

.inia-leistungen-page .inia-lu-testi-inner {
	max-width: 878px;
	margin-inline: auto;
	text-align: center;
	padding: 32px !important;
}

.inia-leistungen-page .inia-lu-testi-logo {
	width: 64px !important;
	max-width: 64px !important;
	margin-inline: auto;
	/* Figma 1399:1954 nests logo + name in a 116-tall frame inset 10px, gap 16. */
	margin-top: 10px;
}

.inia-leistungen-page .inia-lu-testi-inner > .inia-lu-testi-name {
	/* Pull against the shared 24px flex gap so logo→name lands at 16. */
	margin-top: -8px !important;
}

.inia-leistungen-page .inia-lu-testi-inner > .inia-lu-testi-quote-row {
	/* Figma leaves 34 between name and quote; flex gap alone is 24. */
	margin-top: 10px !important;
}

.inia-leistungen-page .inia-lu-testi-logo img {
	width: 64px !important;
	height: 64px !important;
	object-fit: cover;
	border-radius: 50%;
}

.inia-leistungen-page .inia-lu-testi-name,
.inia-leistungen-page .inia-lu-testi-name p {
	color: #ffffff !important;
	font-size: 12px !important;
	line-height: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 1.8px !important;
	text-transform: uppercase !important;
	text-align: center;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-testi-quote,
.inia-leistungen-page .inia-lu-testi-quote p {
	color: #ffffff !important;
	text-align: center;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 24px !important;
	max-width: 677px;
}

.inia-leistungen-page .inia-lu-quote-mark {
	width: 53px;
	max-width: 53px;
	flex: 0 0 auto;
}

.inia-leistungen-page .inia-lu-stars {
	width: 150px;
	max-width: 150px;
	height: 22px;
	margin-inline: auto;
	line-height: 0;
}

.inia-leistungen-page .inia-lu-stars img {
	display: block;
	width: 150px;
	height: 22px;
}

/* —— Gründe (1440×1738 frame; content may paint into following gap) —— */
.inia-leistungen-page .inia-lu-grunde {
	width: 100%;
	max-width: 1440px;
	position: relative;
	height: 1738px !important;
	min-height: 1738px !important;
	max-height: 1738px !important;
	overflow: visible;
}

.inia-leistungen-page .inia-lu-grunde-heading {
	width: 724px;
	max-width: 724px;
	margin-inline: auto;
	text-align: center;
}

.inia-leistungen-page .inia-lu-grunde-heading .elementor-heading-title {
	font-size: 40px !important;
	line-height: 48px !important;
	font-weight: 600 !important;
	text-align: center;
	width: 100%;
}

.inia-leistungen-page .inia-lu-grunde-body {
	position: relative;
	max-width: 1440px;
	margin-inline: auto;
	/* Figma: heading 96 tall, content band starts at 193 → 97 gap. */
	margin-top: 97px;
	min-height: 0;
	height: auto;
}

.inia-leistungen-page .inia-lu-grunde-squiggle {
	position: absolute;
	left: 273px;
	top: 30px;
	width: 85px;
	height: 268px;
	pointer-events: none;
	z-index: 1;
}

.inia-leistungen-page .inia-lu-grunde-squiggle img {
	width: 85px;
	height: 268px;
	object-fit: contain;
}

.inia-leistungen-page .inia-lu-grunde-line {
	position: absolute;
	left: 375px;
	top: 120px;
	width: 1px;
	height: 1418px;
	background: var(--inai-electric-blue);
	pointer-events: none;
	z-index: 0;
}

.inia-leistungen-page .inia-lu-grunde-line img {
	display: none;
}

.inia-leistungen-page .inia-lu-grunde-list {
	position: relative;
	max-width: 690px;
	width: 690px;
	margin: 120px 0 0 426px;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 64px;
	z-index: 1;
}

.inia-leistungen-page .inia-lu-reason {
	max-width: 690px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.inia-leistungen-page .inia-lu-reason__title {
	font-family: var(--inai-font-display);
	font-size: 30px;
	line-height: 36px;
	font-weight: 600;
	color: #000000;
	margin: 0;
}

.inia-leistungen-page .inia-lu-reason__title .inia-accent {
	color: var(--inai-electric-blue);
}

.inia-leistungen-page .inia-lu-reason__body,
.inia-leistungen-page .inia-lu-reason__body p {
	font-family: var(--inai-font-body);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: #000000;
	margin: 0;
}

/* —— Mitarbeiter CTA Blue (1440×450) —— */
.inia-leistungen-page .inia-lu-cta-blue {
	width: 100%;
	max-width: 1440px;
	min-height: 450px;
	background: var(--inai-electric-blue) !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
}

.inia-leistungen-page .inia-lu-cta-blue .elementor-heading-title {
	color: #ffffff !important;
	font-size: 40px !important;
	line-height: 48px !important;
	font-weight: 600 !important;
	white-space: pre-line;
}

.inia-leistungen-page .inia-lu-cta-blue .inia-lu-cta-copy,
.inia-leistungen-page .inia-lu-cta-blue .inia-lu-cta-copy p {
	color: #ffffff !important;
	font-size: 16px !important;
	line-height: 24px !important;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-cta-avatar {
	width: 342px !important;
	max-width: 342px !important;
	flex: 0 0 342px !important;
}

.inia-leistungen-page .inia-lu-cta-avatar img {
	width: 100%;
	height: auto;
	display: block;
}

.inia-leistungen-page .inia-lu-cta-copy-wrap {
	max-width: 588px;
	width: 588px;
	flex: 0 0 588px;
	gap: 24px !important;
}

.inia-leistungen-page .inia-lu-cta-blue .elementor-button {
	min-height: 48px;
	height: 48px;
	padding: 14px 24px !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
	background: #ffffff !important;
	color: var(--inai-electric-blue) !important;
}

/* —— Process (Figma 1399:2482 — editable Elementor timeline, not screenshot)
   Section 1236 = title 48 + gap 49 + timeline ~1139 —— */
.inia-leistungen-page .inia-lu-process {
	width: 100%;
	max-width: 1440px;
	min-height: 1236px;
	row-gap: 49px !important;
}

.inia-leistungen-page .inia-lu-process > .e-con-inner {
	row-gap: 49px !important;
	align-items: center !important;
	width: 100%;
	max-width: 1200px;
}

.inia-leistungen-page .inia-lu-process-heading .elementor-heading-title,
.inia-leistungen-page .inia-lu-process > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
	font-size: 40px !important;
	line-height: 48px !important;
	font-weight: 600 !important;
	text-align: center;
	max-width: 837px;
	margin-inline: auto;
}

/* Timeline spine + alternating steps (measured from Figma screencapture).
   Note: Elementor e-con-full has NO .e-con-inner — steps are direct children. */
.inia-leistungen-page .inia-lu-timeline {
	position: relative;
	width: 100%;
	max-width: 1200px;
	height: 1139px;
	max-height: 1139px;
	padding-top: 0;
	padding-bottom: 0;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	row-gap: 0 !important;
	overflow: visible;
}

.inia-leistungen-page .inia-lu-timeline > .e-con-inner {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	row-gap: 0 !important;
	width: 100%;
	height: 100%;
	flex: 1 1 auto;
}

/* Center spine: blue through step 03, grey after */
.inia-leistungen-page .inia-lu-timeline::before,
.inia-leistungen-page .inia-lu-timeline > .e-con-inner::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 48px;
	bottom: 48px;
	width: 4px;
	transform: translateX(-50%);
	background: linear-gradient(
		to bottom,
		var(--inai-electric-blue, #2d5bff) 0%,
		var(--inai-electric-blue, #2d5bff) 68%,
		#d7d7d7 68%,
		#d7d7d7 100%
	);
	border-radius: 2px;
	pointer-events: none;
	z-index: 0;
}

/* Avoid double spine if both timeline and inner exist */
.inia-leistungen-page .inia-lu-timeline:has(> .e-con-inner)::before {
	content: none;
}

.inia-leistungen-page .inia-lu-step {
	position: relative;
	width: 50% !important;
	max-width: 50%;
	z-index: 1;
	box-sizing: border-box;
}

.inia-leistungen-page .inia-lu-step--right {
	align-self: flex-end !important;
	padding-left: 48px !important;
	padding-right: 0 !important;
	text-align: left;
}

.inia-leistungen-page .inia-lu-step--left {
	align-self: flex-start !important;
	padding-right: 48px !important;
	padding-left: 0 !important;
	text-align: right;
}

.inia-leistungen-page .inia-lu-step > .e-con-inner {
	row-gap: 0 !important;
	width: 100%;
	max-width: 520px;
}

.inia-leistungen-page .inia-lu-step--left > .e-con-inner {
	margin-left: auto;
	align-items: flex-end !important;
}

.inia-leistungen-page .inia-lu-step--right > .e-con-inner {
	margin-right: auto;
	align-items: flex-start !important;
}

/* Blue dots on the spine, aligned to step number baseline */
.inia-leistungen-page .inia-lu-step::before {
	content: "";
	position: absolute;
	top: 40px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--inai-electric-blue, #2d5bff);
	z-index: 2;
	box-shadow: 0 0 0 4px #ffffff;
}

.inia-leistungen-page .inia-lu-step--right::before {
	left: -10px;
	right: auto;
}

.inia-leistungen-page .inia-lu-step--left::before {
	left: auto;
	right: -10px;
}

.inia-leistungen-page .inia-lu-step__num .elementor-heading-title {
	font-family: "Bricolage Grotesque", sans-serif !important;
	font-size: 80px !important;
	line-height: 100px !important;
	font-weight: 700 !important;
	letter-spacing: -2px !important;
	text-transform: uppercase;
	color: #181818 !important;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-step__title .elementor-heading-title {
	font-family: "DM Sans", sans-serif !important;
	font-size: 24px !important;
	line-height: 36px !important;
	font-weight: 500 !important;
	color: #000000 !important;
	margin: 0 0 16px !important;
}

.inia-leistungen-page .inia-lu-step__body,
.inia-leistungen-page .inia-lu-step__body p {
	font-family: "DM Sans", sans-serif !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 500 !important;
	color: #000000 !important;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-step--left .inia-lu-step__num .elementor-heading-title,
.inia-leistungen-page .inia-lu-step--left .inia-lu-step__title .elementor-heading-title,
.inia-leistungen-page .inia-lu-step--left .inia-lu-step__body,
.inia-leistungen-page .inia-lu-step--left .inia-lu-step__body p {
	text-align: right !important;
}

.inia-leistungen-page .inia-lu-step--right .inia-lu-step__num .elementor-heading-title,
.inia-leistungen-page .inia-lu-step--right .inia-lu-step__title .elementor-heading-title,
.inia-leistungen-page .inia-lu-step--right .inia-lu-step__body,
.inia-leistungen-page .inia-lu-step--right .inia-lu-step__body p {
	text-align: left !important;
}

/* —— Kalender (Figma 1399:2486)
   Section ~932×883 on canvas; live Calendly needs 1000×700 → 1080 shell.
   Spinner 323×323 at left 609 / top 236 on 932 frame → left 757 on 1080
   (flush right). Embed top 332 so ~96px of the ring sits above Calendly. —— */
.inia-leistungen-page .inia-lu-kalender {
	width: 100%;
	max-width: 1080px;
	min-height: 1050px;
	position: relative;
	overflow: visible;
}

.inia-leistungen-page .inia-lu-kalender > .e-con-inner {
	position: relative;
	width: 100%;
	min-height: 1050px;
	display: block !important;
}

.inia-leistungen-page .inia-lu-kalender .elementor-heading-title {
	font-size: 40px !important;
	line-height: 48px !important;
	font-weight: 600 !important;
	text-align: center;
	max-width: 869px;
	margin-inline: auto;
}

.inia-leistungen-page .inia-lu-kalender > .elementor-widget-heading,
.inia-leistungen-page .inia-lu-kalender > .e-con-inner > .elementor-widget-heading {
	position: relative !important;
	left: auto !important;
	top: 0 !important;
	width: 100% !important;
	max-width: 869px;
	margin-inline: auto !important;
	z-index: 2;
}

/* Position only the widget — do NOT also absolute-offset .elementor-widget-container
   (that double-applies left and shoved the ring off-canvas). */
.inia-leistungen-page .inia-lu-kalender .inia-kal__kreis {
	position: absolute !important;
	left: 757px !important; /* 1080 − 323; Figma 609 on 932-wide frame */
	right: auto !important;
	top: 236px !important; /* Figma 1399:2488 */
	width: 323px !important;
	height: 323px !important;
	max-width: 323px !important;
	max-height: 323px !important;
	overflow: visible !important;
	pointer-events: none;
	z-index: 0;
	margin: 0 !important;
}

.inia-leistungen-page .inia-lu-kalender .inia-kal__kreis .elementor-widget-container {
	position: static !important;
	width: 323px !important;
	height: 323px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.inia-leistungen-page .inia-lu-kalender .inia-kal__kreis img {
	width: 323px !important;
	height: 323px !important;
	max-width: 323px !important;
	max-height: 323px !important;
	object-fit: contain !important;
	display: block !important;
}

.inia-leistungen-page .inia-lu-kalender .inia-kal__embed {
	position: absolute !important;
	left: 40px !important;
	top: 332px !important; /* Figma 1399:2489 */
	right: auto !important;
	z-index: 1;
	width: 1000px !important;
	max-width: 1000px !important;
	height: 700px !important;
	margin: 0 !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* —— Desktop pixel contract (≥1200) —— */
@media (min-width: 1200px) {
	.inia-leistungen-page {
		padding-top: 120px !important;
		padding-bottom: 0 !important;
	}

	.inia-leistungen-page > .e-con-inner {
		row-gap: 120px !important;
	}

	.inia-leistungen-page .inia-lu-hero {
		min-height: 445px;
	}

	.inia-leistungen-page .inia-lu-module {
		width: 1200px;
		max-width: 1200px;
		padding: 64px !important;
		/* Content slot 1070 after padding+border — keep row from wrapping */
		column-gap: 62px !important;
		row-gap: 0 !important;
	}

	.inia-leistungen-page .inia-lu-module-row > .e-con-inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		column-gap: 62px !important;
		align-items: flex-start !important;
	}

	.inia-leistungen-page #omb,
	.inia-leistungen-page #smm {
		min-height: 853px;
	}

	.inia-leistungen-page #omb {
		/* Figma OMB is 853 tall */
		height: 853px;
	}

	.inia-leistungen-page #smm {
		height: 825px;
		min-height: 825px;
	}

	.inia-leistungen-page #seo,
	.inia-leistungen-page #geo,
	.inia-leistungen-page #sea {
		height: 877px;
		min-height: 877px;
	}

	.inia-leistungen-page #webdesign {
		height: 1316px;
		min-height: 1316px;
		flex-direction: column !important;
	}

	.inia-leistungen-page #webdesign > .e-con-inner {
		flex-direction: column !important;
		row-gap: 64px !important;
	}

	.inia-leistungen-page .inia-lu-col-images {
		width: 433px !important;
		flex: 0 0 433px !important;
	}

	.inia-leistungen-page .inia-lu-col-copy {
		width: 575px !important;
		flex: 0 0 575px !important;
	}

	.inia-leistungen-page .inia-lu-banner {
		width: 1200px;
		height: 450px;
	}

	.inia-leistungen-page .inia-lu-cta-blue {
		min-height: 450px;
		height: 450px;
		padding: 67px 120px 64px 123px !important;
		column-gap: 80px !important;
	}

	.inia-leistungen-page .inia-lu-web-laptop {
		width: 1043px;
		height: 591px;
	}

	.inia-leistungen-page .inia-lu-web-service {
		width: 546px;
		flex: 0 0 546px;
	}

	.inia-leistungen-page .inia-lu-web-stats {
		width: 462px;
		flex: 0 0 462px;
	}

	.inia-leistungen-page .inia-lu-testi {
		min-height: 458px;
	}
}

/* —— Tablet —— */
@media (max-width: 1199px) {
	/*
	 * Beat Elementor container padding/gap (120 desktop contract) that otherwise
	 * leave huge white bands between sections on tablet/phone.
	 * Shell is itself .e-con.e-flex (no .e-con-inner wrapper in this build).
	 */
	.inia-leistungen-page,
	.inia-leistungen-page.e-con,
	.inia-leistungen-page.e-flex {
		padding-top: 32px !important;
		padding-bottom: 48px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		--padding-top: 32px !important;
		--padding-bottom: 48px !important;
		--padding-left: 0px !important;
		--padding-right: 0px !important;
		--gap: 64px 0 !important;
		gap: 64px 0 !important;
		row-gap: 64px !important;
		column-gap: 0 !important;
	}

	.inia-leistungen-page > .e-con-inner,
	.inia-leistungen-page.e-con > .e-con-inner {
		--gap: 64px 0 !important;
		row-gap: 64px !important;
		column-gap: 0 !important;
		gap: 64px 0 !important;
	}

	body.page-leistungsuebersicht.inia-theme,
	body.elementor-page-119.inia-theme {
		background-size: 100% 2600px;
	}

	/* Release Figma absolute kalender canvas below desktop */
	.inia-leistungen-page .inia-lu-kalender,
	.inia-leistungen-page .inia-lu-kalender > .e-con-inner {
		min-height: 0;
		height: auto;
	}

	.inia-leistungen-page .inia-lu-kalender > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		row-gap: 32px !important;
	}

	.inia-leistungen-page .inia-lu-kalender .inia-kal__embed {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.inia-leistungen-page .inia-lu-module-row,
	.inia-leistungen-page .inia-lu-module-row > .e-con-inner,
	.inia-leistungen-page .inia-lu-web-bottom,
	.inia-leistungen-page .inia-lu-web-bottom > .e-con-inner,
	.inia-leistungen-page .inia-lu-cta-blue,
	.inia-leistungen-page .inia-lu-cta-blue > .e-con-inner,
	.inia-leistungen-page .inia-lu-stats-row,
	.inia-leistungen-page .inia-lu-stats-row > .e-con-inner {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}

	/* SERVICE copy first, media second — readable mobile stack */
	.inia-leistungen-page .inia-lu-module-row .inia-lu-col-copy {
		order: 1 !important;
	}

	.inia-leistungen-page .inia-lu-module-row .inia-lu-col-images {
		order: 2 !important;
	}

	.inia-leistungen-page .inia-lu-module {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		margin-inline: auto !important;
		padding: 24px !important;
		border-radius: 28px !important;
		row-gap: 32px !important;
		column-gap: 32px !important;
		gap: 32px !important;
	}

	.inia-leistungen-page .inia-lu-module > .e-con-inner {
		row-gap: 32px !important;
		column-gap: 32px !important;
		gap: 32px !important;
	}

	.inia-leistungen-page .inia-lu-col-images,
	.inia-leistungen-page .inia-lu-col-copy,
	.inia-leistungen-page .inia-lu-media--tall,
	.inia-leistungen-page .inia-lu-media--case,
	.inia-leistungen-page .inia-lu-media--team,
	.inia-leistungen-page .inia-lu-web-service,
	.inia-leistungen-page .inia-lu-web-stats,
	.inia-leistungen-page .inia-lu-cta-avatar,
	.inia-leistungen-page .inia-lu-cta-copy-wrap,
	.inia-leistungen-page .inia-lu-hero-body {
		max-width: 100% !important;
		width: 100% !important;
		flex: 1 1 auto !important;
		height: auto !important;
	}

	.inia-leistungen-page .inia-lu-grunde-heading {
		width: 100% !important;
		max-width: 100% !important;
		padding-inline: 24px;
		box-sizing: border-box;
	}

	.inia-leistungen-page .inia-lu-grunde-heading .elementor-heading-title {
		font-size: 32px !important;
		line-height: 40px !important;
	}

	.inia-leistungen-page .inia-lu-icon {
		width: 64px !important;
		max-width: 64px !important;
		flex: 0 0 64px;
	}

	.inia-leistungen-page .inia-lu-icon img {
		width: 64px !important;
		height: 52px !important;
	}

	.inia-leistungen-page .inia-lu-cta-avatar,
	.inia-leistungen-page .inia-lu-cta-avatar .elementor-widget-container,
	.inia-leistungen-page .inia-lu-cta-avatar img {
		width: 100% !important;
		max-width: 280px !important;
		height: auto !important;
		margin-inline: auto;
	}

	.inia-leistungen-page .inia-lu-banner,
	.inia-leistungen-page .inia-lu-testi,
	.inia-leistungen-page .inia-lu-grunde,
	.inia-leistungen-page .inia-lu-process,
	.inia-leistungen-page .inia-lu-kalender,
	.inia-leistungen-page .inia-lu-cta-blue {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		margin-inline: auto !important;
	}

	.inia-leistungen-page .inia-lu-cta-blue {
		border-radius: 28px !important;
	}

	.inia-leistungen-page .inia-lu-media--case,
	.inia-leistungen-page .inia-lu-media--case .elementor-widget-container,
	.inia-leistungen-page .inia-lu-media--team,
	.inia-leistungen-page .inia-lu-media--team .elementor-widget-container,
	.inia-leistungen-page .inia-lu-media--tall,
	.inia-leistungen-page .inia-lu-media--tall .elementor-widget-container {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 433 / 462;
	}

	.inia-leistungen-page #smm .inia-lu-media--case,
	.inia-leistungen-page #smm .inia-lu-media--case .elementor-widget-container {
		aspect-ratio: 1 / 1;
	}

	.inia-leistungen-page .inia-lu-media--tall,
	.inia-leistungen-page .inia-lu-media--tall .elementor-widget-container {
		aspect-ratio: 433 / 749;
	}

	/*
	 * Beat desktop ID selectors (#seo etc.) that lock 433×749 with higher
	 * specificity than the generic .inia-lu-col-images / media--tall rules.
	 */
	.inia-leistungen-page #seo .inia-lu-col-images,
	.inia-leistungen-page #seo .inia-lu-media--tall,
	.inia-leistungen-page #seo .inia-lu-media--tall .elementor-widget-container,
	.inia-leistungen-page #seo .inia-lu-media--video,
	.inia-leistungen-page #seo .inia-lu-media--video .elementor-widget-container,
	.inia-leistungen-page #seo .inia-lu-seo-video,
	.inia-leistungen-page #omb .inia-lu-col-images,
	.inia-leistungen-page #omb .inia-lu-media--tall,
	.inia-leistungen-page #omb .inia-lu-media--tall .elementor-widget-container,
	.inia-leistungen-page #smm .inia-lu-col-images,
	.inia-leistungen-page #smm .inia-lu-media--tall,
	.inia-leistungen-page #smm .inia-lu-media--tall .elementor-widget-container,
	.inia-leistungen-page #sea .inia-lu-col-images,
	.inia-leistungen-page #sea .inia-lu-media--tall,
	.inia-leistungen-page #sea .inia-lu-media--tall .elementor-widget-container,
	.inia-leistungen-page #sea .inia-lu-media--video,
	.inia-leistungen-page #sea .inia-lu-media--video .elementor-widget-container,
	.inia-leistungen-page #sea .inia-lu-sea-video,
	.inia-leistungen-page #geo .inia-lu-col-images,
	.inia-leistungen-page #geo .inia-lu-media--tall,
	.inia-leistungen-page #geo .inia-lu-media--tall .elementor-widget-container,
	.inia-leistungen-page #webdesign .inia-lu-col-images,
	.inia-leistungen-page #webdesign .inia-lu-media--tall,
	.inia-leistungen-page #webdesign .inia-lu-media--tall .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.inia-leistungen-page .inia-lu-module {
		padding: 32px !important;
		border-radius: 32px !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.inia-leistungen-page .inia-lu-service-card {
		padding: 32px !important;
	}

	.inia-leistungen-page .inia-lu-grunde {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	.inia-leistungen-page .inia-lu-grunde-body {
		margin-top: 48px;
		min-height: 0;
	}

	.inia-leistungen-page .inia-lu-process {
		min-height: 0;
	}

	.inia-leistungen-page .inia-lu-timeline,
	.inia-leistungen-page .inia-lu-timeline > .e-con-inner {
		height: auto;
		max-height: none;
		min-height: 0;
		row-gap: 40px !important;
		justify-content: flex-start !important;
	}

	.inia-leistungen-page .inia-lu-step {
		width: 100% !important;
		max-width: 100%;
		align-self: stretch !important;
		padding-left: 36px !important;
		padding-right: 0 !important;
		text-align: left;
	}

	.inia-leistungen-page .inia-lu-step--left,
	.inia-leistungen-page .inia-lu-step--right {
		padding-left: 36px !important;
		padding-right: 0 !important;
	}

	/*
	 * Steps are e-con-full (no .e-con-inner). Desktop alternates alignment via
	 * align-items flex-end + text-align right on odd steps; force every step to
	 * a single left-aligned column on mobile.
	 */
	.inia-leistungen-page .inia-lu-step,
	.inia-leistungen-page .inia-lu-step--left,
	.inia-leistungen-page .inia-lu-step--right,
	.inia-leistungen-page .inia-lu-step > .e-con-inner,
	.inia-leistungen-page .inia-lu-step--left > .e-con-inner,
	.inia-leistungen-page .inia-lu-step--right > .e-con-inner {
		margin: 0;
		max-width: 100%;
		align-items: flex-start !important;
		text-align: left !important;
	}

	.inia-leistungen-page .inia-lu-step::before {
		left: 0 !important;
		right: auto !important;
		top: 28px;
	}

	.inia-leistungen-page .inia-lu-timeline::before,
	.inia-leistungen-page .inia-lu-timeline > .e-con-inner::before {
		left: 10px;
		transform: none;
	}

	.inia-leistungen-page .inia-lu-step__num .elementor-heading-title {
		font-size: 56px !important;
		line-height: 68px !important;
	}

	/*
	 * Both alternating desktop variants read left-aligned on mobile. Match the
	 * desktop --left/--right specificity (line ~924) or those !important rules win.
	 */
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__num .elementor-heading-title,
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__title .elementor-heading-title,
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__body,
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__body p,
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__num .elementor-widget-container,
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__title .elementor-widget-container,
	.inia-leistungen-page .inia-lu-step--left .inia-lu-step__body .elementor-widget-container,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__num .elementor-heading-title,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__title .elementor-heading-title,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__body,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__body p,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__num .elementor-widget-container,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__title .elementor-widget-container,
	.inia-leistungen-page .inia-lu-step--right .inia-lu-step__body .elementor-widget-container {
		text-align: left !important;
		align-self: flex-start !important;
	}

	.inia-leistungen-page .inia-lu-web-service .inia-lu-service-card {
		height: auto !important;
		min-height: 0 !important;
	}

	.inia-leistungen-page #sea .inia-lu-stats-row > .inia-lu-stat,
	.inia-leistungen-page #sea .inia-lu-stats-row .inia-lu-stat {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 160px !important;
	}

	.inia-leistungen-page .inia-lu-stats-row > .inia-lu-stat,
	.inia-leistungen-page .inia-lu-stats-row > .inia-lu-stat-image,
	.inia-leistungen-page .inia-lu-stat,
	.inia-leistungen-page .inia-lu-stat-image,
	.inia-leistungen-page .inia-lu-stat-image .elementor-widget-container {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.inia-leistungen-page .inia-lu-web-stats .inia-lu-stat {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
		height: auto !important;
		min-height: 160px !important;
	}

	.inia-leistungen-page .inia-lu-grunde-list {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 24px;
	}

	.inia-leistungen-page .inia-lu-grunde-squiggle,
	.inia-leistungen-page .inia-lu-grunde-line,
	.inia-leistungen-page .inia-lu-kalender .inia-kal__kreis {
		display: none;
	}

	.inia-leistungen-page .inia-lu-media--video,
	.inia-leistungen-page .inia-lu-seo-video,
	.inia-leistungen-page .inia-lu-sea-video {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		aspect-ratio: 433 / 749;
	}

	.inia-leistungen-page .inia-lu-banner {
		min-height: 320px;
		height: auto;
		aspect-ratio: 1200 / 450;
	}

	.inia-leistungen-page .inia-lu-cta-blue {
		padding: 48px 24px !important;
		gap: 32px !important;
		height: auto !important;
	}

	.inia-leistungen-page .inia-lu-pill-row {
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		column-gap: 12px !important;
		row-gap: 12px !important;
	}

	.inia-leistungen-page .inia-lu-pill-row > .elementor-element,
	.inia-leistungen-page .inia-lu-pill-row .elementor-widget-button,
	.inia-leistungen-page .inia-lu-pill-row .elementor-button-wrapper,
	.inia-leistungen-page .inia-lu-pill-row .elementor-button {
		width: auto !important;
		max-width: 100% !important;
		flex: 1 1 calc(50% - 12px) !important;
		min-width: 140px;
	}

	.inia-leistungen-page .inia-lu-stat .elementor-heading-title {
		font-size: 48px !important;
		line-height: 64px !important;
	}

	.inia-leistungen-page .inia-lu-reason__title {
		font-size: 24px;
		line-height: 31px;
	}

	.inia-leistungen-page .inia-lu-web-laptop,
	.inia-leistungen-page .inia-lu-web-laptop .elementor-widget-container {
		height: auto;
	}

	.inia-leistungen-page .inia-lu-kalender .inia-kal__embed .calendly-inline-widget {
		min-width: 0 !important;
		width: 100% !important;
		height: 700px !important;
	}
}

@media (max-width: 767px) {
	body.page-leistungsuebersicht.inia-theme,
	body.elementor-page-119.inia-theme {
		background-size: 100% 2000px;
	}

	.inia-leistungen-page,
	.inia-leistungen-page.e-con,
	.inia-leistungen-page.e-flex {
		padding-top: 40px !important;
		padding-bottom: 32px !important;
		--padding-top: 40px !important;
		--padding-bottom: 32px !important;
		--gap: 48px 0 !important;
		gap: 48px 0 !important;
		row-gap: 48px !important;
		column-gap: 0 !important;
	}

	.inia-leistungen-page > .e-con-inner,
	.inia-leistungen-page.e-con > .e-con-inner {
		--gap: 48px 0 !important;
		row-gap: 48px !important;
		gap: 48px 0 !important;
	}

	.inia-leistungen-page .inia-lu-module {
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		padding: 20px !important;
		border-radius: 24px !important;
		row-gap: 24px !important;
		gap: 24px !important;
	}

	.inia-leistungen-page .inia-lu-module > .e-con-inner {
		row-gap: 24px !important;
		gap: 24px !important;
	}

	.inia-leistungen-page .inia-lu-banner,
	.inia-leistungen-page .inia-lu-testi,
	.inia-leistungen-page .inia-lu-grunde,
	.inia-leistungen-page .inia-lu-process,
	.inia-leistungen-page .inia-lu-kalender,
	.inia-leistungen-page .inia-lu-cta-blue {
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
	}

	.inia-leistungen-page .inia-lu-service-card {
		padding: 20px !important;
		border-radius: 20px !important;
	}

	.inia-leistungen-page .inia-lu-hero .elementor-heading-title {
		font-size: 30px !important;
		line-height: 38px !important;
	}

	.inia-leistungen-page .inia-lu-hero-body .elementor-widget-text-editor {
		font-size: 15px !important;
		line-height: 22px !important;
	}

	/* Content-width pills, centered & wrapping — full-width looked odd */
	.inia-leistungen-page .inia-lu-pill-row {
		padding-inline: 16px;
		column-gap: 10px !important;
		row-gap: 10px !important;
	}

	.inia-leistungen-page .inia-lu-pill-row > .elementor-element,
	.inia-leistungen-page .inia-lu-pill-row .elementor-widget-button,
	.inia-leistungen-page .inia-lu-pill-row .elementor-button-wrapper,
	.inia-leistungen-page .inia-lu-pill-row .elementor-button {
		flex: 0 1 auto !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.inia-leistungen-page .inia-lu-pill-row .elementor-button {
		padding: 12px 20px !important;
	}

	.inia-leistungen-page .inia-lu-hero-body {
		width: 100% !important;
		max-width: 100% !important;
		padding-inline: 16px;
	}

	.inia-leistungen-page .inia-lu-grunde-heading {
		padding-inline: 16px;
	}

	.inia-leistungen-page .inia-lu-grunde-heading .elementor-heading-title {
		font-size: 28px !important;
		line-height: 34px !important;
	}

	.inia-leistungen-page .inia-lu-grunde-list {
		padding: 0 16px;
	}

	.inia-leistungen-page .inia-lu-reason__title {
		font-size: 20px;
		line-height: 26px;
	}

	.inia-leistungen-page .inia-lu-testi-quote-row {
		flex-direction: column !important;
		align-items: center !important;
	}

	.inia-leistungen-page .inia-lu-quote-mark {
		display: none;
	}

	.inia-leistungen-page .inia-lu-testi {
		padding-inline: 8px;
		border-radius: 24px;
		overflow: hidden;
	}

	.inia-leistungen-page .inia-lu-kalender .inia-kal__embed .calendly-inline-widget {
		height: 620px !important;
	}

	.inia-leistungen-page .inia-lu-cta-blue {
		padding: 32px 20px !important;
	}

	.inia-leistungen-page .inia-lu-cta-blue .elementor-heading-title {
		font-size: 28px !important;
		line-height: 34px !important;
	}

	/* Consistent section-heading size on phones — process/testimonial/kalender
	   were still inheriting the 40px desktop size, which looked oversized. */
	.inia-leistungen-page .inia-lu-process-heading .elementor-heading-title,
	.inia-leistungen-page .inia-lu-process > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
	.inia-leistungen-page .inia-lu-testi > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
	.inia-leistungen-page .inia-lu-testi .elementor-heading-title,
	.inia-leistungen-page .inia-lu-kalender > .elementor-widget-heading .elementor-heading-title,
	.inia-leistungen-page .inia-lu-kalender > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
	.inia-leistungen-page .inia-lu-kalender .elementor-heading-title {
		font-size: 28px !important;
		line-height: 34px !important;
	}

	.inia-leistungen-page .inia-lu-step__num .elementor-heading-title {
		font-size: 44px !important;
		line-height: 52px !important;
	}

	.inia-leistungen-page .inia-lu-stat .elementor-heading-title {
		font-size: 40px !important;
		line-height: 48px !important;
	}

	.inia-leistungen-page .inia-lu-media--video,
	.inia-leistungen-page .inia-lu-seo-video,
	.inia-leistungen-page .inia-lu-sea-video,
	.inia-leistungen-page .inia-lu-media--tall,
	.inia-leistungen-page .inia-lu-media--tall .elementor-widget-container {
		border-radius: 20px !important;
	}
}

/* Button hovers: use global .inia-btn-primary / .inia-btn-secondary (Figma 0.3s). */

.inia-leistungen-page .inia-lu-media img,
.inia-leistungen-page .inia-lu-stat-image img,
.inia-leistungen-page .inia-lu-web-laptop img {
	transition: transform 0.35s ease;
}

.inia-leistungen-page .inia-lu-media:hover img,
.inia-leistungen-page .inia-lu-stat-image:hover img {
	transform: scale(1.03);
}

.inia-leistungen-page .inia-lu-module,
.inia-leistungen-page .inia-lu-service-card,
.inia-leistungen-page .inia-lu-stat {
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.inia-leistungen-page .inia-lu-stat:hover,
.inia-leistungen-page .inia-lu-service-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 44px rgba(0, 0, 0, 0.22) !important;
}

/* Subtle scroll reveal for process steps */
@keyframes inia-lu-fade-up {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.inia-leistungen-page .inia-lu-step {
		animation: inia-lu-fade-up 0.55s ease both;
	}

	.inia-leistungen-page .inia-lu-step--right:nth-child(1) { animation-delay: 0.05s; }
	.inia-leistungen-page .inia-lu-step--left:nth-child(2) { animation-delay: 0.12s; }
	.inia-leistungen-page .inia-lu-step--right:nth-child(3) { animation-delay: 0.19s; }
	.inia-leistungen-page .inia-lu-step--left:nth-child(4) { animation-delay: 0.26s; }
}
