/* ==========================================================================
   Hero-Sektion (.hero)
   ========================================================================== */

.hero {
	overflow: hidden !important;
}

.hero .et_pb_image_wrap {
	width: 100% !important;
	display: block !important;
}

.hero .et_pb_image_wrap img {
	width: 100% !important;
	height: 500px !important;
	object-fit: cover !important;
	object-position: center 60% !important;
	display: block !important;
}

@media (max-width: 980px) {
	.hero .et_pb_image_wrap img {
		height: 360px !important;
	}
}

@media (max-width: 600px) {
	.hero .et_pb_image_wrap img {
		height: 240px !important;
	}
}

/* ==========================================================================
   Start-Hero — Typografische Einstiegssektion
   ========================================================================== */

.start-hero.et_pb_section {
	min-height: 60vh;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding-top: var(--space-16) !important;
	padding-bottom: var(--space-16) !important;
}

/* Column als Wrap-Grid: Module stapeln, Buttons nebeneinander */
.start-hero .et_pb_column {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 0 !important;
}

.start-hero-headline,
.start-hero-subline,
.start-hero-text {
	flex: 0 0 100% !important;
	width: 100% !important;
}

.start-hero .et_pb_button_module_wrapper {
	flex: 0 0 auto !important;
	width: auto !important;
	margin-right: var(--space-4) !important;
}

/* Modulabstände entfernen */
.start-hero-headline,
.start-hero-subline,
.start-hero-text {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	box-sizing: border-box;
}

.start-hero-headline .et_pb_heading_container,
.start-hero-subline .et_pb_heading_container {
	padding: 0 !important;
}

.start-hero-text .et_pb_text_inner p:last-child {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Hauptzeile: große Display-Headline */
.start-hero-headline .et_pb_module_header {
	font-family: var(--font-display) !important;
	font-size: clamp(40px, 6vw, 72px) !important;
	font-weight: var(--weight-semibold) !important;
	letter-spacing: var(--tracking-tight) !important;
	color: var(--color-primary) !important;
	line-height: var(--leading-tight) !important;
}

/* Subline: etwas kleiner, leichter */
.start-hero-subline .et_pb_module_header {
	font-family: var(--font-display) !important;
	font-size: clamp(22px, 3vw, 36px) !important;
	font-weight: var(--weight-light) !important;
	letter-spacing: var(--tracking-tight) !important;
	color: var(--color-primary) !important;
	line-height: var(--leading-tight) !important;
}

/* Fließtext: lesbare Breite, dezent */
.start-hero-text.et_pb_text {
	max-width: 640px;
}

.start-hero-text .et_pb_text_inner,
.start-hero-text .et_pb_text_inner p {
	font-size: 18px !important;
	font-weight: var(--weight-light) !important;
	line-height: var(--leading-body) !important;
	color: var(--color-text) !important;
}

@media (max-width: 980px) {
	.start-hero.et_pb_section {
		padding-top: var(--space-12) !important;
		padding-bottom: var(--space-12) !important;
	}
	.start-hero-subline .et_pb_module_header {
		font-size: clamp(32px, 7vw, 48px) !important;
	}
}

@media (max-width: 600px) {
	.start-hero.et_pb_section {
		padding-top: var(--space-8) !important;
		padding-bottom: var(--space-8) !important;
	}
}
