.ev-page {
	--ev-pink: #e147a1;
	--ev-purple: #723da0;
	--ev-grey: #3a3a3a;
	--ev-offwhite: #f7f7f7;
	--ev-beige: #f4f4f4;
	overflow-x: hidden;
	color: var(--ev-grey);
}

.ev-page img {
	max-width: 100%;
}

.ev-container {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

.ev-container--narrow {
	max-width: 1000px;
}

.ev-page h1,
.ev-page h2,
.ev-page h3,
.ev-page p {
	margin: 0;
}

.ev-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 20px;
	border-radius: 7px;
	padding: 13px 24px;
	text-decoration: none;
	border: 3px solid transparent;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

.ev-btn:hover,
.ev-btn:focus,
.ev-btn:active {
	outline: none;
	box-shadow: none;
}

.ev-btn:hover {
	transform: scale(1.03);
}

.ev-btn--purple {
	background: var(--ev-purple);
	border-color: var(--ev-purple);
	color: #fff;
}

.ev-btn--purple:hover {
	color: #fff;
}

.ev-page a.ev-btn,
.ev-page a.ev-btn:visited,
.ev-page a.ev-btn:hover,
.ev-page a.ev-btn:focus,
.ev-page a.ev-btn:active {
	color: #fff;
}

.ev-page a.ev-btn--purple:visited {
	background-color: var(--ev-purple);
	border-color: var(--ev-purple);
}

.ev-page a.ev-btn--pink:visited {
	background-color: var(--ev-pink);
	border-color: var(--ev-pink);
}

.ev-btn--pink {
	background: var(--ev-pink);
	border-color: var(--ev-pink);
	color: #fff;
	font-size: 16px;
	padding: 11px 22px;
}

.ev-btn--pink:hover {
	color: #fff;
}

/* ---------------------------------------------------------------------- */
/* Hero */
/* ---------------------------------------------------------------------- */

.ev-hero {
	background: var(--ev-pink);
	position: relative;
	padding-top: 165px;
	padding-bottom: 0;
}

.ev-hero .ev-container {
	max-width: 1460px;
	padding-left: 80px;
	padding-right: 80px;
}

.ev-hero__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	align-items: flex-start;
	padding-bottom: 90px;
}

.ev-hero__top {
	position: relative;
}

.ev-hero__copy {
	flex: 0 1 660px;
	max-width: 660px;
	min-width: 0;
	position: relative;
}

.ev-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	box-sizing: border-box;
	gap: 8px;
	background: var(--ev-purple);
	color: #fff;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 14px;
	border-radius: 5px;
	padding: 7px 18px;
	margin-bottom: 18px;
}

.ev-pill__star {
	display: block;
}

.ev-pill__dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #fff;
	display: inline-block;
}

.ev-hero__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 80px;
	line-height: 1.08;
	color: #fff;
	margin-bottom: 34px !important;
}

.ev-hero__title-line {
	display: block;
	white-space: nowrap;
}

.ev-hero__title mark {
	background: #fff;
	color: var(--ev-pink);
	padding: 0 6px;
	border-radius: 3px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.ev-hero__subtitle {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.45;
	color: #fff;
	max-width: 560px;
	margin-bottom: 24px !important;
}

.ev-hero__contact {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: var(--ev-offwhite);
	margin-bottom: 12px;
}

.ev-hero__contact a,
.ev-hero__contact a:visited {
	color: var(--ev-offwhite) !important;
	text-decoration: none !important;
	position: relative;
	top: 2px;
}

.ev-hero__contact a:hover,
.ev-hero__contact a:focus,
.ev-hero__contact a:active {
	color: var(--ev-offwhite) !important;
	text-decoration: underline !important;
}

.ev-hero__contact img {
	position: relative;
	top: 2px;
}

.ev-hero__mobile-booking {
	display: none;
}


.ev-booking-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
}

.ev-booking-modal.is-open {
	display: flex;
}

.ev-booking-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(58, 58, 58, 0.6);
	border: 0;
	padding: 0;
	cursor: pointer;
}

.ev-booking-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	margin: auto;
	overflow-y: auto;
	background: #fff;
	border-radius: 20px;
	padding: 28px 20px 24px;
	box-sizing: border-box;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.ev-booking-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: 0;
	border-radius: 50%;
	background: var(--ev-offwhite);
	color: var(--ev-purple);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ev-booking-modal .ev-badge-sofort {
	position: static;
	display: inline-flex;
	align-items: center;
	margin-bottom: 14px;
}

.ev-booking-modal .ev-hero__card {
	box-shadow: none;
	padding: 0;
}

@media (min-width: 768px) {
	.ev-booking-modal {
		display: none !important;
	}

	.ev-booking-modal.is-open {
		display: flex !important;
	}
}

.ev-hero__toilet {
	display: block;
	width: 280px;
	max-width: 280px;
	position: absolute;
	left: 52%;
	bottom: 160px;
	transform: translateX(-50%) rotate(8deg);
	z-index: 0;
	filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.25));
}

.ev-hero__card-wrap {
	flex: 0 1 360px;
	max-width: 360px;
	min-width: 320px;
	position: relative;
	margin-left: auto;
	transform: translateY(48px);
}

.ev-badge-sofort {
	position: absolute;
	top: -18px;
	left: 24px;
	background: var(--ev-purple);
	color: #fff;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 12px;
	border-radius: 5px;
	padding: 7px 13px;
	z-index: 2;
}

.ev-badge-sofort {
	font-family: 'Quicksand', 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;
}

.ev-badge-sofort__bolt {
	font-family: 'Apple Color Emoji' !important;
	font-variant-emoji: emoji;
}

.ev-badge-sofort__bolt::before {
	content: '\26A1\FE0F';
	font-family: 'Apple Color Emoji' !important;
	font-variant-emoji: emoji;
}

.ev-hero__card {
	background: #fff;
	border-radius: 12px;
	padding: 18px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.18);
}

.ev-hero__card-title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-pink);
	margin-bottom: 6px;
}

.ev-hero__card-sub {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--ev-purple);
	margin-bottom: 14px;
}

.ev-field {
	flex: 1;
	margin-bottom: 12px;
}

.ev-field-row {
	display: flex;
	gap: 16px;
}

.ev-field label {
	display: block;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-pink);
	margin-bottom: 8px;
}

.ev-field__control {
	border: 3px solid var(--ev-purple);
	border-radius: 12px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
}

.ev-field__control span {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--ev-purple);
}

.ev-field__chevron {
	width: 12px;
	transform: rotate(90deg);
}

.ev-field__calendar {
	width: 21px;
	height: 21px;
}

.ev-hero__card-cta {
	width: 100%;
	margin-top: 8px;
}

.ev-hero__card .ev-field__control input,
.ev-hero__card .ev-field__control input:focus {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-purple) !important;
}

.ev-hero__card .ev-field label {
	font-size: 14px;
	margin-bottom: 6px;
}

.ev-hero__card .ev-field__control {
	height: 46px;
	padding: 0 16px;
}

.ev-hero__card .ev-field-row > .ev-field {
	flex: 1 1 0;
	min-width: 0;
}

.ev-hero__card .ev-field-row .ev-field__control {
	width: 100%;
}

.ev-hero__card .ev-btn {
	font-size: 17px;
	padding: 11px 18px;
}

.ev-hero__card .ev-field__control input::placeholder {
	color: var(--ev-purple);
	opacity: .65;
}

.ev-hero__card .ev-field--duration .ev-field__control {
	justify-content: flex-start;
}

.ev-hero__card .ev-field--duration input {
	flex: none;
	width: auto;
	min-width: 48px;
	max-width: 100px;
	field-sizing: content;
}

.ev-hero__duration-unit {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-purple);
}

/* Trust bar */

.ev-hero__wave {
	display: block;
	position: relative;
	z-index: 0;
	width: 100%;
	height: 260px;
	background-image: url('../imgs/event-wave-cloud.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 100%;
}

.ev-hero__wave--top {
	width: 100%;
	height: 340px;
	left: 50%;
	margin-top: 56px;
	margin-bottom: -120px;
	transform: translateX(-50%);
}

.ev-hero__wave--bottom {
	margin-top: -180px;
	width: 100%;
	height: 340px;
	left: 50%;
	transform: translateX(-50%) scaleX(-1);
	background-image: url('../imgs/cloudbottom.svg');
}

.ev-trustbar {
	background: #fff;
	position: relative;
	z-index: 1;
	padding: 44px 0 40px;
}

.ev-trustbar__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 32px;
	text-align: center;
}

.ev-trustbar__item {
	flex: 1 1 200px;
	display: grid;
	grid-template-rows: 88px auto;
	row-gap: 14px;
	align-items: center;
}

.ev-trustbar__item p {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--ev-pink);
	line-height: 1.25;
	margin: 0;
}

.ev-trustbar__item > :first-child {
	margin-bottom: 0;
}

.ev-trustbar__item > :last-child {
	align-self: start;
}

.ev-trustbar__num {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 88px;
	font-size: 68px !important;
	line-height: 1;
}

.ev-trustbar__stars {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 88px;
}

.ev-trustbar__stars img {
	width: 42px;
	height: 42px;
}

.ev-trustbar__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 88px;
}

.ev-trustbar__map {
	display: block;
	height: 84px;
	width: auto;
}

.ev-trustbar__stars + p {
	white-space: nowrap;
}

@media (max-width: 991px) {
	.ev-hero .ev-container {
		padding-left: 40px;
		padding-right: 40px;
	}

	.ev-hero {
		padding-top: 165px;
	}

	.ev-hero__title {
		font-size: 44px;
	}

	.ev-hero__title-line {
		white-space: normal;
	}

	.ev-hero__grid {
		flex-direction: column;
	}

	.ev-hero__card-wrap {
		max-width: 100%;
		transform: none;
	}

	.ev-hero__toilet {
		position: static;
		left: auto;
		bottom: auto;
		width: 200px;
		max-width: 200px;
		margin: 24px auto 0;
		transform: rotate(6deg);
	}

	.ev-hero__wave {
		height: 150px;
	}

	.ev-trustbar__item + .ev-trustbar__item {
		border-left: none;
	}
}

@media (max-width: 576px) {
	.ev-container {
		padding: 0 20px;
	}

	.ev-hero .ev-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ev-hero__title {
		font-size: 34px;
	}

	.ev-hero__card {
		padding: 24px;
	}

	.ev-field-row {
		flex-direction: column;
		gap: 0;
	}

	.ev-hero__wave {
		height: 95px;
	}
}

/* ---------------------------------------------------------------------- */
/* Social proof / client logos */
/* ---------------------------------------------------------------------- */

.ev-clients {
	--ev-clients-gap: 72px;
	background: var(--ev-pink);
	position: relative;
	padding: 72px 0 340px;
	text-align: center;
	overflow: hidden;
}

.ev-clients__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ev-clients__icon {
	margin-bottom: var(--ev-clients-gap);
}

.ev-clients .ev-clients__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.2;
	color: #fff;
	max-width: 800px;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.ev-clients__title mark {
	background: #fff;
	color: var(--ev-pink);
	padding: 0 8px;
	border-radius: 4px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.ev-clients__logos {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	padding-top: var(--ev-clients-gap);
	box-sizing: border-box;
	justify-content: center;
	gap: 30px;
}

.ev-clients__logos img {
	flex: 1 1 0;
	width: calc((100% - 120px) / 5);
	max-width: 200px;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
}

.ev-clients__cloud {
	position: absolute;
	bottom: -230px;
	left: 50%;
	width: 100%;
	min-width: 1920px;
	max-width: none;
	height: 440px;
	object-fit: fill;
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 0;
}

@media (max-width: 991px) {
	.ev-clients__title {
		font-size: 32px;
	}

	.ev-clients__logos {
		flex-wrap: wrap;
	}

	.ev-clients__logos img {
		flex: 0 1 220px;
		width: 220px;
		height: auto;
	}
}

@media (max-width: 576px) {
	.ev-clients__logos img {
		flex-basis: 42%;
		width: 42%;
	}
}

/* ---------------------------------------------------------------------- */
/* Shared eyebrow icon + section heading helpers */
/* ---------------------------------------------------------------------- */

.ev-eyebrow-icon {
	display: block;
	margin: 0 auto 72px;
}

/* ---------------------------------------------------------------------- */
/* Product cards */
/* ---------------------------------------------------------------------- */

.ev-products {
	background: #fff;
	position: relative;
	z-index: 1;
	padding: 90px 0;
	text-align: center;
}

.ev-products .ev-eyebrow-icon {
	margin-bottom: 72px;
}

.ev-products .ev-products__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.3;
	color: var(--ev-pink);
	margin-bottom: 72px;
}

.ev-stamp {
	display: inline;
	color: #ffffff !important;
	padding: 0;
	margin: 0;
	background-color: #e147a1;
	border-radius: 0;
	white-space: normal;
	line-height: 1;
}

.ev-hero__title mark,
.ev-clients__title mark {
	border-radius: 0;
	padding: 0;
	line-height: 1;
}

.ev-page .tpWordPink,
.ev-page .tpWordPinkGrey,
.ev-page .tpWordWhite {
	line-height: 1;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ev-products__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 120px;
}

.ev-product {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	width: 100%;
	max-width: 330px;
	margin: 0 auto;
}

.ev-product__img {
	width: 100%;
	max-width: 250px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0 auto;
	display: block;
}

.ev-product__badge {
	background: var(--ev-pink);
	color: #fff;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	border-radius: 7px;
	padding: 6px 14px;
	margin: 0;
}

.ev-products .ev-product__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.25;
	color: var(--ev-pink);
	margin: 0;
	min-height: 2.5em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-wrap: balance;
}

.ev-products .ev-product__desc {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-purple);
	line-height: 1.4;
	margin: 0;
	min-height: 5.6em;
	max-width: 310px;
	text-align: center;
	text-wrap: balance;
}

.ev-product__cta {
	width: 100%;
	font-size: 17px;
	margin-top: 0;
	line-height: 1.25;
}

.ev-products__hint {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-purple);
	display: block;
	width: 100%;
	max-width: none;
	margin: 0 auto 28px;
	line-height: 1.4;
	text-align: center;
}

.ev-products__hint-cta {
	margin-top: 48px;
}

@media (max-width: 991px) {
	.ev-products__grid {
		grid-template-columns: 1fr;
	}

	.ev-products__title {
		font-size: 32px;
	}
}

/* ---------------------------------------------------------------------- */
/* Event categories */
/* ---------------------------------------------------------------------- */

.ev-categories {
	background: #fff;
	position: relative;
	padding: 90px 0 330px;
	text-align: center;
	overflow: hidden;
}

.ev-categories .ev-eyebrow-icon {
	margin-bottom: 72px;
}

.ev-categories .ev-categories__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.3;
	color: var(--ev-pink);
	margin-bottom: 72px;
}

.ev-categories__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: 56px;
	column-gap: 32px;
}

.ev-category img {
	height: 90px;
	width: auto;
	margin-bottom: 20px;
}

.ev-category h3 {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-pink);
	margin-bottom: 10px;
}

.ev-category p {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--ev-purple);
	line-height: 1.4;
	max-width: 300px;
	margin: 0 auto;
}

.ev-categories__cloud {
	position: absolute;
	bottom: -300px;
	left: 50%;
	width: 100vw;
	min-width: 1920px;
	max-width: none;
	height: 522px;
	object-fit: fill;
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 0;
}

.ev-categories .ev-container {
	position: relative;
	z-index: 1;
}

@media (max-width: 991px) {
	.ev-categories__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ev-categories__title {
		font-size: 32px;
	}
}

@media (max-width: 576px) {
	.ev-categories__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------- */
/* Toilet calculator table */
/* ---------------------------------------------------------------------- */

.ev-calc {
	background: #ededed;
	position: relative;
	z-index: 1;
	padding: 80px 0 400px;
	text-align: center;
	overflow: hidden;
}

.ev-calc__palm {
	position: absolute;
	top: -10px;
	left: 0;
	width: 240px;
	transform: rotate(-14deg);
}

.ev-calc__brush,
.ev-calc__leaves,
.ev-calc__cloud {
	position: absolute;
	pointer-events: none;
}

.ev-calc__brush {
	bottom: 110px;
	left: 72px;
	width: 230px;
	filter: brightness(0) invert(1);
	transform: rotate(-20deg);
	z-index: 3;
}

.ev-calc__leaves {
	bottom: -190px;
	right: 20px;
	width: 720px;
	height: 458px;
	mix-blend-mode: multiply;
	z-index: 1;
}

.ev-calc__leaves,
.ev-why__leaves,
.ev-steps__leaves {
	transform-origin: bottom center;
	animation: ev-leaf-sway 6s ease-in-out infinite alternate;
}

@keyframes ev-leaf-sway {
	from { transform: rotate(-2deg) translateY(0); }
	to { transform: rotate(2deg) translateY(-8px); }
}

.ev-calc__leaves-all {
	width: 100%;
	height: auto;
	display: block;
}

.ev-calc__cloud {
	bottom: -185px;
	left: 50%;
	width: 100vw;
	min-width: 1920px;
	max-width: none;
	height: 460px;
	object-fit: fill;
	transform: translateX(-50%);
	z-index: 2;
}

.ev-calc .ev-container {
	position: relative;
	z-index: 2;
}

.ev-calc .ev-calc__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.3;
	color: var(--ev-pink);
	max-width: 900px;
	width: 100%;
	margin: 0 auto 72px;
	text-align: center;
}

.ev-calc__table-wrap {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	max-width: 1100px;
	margin: 0 auto 40px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}

.ev-calc__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

.ev-calc__table th,
.ev-calc__table td {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	padding: 18px 32px;
	text-align: left;
}

.ev-calc__table thead tr {
	background: #fbdcee;
}

.ev-calc__table th {
	color: var(--ev-pink);
	font-size: 16px;
}

.ev-calc__table td {
	color: var(--ev-purple);
	font-size: 20px;
}

@media (min-width: 768px) {
	.ev-calc__table td {
		white-space: nowrap;
	}
}

.ev-calc__row--tint {
	background: #fbdcee;
}

.ev-calc__cta {
	max-width: 560px;
	margin: 0 auto;
}

@media (max-width: 767px) {
	.ev-calc__palm {
		display: none;
	}

	.ev-calc__title {
		font-size: 30px;
	}

	.ev-calc__table-wrap {
		overflow-x: auto;
	}

	.ev-calc__table th,
	.ev-calc__table td {
		padding: 14px 16px;
		font-size: 14px;
	}

	.ev-calc__table td {
		font-size: 16px;
	}
}

/* ---------------------------------------------------------------------- */
/* Comparison: Ohne Klos nix los */
/* ---------------------------------------------------------------------- */

.ev-compare {
	background: #fff;
	padding: 50px 0 70px;
	text-align: center;
}

.ev-compare .ev-eyebrow-icon {
	margin-bottom: 72px;
}

.ev-compare .ev-compare__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	color: var(--ev-pink);
	margin-bottom: 72px;
}

.ev-compare__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	text-align: left;
	max-width: 1200px;
	margin: 0 auto;
}

.ev-compare__col h3 {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 28px;
	color: var(--ev-pink);
	margin-bottom: 20px;
}

.ev-compare__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ev-compare__list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: var(--ev-purple);
	line-height: 1.5;
}

.ev-compare__list li span {
	flex: none;
	font-size: 17px;
}

.ev-compare__list--bad li span {
	color: var(--ev-purple);
}

.ev-compare__list--good li span {
	color: #186a35;
}

@media (max-width: 767px) {
	.ev-compare__title {
		font-size: 32px;
	}

	.ev-compare__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* ---------------------------------------------------------------------- */
/* Warum Wölkchen */
/* ---------------------------------------------------------------------- */

.ev-why {
	background: #fff;
	position: relative;
	padding: 110px 0 500px;
	text-align: center;
	overflow: hidden;
}

.ev-why .ev-container {
	position: relative;
	z-index: 3;
}

.ev-why__leaves,
.ev-why__cloud {
	position: absolute;
	pointer-events: none;
}

.ev-why__leaves {
	bottom: -200px;
	left: 50px;
	width: 340px;
	height: 530px;
	mix-blend-mode: multiply;
	transform: rotate(5deg);
	z-index: 1;
}

.ev-why__cloud {
	bottom: -200px;
	left: 50%;
	width: 100vw;
	min-width: 1920px;
	max-width: none;
	height: 522px;
	object-fit: fill;
	transform: translateX(-50%);
	z-index: 2;
}

.ev-why .ev-eyebrow-icon,
.ev-steps .ev-eyebrow-icon {
	margin-bottom: 96px;
}

.ev-why__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.3;
	color: var(--ev-pink);
	margin-bottom: 72px;
}

.ev-why__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	padding-top: 72px;
}

.ev-why__item img {
	height: 90px;
	width: auto;
	margin-bottom: 20px;
}

.ev-why__icon-badge {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
}

.ev-why__badge-text {
	position: absolute;
	top: 46%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 20px;
}

.ev-why__item h3 {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-pink);
	margin-bottom: 12px;
}

.ev-why__item p {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--ev-purple);
	line-height: 1.4;
	max-width: 300px;
	margin: 0 auto;
}

@media (max-width: 991px) {
	.ev-why__title {
		font-size: 32px;
	}

	.ev-why__grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}
}

/* ---------------------------------------------------------------------- */
/* 4-step process */
/* ---------------------------------------------------------------------- */

.ev-steps {
	background: #ededed;
	position: relative;
	padding: 0 0 420px;
	text-align: center;
	overflow: hidden;
}

.ev-steps .ev-container {
	position: relative;
	z-index: 2;
}

.ev-steps__brush,
.ev-steps__leaves,
.ev-steps__cloud {
	position: absolute;
	pointer-events: none;
}

.ev-steps__brush {
	bottom: 40px;
	left: 90px;
	width: 230px;
	filter: brightness(0) invert(1);
	transform: rotate(-30deg);
	z-index: 3;
}

.ev-steps__leaves {
	bottom: -255px;
	right: 70px;
	width: 720px;
	height: 458px;
	mix-blend-mode: multiply;
	z-index: 1;
}

.ev-steps__leaves img {
	display: block;
	width: 100%;
	height: auto;
}

.ev-steps__cloud {
	bottom: -270px;
	left: 50%;
	width: 100vw;
	min-width: 1920px;
	max-width: none;
	height: 500px;
	object-fit: fill;
	transform: translateX(-50%);
	z-index: 3;
}

.ev-steps__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.3;
	color: var(--ev-pink);
	max-width: none;
	white-space: nowrap;
	margin: 0 auto;
}

.ev-steps__timeline {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: min(908px, 100%);
	margin: 0 auto;
	padding: 72px 0;
	color: var(--ev-pink);
	font-family: 'Quicksand', sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.ev-steps__timeline::before {
	position: absolute;
	top: 85px;
	left: 12.5%;
	right: 12.5%;
	height: 2px;
	background: var(--ev-pink);
	content: '';
}

.ev-steps__timeline-item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.ev-steps__timeline-item i {
	display: block;
	width: 26px;
	height: 26px;
	background: url('../imgs/event-steps-timeline-dot.svg') center / contain no-repeat;
}

.ev-steps__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}

.ev-step img,
.ev-step__check {
	display: block;
	margin: 0 auto 20px;
}

.ev-step img {
	height: 120px;
	width: 120px;
	object-fit: contain;
}

.ev-step__check {
	height: 120px;
	width: 120px;
	border-radius: 50%;
	background: #f7cbe4;
	color: var(--ev-pink);
	font-size: 44px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ev-step h3 {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.3;
	color: var(--ev-pink);
	margin-bottom: 14px;
}

.ev-step p {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--ev-purple);
	line-height: 1.4;
}

@media (max-width: 991px) {
	.ev-steps__title {
		font-size: 32px;
		white-space: normal;
	}

	.ev-steps__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 48px;
	}
}

@media (max-width: 576px) {
	.ev-steps__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------- */
/* Garantien */
/* ---------------------------------------------------------------------- */

.ev-guarantee {
	background: #fff;
	padding: 90px 0 110px;
	text-align: center;
}

.ev-guarantee__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.5;
	color: var(--ev-pink);
	margin-bottom: 0;
}

.ev-guarantee__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px 60px;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 72px;
	text-align: left;
}

.ev-guarantee__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ev-guarantee__list li {
	display: flex;
	gap: 12px;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-purple);
	line-height: 1.5;
}

.ev-guarantee__list li span {
	flex: none;
	color: #186a35;
}

.ev-guarantee__list li strong {
	color: var(--ev-purple);
}

.ev-guarantee__list li p {
	margin: 0;
}

@media (max-width: 767px) {
	.ev-guarantee__title {
		font-size: 30px;
	}

	.ev-guarantee__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------- */
/* Festival photo band */
/* ---------------------------------------------------------------------- */

.ev-photo {
	position: relative;
	overflow: hidden;
}

.ev-photo::before,
.ev-photo::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 90px;
	background: #fff;
	content: '';
	z-index: 1;
}

.ev-photo::before {
	top: 0;
}

.ev-photo::after {
	bottom: 0;
}

.ev-photo .ev-wave {
	position: absolute;
	left: 50%;
	width: 100vw;
	min-width: 2600px;
	max-width: none;
	height: 385px;
	transform: translateX(-50%);
	background: url('../imgs/event-wave-cloud.svg') center / 100% 100% no-repeat;
	z-index: 2;
}

.ev-photo .ev-wave--top {
	top: -125px;
}

.ev-photo .ev-wave--bottom {
	bottom: -125px;
	transform: translateX(-50%) scaleY(-1);
}

.ev-photo__img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

@media (max-width: 767px) {
	.ev-photo__img {
		height: 320px;
	}
}

/* ---------------------------------------------------------------------- */
/* Testimonials */
/* ---------------------------------------------------------------------- */

.ev-testimonials {
	background: #fff;
	padding: 25px 0 90px;
	text-align: center;
}

.ev-testimonials__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	color: var(--ev-pink);
	margin-bottom: 0;
}

.ev-testimonials__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 24px;
	max-width: 1050px;
	margin: 0 auto 64px;
	padding-top: 72px;
}

.ev-testimonial {
	background: rgba(225, 71, 161, 0.08);
	border-radius: 12px;
	padding: 32px;
	text-align: left;
}

.ev-testimonial--center {
	grid-column: 1 / span 2;
	max-width: 500px;
	margin: 0 auto;
}

.ev-testimonial h3 {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 26px;
	color: var(--ev-pink);
	margin-bottom: 10px;
}

.ev-testimonial__stars {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
}

.ev-testimonial__stars img {
	width: 22px;
	height: 22px;
}

.ev-testimonial p {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-pink);
	line-height: 1.5;
	max-width: none;
	width: 100%;
	margin: 0;
	text-wrap: balance;
}

.ev-testimonials__cta {
	max-width: 300px;
	margin: 0 auto;
}

@media (max-width: 767px) {
	.ev-testimonials__title {
		font-size: 32px;
	}

	.ev-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.ev-testimonial--center {
		grid-column: 1;
		max-width: 100%;
	}
}

/* ---------------------------------------------------------------------- */
/* FAQ accordion */
/* ---------------------------------------------------------------------- */

.ev-faq {
	background: #fff;
	padding: 90px 0;
	position: relative;
}

/* Force the browser to fetch + decode both accordion background states up
 * front, so toggling .is-active never has to wait on a fresh image decode
 * (that decode delay is what reads as a white flash on tap). */
.ev-faq::before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
	background-image: url('../imgs/faq.svg'), url('../imgs/faqpink.svg');
}

.ev-faq__eyebrow {
	text-align: center;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	color: var(--ev-pink);
	margin-bottom: 0;
}

.ev-faq__title {
	text-align: center;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--ev-purple);
	max-width: none;
	white-space: nowrap;
	display: block;
	width: 100%;
	margin: 0 auto;
	padding-top: 40px;
	letter-spacing: -0.01em;
	line-height: 1.4;
}

.ev-faq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 48px;
}

.ev-faq__item {
	margin: 0;
}

.ev-faq__q {
	margin: 0;
}

.ev-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0;
	text-align: left;
	border: none;
	cursor: pointer;
	background-color: transparent;
	background-image: url('../imgs/faq.svg') !important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	color: var(--ev-purple);
	border-radius: 0;
	padding: 18px 36px;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 18px;
	transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}

.ev-faq__question:hover,
.ev-faq__question:focus,
.ev-faq__question:focus-visible {
	transform: none;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.ev-faq__q-text {
	flex: 1;
}

.ev-faq__item.is-active .ev-faq__question {
	background-color: transparent !important;
	background-image: url('../imgs/faqpink.svg') !important;
	color: #fff;
}

.ev-faq__panel-wrap {
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows 0.3s ease;
}

.ev-faq__item.is-active .ev-faq__panel-wrap {
	grid-template-rows: 1fr;
}

.ev-faq__panel {
	min-height: 0;
	overflow: hidden;
	padding: 0 36px;
	transition: padding 0.3s ease;
}

.ev-faq__item.is-active .ev-faq__panel {
	padding: 20px 36px 4px;
}

.ev-faq__panel p,
.ev-faq__panel li {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ev-purple);
	line-height: 1.6;
	margin: 0 0 12px;
}

.ev-faq__panel ul {
	margin: 0 0 12px;
	padding-left: 20px;
}

@media (max-width: 767px) {
	.ev-faq__eyebrow {
		font-size: 32px;
	}

	.ev-faq__title {
		font-size: 22px;
		white-space: normal;
	}

	.ev-faq__question {
		font-size: 15px;
		padding: 14px 24px;
	}

	.ev-faq__panel,
	.ev-faq__item.is-active .ev-faq__panel {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* ---------------------------------------------------------------------- */
/* Lead form */
/* ---------------------------------------------------------------------- */

.ev-lead {
	background: #fff;
	padding: 90px 0;
	text-align: center;
}

.ev-lead__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	color: var(--ev-pink);
	margin-bottom: 0;
}

.ev-lead__subtitle {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-purple);
	width: min(1200px, 100%) !important;
	max-width: 1200px !important;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 40px;
	text-align: center !important;
	line-height: 1.4;
}

.ev-lead__subtitle span {
	display: block;
	white-space: nowrap;
}

.ev-lead__stepper {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: min(595px, 100%);
	margin: 0 auto 72px;
	padding-top: 72px;
}

.ev-lead__step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: var(--ev-pink);
	text-transform: none;
}

.ev-lead__step::before,
.ev-lead__step::after {
	position: absolute;
	top: 12px;
	width: calc(50% - 13px);
	height: 2px;
	background: url('../imgs/event-lead-timeline-line.svg') center / 100% 100% no-repeat;
	content: '';
	z-index: -1;
}

.ev-lead__step::before { left: 0; }
.ev-lead__step::after { right: 0; }
.ev-lead__step:first-child::before,
.ev-lead__step:last-child::after { display: none; }

.ev-lead__step img {
	width: 26px;
	height: 26px;
}

.ev-lead__card {
	background: transparent;
	border-radius: 12px;
	max-width: 566px;
	margin: 0 auto 32px;
	padding: 36px;
	text-align: left;
	box-shadow: none;
}

.ev-lead .ev-field__control {
	padding: 0 18px;
}

.ev-lead .ev-field__control input,
.ev-lead .ev-field__control input:focus {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: var(--ev-purple) !important;
}

.ev-lead .ev-field__control input::placeholder {
	color: var(--ev-purple);
	opacity: .65;
}

.ev-lead__duration-unit {
	margin-left: 0;
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: var(--ev-purple);
}

.ev-lead .ev-field--duration .ev-field__control {
	justify-content: flex-start !important;
	gap: 0;
}

.ev-lead .ev-field--duration input {
	flex: none;
	width: auto !important;
	min-width: 55px;
	max-width: 110px;
	field-sizing: content;
	margin: 0;
	padding: 0;
}

.ev-lead__form-wrap {
	width: min(638px, 100%) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: left;
}

.ev-lead__card-title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-pink);
	max-width: none;
	padding-left: 0;
	box-sizing: border-box;
	margin: 0 0 20px 72px;
	text-align: left;
}

.ev-lead__form-wrap .ev-lead__card-title {
	margin: 0 0 20px 72px !important;
}

.ev-lead__cta {
	width: 100%;
	margin-top: 8px;
}

.ev-lead__call {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: var(--ev-purple);
	margin: 0;
}

.ev-lead__call strong {
	color: var(--ev-purple);
}

.ev-lead__call-arrow {
	color: var(--ev-purple);
	font-size: 22px;
	vertical-align: -3px;
}

.ev-lead__call a,
.ev-lead__call a:visited {
	color: var(--ev-purple) !important;
	text-decoration: none !important;
}

.ev-lead__call a:hover,
.ev-lead__call a:focus,
.ev-lead__call a:active {
	color: var(--ev-purple) !important;
	text-decoration: underline !important;
}

.ev-lead__trust {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-pink);
	opacity: 1;
	margin: 0;
	padding-bottom: 24px;
}

@media (max-width: 767px) {
	.ev-lead__title {
		font-size: 32px;
	}

	.ev-lead__stepper {
		gap: 16px;
	}

	.ev-lead__step {
		font-size: 11px;
	}

	.ev-lead__card {
		padding: 24px;
	}

	.ev-lead__card-title {
		margin-left: 24px;
	}

	.ev-lead__form-wrap .ev-lead__card-title {
		margin-left: 24px !important;
	}
}

/* ---------------------------------------------------------------------- */
/* Baustelle cross-sell */
/* ---------------------------------------------------------------------- */

.ev-baustelle {
	background: #fff;
	padding: 90px 0 190px;
	text-align: center;
}


@media (max-width: 767px) {
	.ev-lead__subtitle span {
		white-space: normal;
	}
}

.ev-baustelle__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	color: var(--ev-pink);
	margin-bottom: 0;
}

.ev-baustelle__text {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: var(--ev-purple);
	max-width: none;
	width: min(1050px, 100%);
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 40px;
	text-align: center !important;
	line-height: 1.4;
}

.ev-baustelle__cta {
	min-width: 320px;
	margin: 72px auto 0;
	padding: 18px 30px;
	font-size: 20px;
}

@media (max-width: 767px) {
	.ev-baustelle__title {
		font-size: 32px;
	}
}

/* ---------------------------------------------------------------------- */
/* Closing contact */
/* ---------------------------------------------------------------------- */

.ev-closing {
	background: #fff;
	position: relative;
	padding-top: 90px;
	overflow: hidden;
	text-align: center;
}

.ev-closing__grid {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
	text-align: left;
	margin-bottom: 40px;
}

.ev-closing__title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 68px;
	line-height: 1.25;
	color: var(--ev-pink);
	margin-bottom: 16px;
}

.ev-closing__text {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: var(--ev-purple);
	max-width: 420px;
	margin-bottom: 24px;
}

.ev-closing__tagline {
	display: block;
	width: 220px;
	margin: 0 auto -10px;
	position: relative;
	z-index: 2;
}

.ev-closing__monkey {
	display: block;
	max-width: 380px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.ev-closing__bottom {
	position: relative;
	margin-top: -40px;
}

.ev-closing__bottom-band {
	height: 140px;
	position: relative;
}

.ev-closing__bottom-band--purple {
	background: var(--ev-purple);
}

.ev-closing__bottom-band--pink {
	background: var(--ev-pink);
}

.ev-closing__bottom-band::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 50%;
	width: 1500px;
	max-width: 200%;
	height: 90px;
	transform: translateX(-50%);
	background-image: url('../imgs/event-wave-cloud.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
}

@media (max-width: 767px) {
	.ev-closing__grid {
		flex-direction: column;
		text-align: center;
	}

	.ev-closing__text {
		max-width: 100%;
	}

	.ev-closing__title {
		font-size: 32px;
	}
}

/* ====================================================================== */
/* Responsive consolidation                                                */
/* ====================================================================== */

html:has(.ev-page),
body:has(.ev-page) {
	overflow-x: clip;
}

html:has(body.ev-modal-open) {
	overflow: hidden;
}

body.ev-modal-open {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
	overflow: hidden;
}

.ev-hero__card .ev-hero__duration-unit {
	font-size: 16px;
	line-height: 1;
}

.ev-lead .ev-lead__duration-unit {
	font-size: 18px;
	line-height: 1;
}

@media (max-width: 991px) {
	.ev-container,
	.ev-hero .ev-container {
		max-width: 100%;
		padding-left: 32px;
		padding-right: 32px;
	}

	.ev-hero__grid {
		gap: 32px;
		padding-bottom: 64px;
	}

	.ev-hero__copy {
		flex-basis: 100%;
		width: 100%;
		max-width: 680px;
	}

	.ev-hero__subtitle {
		max-width: 100%;
	}

	.ev-trustbar__inner {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: center;
	}

	.ev-products__grid {
		grid-template-columns: 1fr;
		gap: 64px;
	}

	.ev-product {
		max-width: 420px;
	}

	.ev-categories__grid,
	.ev-why__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ev-why__grid {
		gap: 48px 28px;
	}

	.ev-steps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.ev-container,
	.ev-hero .ev-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ev-btn {
		max-width: 100%;
		font-size: 16px;
		padding: 12px 18px;
	}

	.ev-hero {
		padding-top: 200px;
	}

	.ev-hero__grid {
		display: block;
		padding-bottom: 32px;
	}

	.ev-pill {
		width: 100%;
		flex-wrap: wrap;
		font-size: 12px;
		padding: 7px 10px;
		margin-bottom: 24px;
	}

	.ev-hero__title {
		font-size: clamp(34px, 11vw, 48px);
		line-height: 1.08;
		margin-bottom: 28px !important;
	}

	.ev-hero__title-line {
		white-space: normal;
	}

	.ev-hero__subtitle {
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 24px !important;
	}

	.ev-hero__contact {
		flex-wrap: wrap;
		gap: 8px 10px;
		font-size: 16px;
		margin-bottom: 18px;
	}

	.ev-hero__card-wrap {
		display: none;
	}

	.ev-hero__mobile-booking {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 0;
		border-radius: 6px;
		background: var(--ev-purple);
		color: #fff;
		font-family: 'Quicksand', sans-serif;
		font-size: 16px;
		font-weight: 700;
		padding: 12px 18px;
		cursor: pointer;
		transition: transform 0.25s ease, box-shadow 0.25s ease;
		-webkit-appearance: none;
		appearance: none;
		outline: none;
		-webkit-tap-highlight-color: transparent;
	}

	.ev-hero__mobile-booking:hover,
	.ev-hero__mobile-booking:focus,
	.ev-hero__mobile-booking:active {
		outline: none;
		box-shadow: none;
	}

	.ev-hero__mobile-booking:hover {
		transform: scale(1.03);
	}

	.ev-hero__toilet {
		position: absolute;
		left: 76%;
		bottom: 58px;
		width: 135px;
		max-width: 36vw;
		margin: 0;
		transform: translateX(-50%) rotate(6deg);
	}

	.ev-hero__wave--top {
		height: 150px;
		margin-top: 20px;
		margin-bottom: -58px;
		background-size: auto 100%;
	}

	.ev-trustbar {
		padding: 42px 0 32px;
	}

	.ev-trustbar__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 38px 16px;
	}

	.ev-trustbar__item {
		min-width: 0;
		grid-template-rows: 54px auto;
		row-gap: 8px;
	}

	.ev-trustbar__num,
	.ev-trustbar__stars,
	.ev-trustbar__visual {
		height: 54px;
	}

	.ev-trustbar__num {
		font-size: 38px !important;
	}

	.ev-trustbar__stars {
		gap: 3px;
	}

	.ev-trustbar__stars img {
		width: 22px;
		height: 22px;
	}

	.ev-trustbar__map {
		height: 52px;
	}

	.ev-trustbar__item p {
		font-size: 15px;
	}

	.ev-trustbar__stars + p {
		white-space: normal;
	}

	.ev-hero__wave--bottom {
		height: 150px;
		margin-top: -72px;
	}

	.ev-eyebrow-icon,
	.ev-clients__icon,
	.ev-products .ev-eyebrow-icon,
	.ev-categories .ev-eyebrow-icon,
	.ev-compare .ev-eyebrow-icon,
	.ev-why .ev-eyebrow-icon,
	.ev-steps .ev-eyebrow-icon {
		width: 70px;
		height: auto;
		margin-bottom: 36px;
	}

	.ev-clients {
		--ev-clients-gap: 36px;
		padding: 58px 0 185px;
	}

	.ev-clients .ev-clients__title,
	.ev-products .ev-products__title,
	.ev-categories .ev-categories__title,
	.ev-calc .ev-calc__title,
	.ev-compare .ev-compare__title,
	.ev-why__title,
	.ev-steps__title,
	.ev-guarantee__title,
	.ev-testimonials__title,
	.ev-faq__eyebrow,
	.ev-lead__title,
	.ev-baustelle__title {
		font-size: clamp(30px, 9vw, 38px);
		line-height: 1.25;
		white-space: normal;
	}

	.ev-clients__logos {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		padding-top: 42px;
	}

	.ev-clients__logos img {
		width: 100%;
		max-width: none;
	}

	.ev-clients__cloud,
	.ev-categories__cloud,
	.ev-why__cloud {
		min-width: 760px;
		height: 240px;
		bottom: -125px;
	}

	.ev-products,
	.ev-compare,
	.ev-guarantee,
	.ev-testimonials,
	.ev-faq,
	.ev-lead,
	.ev-baustelle {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.ev-products .ev-products__title,
	.ev-categories .ev-categories__title,
	.ev-compare .ev-compare__title,
	.ev-why__title {
		margin-bottom: 44px;
	}

	.ev-products__grid {
		gap: 58px;
		margin-bottom: 70px;
	}

	.ev-product {
		gap: 20px;
	}

	.ev-product__img {
		max-width: 210px;
	}

	.ev-products .ev-product__title {
		font-size: 24px;
		min-height: 0;
	}

	.ev-products .ev-product__desc {
		font-size: 15px;
		min-height: 0;
	}

	.ev-products__hint {
		font-size: 18px;
	}

	.ev-products__hint-cta {
		margin-top: 32px;
	}

	.ev-categories {
		padding: 64px 0 190px;
	}

	.ev-categories__grid,
	.ev-why__grid,
	.ev-steps__grid,
	.ev-compare__grid,
	.ev-guarantee__grid,
	.ev-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.ev-categories__grid {
		gap: 46px;
	}

	.ev-calc {
		padding: 64px 0 230px;
	}

	.ev-calc .ev-calc__title {
		margin-bottom: 42px;
	}

	.ev-calc__table-wrap {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ev-calc__table {
		min-width: 650px;
	}

	.ev-calc__brush,
	.ev-steps__brush {
		width: 115px;
		left: 18px;
		bottom: 50px;
	}

	.ev-calc__leaves,
	.ev-steps__leaves {
		width: 360px;
		right: -120px;
		bottom: -145px;
	}

	.ev-calc__cloud,
	.ev-steps__cloud {
		min-width: 760px;
		height: 260px;
		bottom: -135px;
	}

	.ev-compare__grid {
		gap: 44px;
	}

	.ev-compare__col h3 {
		font-size: 23px;
	}

	.ev-compare__list li {
		font-size: 15px;
	}

	.ev-why {
		padding: 64px 0 250px;
	}

	.ev-why__grid {
		padding-top: 0;
	}

	.ev-why__leaves {
		left: -80px;
		bottom: -185px;
		width: 250px;
	}

	.ev-steps {
		padding: 64px 0 250px;
	}

	.ev-steps__timeline {
		width: 100%;
		padding: 44px 0;
		font-size: 10px;
	}

	.ev-steps__timeline::before {
		top: 55px;
	}

	.ev-steps__timeline-item i {
		width: 22px;
		height: 22px;
	}

	.ev-steps__grid {
		gap: 48px;
	}

	.ev-guarantee__grid,
	.ev-testimonials__grid {
		padding-top: 42px;
		gap: 28px;
	}

	.ev-photo::before,
	.ev-photo::after {
		height: 42px;
	}

	.ev-photo {
		padding: 40px 0;
		background: #fff;
	}

	.ev-photo .ev-wave {
		min-width: 820px;
		height: 170px;
	}

	.ev-photo .ev-wave--top {
		top: -65px;
	}

	.ev-photo .ev-wave--bottom {
		bottom: -65px;
	}

	.ev-photo__img {
		height: 420px;
		min-height: 420px;
		object-fit: cover;
	}

	.ev-testimonial,
	.ev-testimonial--center {
		grid-column: 1;
		width: 100%;
		max-width: 100%;
		padding: 24px;
	}

	.ev-faq__title {
		width: 100%;
		font-size: 18px;
		white-space: normal;
		padding-top: 28px;
	}

	.ev-faq__list {
		padding-top: 34px;
	}

	.ev-faq__question {
		min-height: 62px;
		padding: 14px 22px;
	}

	.ev-lead__subtitle,
	.ev-baustelle__text {
		width: 100% !important;
		max-width: 100% !important;
		font-size: 18px;
		padding-top: 28px;
	}

	.ev-lead__subtitle span {
		white-space: normal;
	}

	.ev-lead__stepper {
		width: 100%;
		margin-bottom: 44px;
		padding-top: 44px;
	}

	.ev-lead__step {
		font-size: 10px;
	}

	.ev-lead__card,
	.ev-lead__form-wrap {
		width: 100% !important;
		max-width: 100%;
	}

	.ev-lead__card {
		padding: 0;
	}

	.ev-lead__form-wrap .ev-lead__card-title {
		margin-left: 0 !important;
	}

	.ev-field-row {
		flex-direction: column;
		gap: 0;
	}

	.ev-lead__trust {
		font-size: 18px;
	}

	.ev-lead__call {
		font-size: 15px;
		line-height: 1.5;
	}

	.ev-baustelle__cta {
		width: 100%;
		min-width: 0;
		margin-top: 42px;
	}
}

/* Mobile line breaks and decorative layering. */
.ev-mobile-break {
	display: none;
}

@media (max-width: 767px) {
	.ev-mobile-break {
		display: block;
	}

	.ev-desktop-break {
		display: none;
	}

	.ev-page .ev-stamp,
	.ev-page .tpWordPink,
	.ev-page .tpWordPinkGrey,
	.ev-page .tpWordWhite {
		display: inline-block;
		position: relative;
		white-space: nowrap;
	}

	.ev-page .tpWordPink::before,
	.ev-page .tpWordPink::after,
	.ev-page .tpWordPinkGrey::before,
	.ev-page .tpWordPinkGrey::after,
	.ev-page .tpWordWhite::before,
	.ev-page .tpWordWhite::after {
		content: '' !important;
		position: absolute;
		top: 0;
		width: 8px;
		height: 100%;
		background-repeat: no-repeat !important;
		background-size: 100% 100% !important;
		pointer-events: none;
	}

	.ev-page .tpWordPink::before {
		left: -8px;
		background-image: url('/wp-content/uploads/2025/09/w-tp-left-transparent-pink.svg') !important;
	}

	.ev-page .tpWordPink::after {
		right: -8px;
		background-image: url('/wp-content/uploads/2025/09/w-tp-right-transparent-pink.svg') !important;
	}

	.ev-page .tpWordPinkGrey::before {
		left: -8px;
		background-image: url('../imgs/toiletpaper_pink_grey_left.svg') !important;
	}

	.ev-page .tpWordPinkGrey::after {
		right: -8px;
		background-image: url('../imgs/toiletpaper_pink_grey_right.svg') !important;
	}

	.ev-page .tpWordWhite::before {
		left: -8px;
		background-image: url('/wp-content/uploads/2025/09/w-tp-left-transparent-white.svg') !important;
	}

	.ev-page .tpWordWhite::after {
		right: -8px;
		background-image: url('/wp-content/uploads/2025/09/w-tp-right-transparent-white.svg') !important;
	}

	/* Do not vertically squeeze the SVG teeth on short mobile lines. A clipped
	 * paper edge keeps the teeth large and removes the one-pixel inner seam. */
	.ev-page .tpWordPink,
	.ev-page .tpWordPinkGrey,
	.ev-page .tpWordWhite {
		padding-left: 10px !important;
		padding-right: 10px !important;
		clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 10%, calc(100% - 8px) 20%, 100% 30%, calc(100% - 8px) 40%, 100% 50%, calc(100% - 8px) 60%, 100% 70%, calc(100% - 8px) 80%, 100% 90%, calc(100% - 8px) 100%, 8px 100%, 0 90%, 8px 80%, 0 70%, 8px 60%, 0 50%, 8px 40%, 0 30%, 8px 20%, 0 10%);
	}

	.ev-page .tpWordPink::before,
	.ev-page .tpWordPink::after,
	.ev-page .tpWordPinkGrey::before,
	.ev-page .tpWordPinkGrey::after,
	.ev-page .tpWordWhite::before,
	.ev-page .tpWordWhite::after {
		display: none !important;
	}

	body:is(.navOpen, .navClosing) .event-header-logo-tag {
		display: none !important;
	}

	.ev-pill {
		display: none !important;
	}

	.ev-hero__mobile-booking {
		margin-top: 30px;
	}

	.ev-categories .ev-categories__title,
	.ev-compare .ev-compare__title,
	.ev-steps .ev-steps__title,
	.ev-testimonials .ev-testimonials__title {
		font-size: 30px !important;
		line-height: 1.34;
	}

	.ev-why .ev-why__title {
		font-size: 30px !important;
		line-height: 1.34;
		margin-bottom: 68px;
	}

	.ev-testimonials .ev-testimonials__title {
		font-size: 32px !important;
	}

	.ev-testimonials__title .ev-stamp {
		font-size: .93em;
	}

	.ev-guarantee .ev-guarantee__title {
		font-size: 28px !important;
		line-height: 1.45;
	}

	.ev-guarantee__title .ev-stamp {
		font-size: .9em;
	}

	.ev-clients .ev-clients__title {
		font-size: 30px !important;
		line-height: 1.34;
	}

	.ev-products .ev-products__title {
		font-size: 30px !important;
	}

	/* One consistent mobile scale for every major section heading. Long
	 * highlighted words still fit at this size, so none needs to look smaller. */
	.ev-clients .ev-clients__title,
	.ev-products .ev-products__title,
	.ev-categories .ev-categories__title,
	.ev-calc .ev-calc__title,
	.ev-compare .ev-compare__title,
	.ev-why .ev-why__title,
	.ev-steps .ev-steps__title,
	.ev-guarantee .ev-guarantee__title,
	.ev-testimonials .ev-testimonials__title,
	.ev-faq .ev-faq__eyebrow,
	.ev-lead .ev-lead__title,
	.ev-baustelle .ev-baustelle__title {
		font-size: 31px !important;
		line-height: 1.34;
	}

	.ev-page :is(h1, h2, .ev-faq__eyebrow) :is(.tpWordPink, .tpWordPinkGrey, .tpWordWhite) {
		font-size: inherit !important;
	}

	.ev-products::before {
		content: '';
		position: absolute;
		z-index: 4;
		top: -3px;
		left: 0;
		width: 100%;
		height: 6px;
		background: #fff;
	}

	/* The foliage and brush sit behind the closing cloud, not above it. */
	.ev-calc__brush,
	.ev-steps__brush {
		display: none !important;
	}

	.ev-calc__leaves,
	.ev-steps__leaves {
		display: none !important;
	}

	.ev-calc__cloud,
	.ev-steps__cloud {
		z-index: 2;
	}

	.ev-calc .ev-container,
	.ev-steps .ev-container {
		z-index: 3;
	}

	.ev-why__leaves {
		bottom: -235px;
		z-index: 1;
	}

	.ev-why__cloud {
		z-index: 2;
	}

	/* Mobile FAQ: readable cards whose SVG always contains the text. */
	.ev-faq__eyebrow {
		font-size: 34px !important;
		line-height: 1.2;
	}

	.ev-faq__title {
		font-size: 17px !important;
		line-height: 1.45;
		padding-top: 24px;
	}

	.ev-faq__list {
		gap: 12px;
		padding-top: 30px;
	}

	.ev-faq__item {
		margin: 0 !important;
	}

	.ev-faq__question {
		min-height: 74px;
		padding: 17px 30px;
		font-size: 17px;
		line-height: 1.25;
		position: relative;
		background-color: #ededed !important;
		background-image: none !important;
		-webkit-mask: none;
		mask: none;
		clip-path: polygon(1.2% 0, 98.8% 0, 100% 7%, 98.8% 14%, 100% 21%, 98.8% 28%, 100% 35%, 98.8% 42%, 100% 50%, 98.8% 58%, 100% 65%, 98.8% 72%, 100% 79%, 98.8% 86%, 100% 93%, 98.8% 100%, 1.2% 100%, 0 93%, 1.2% 86%, 0 79%, 1.2% 72%, 0 65%, 1.2% 58%, 0 50%, 1.2% 42%, 0 35%, 1.2% 28%, 0 21%, 1.2% 14%, 0 7%);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.ev-faq__question::before {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 0;
		background: url('../imgs/faq.svg') center / 100% 100% no-repeat;
		pointer-events: none;
	}

	.ev-faq__q-text {
		position: relative;
		z-index: 1;
	}

	.ev-faq__item.is-active .ev-faq__question {
		background-color: var(--ev-pink) !important;
		background-image: none !important;
	}

	.ev-faq__item.is-active .ev-faq__question::before {
		background-image: url('../imgs/faqpink.svg');
	}

	.ev-faq__panel,
	.ev-faq__item.is-active .ev-faq__panel {
		padding-left: 30px;
		padding-right: 30px;
	}

	/* Deliberate two-line trust and phone details on narrow screens. */
	.ev-lead__trust span,
	.ev-lead__call > span {
		display: block;
	}

	.ev-lead__trust span + span {
		margin-top: 4px;
	}

	.ev-lead__call > span + span {
		margin-top: 8px;
	}
}

/* Very wide CSS viewports also occur when Chrome is zoomed far out. Scale
 * the landing page in measured steps so its content keeps the intended
 * visual density instead of collapsing into a tiny central column. */
@media (min-width: 2400px) {
	body:has(.ev-page) {
		zoom: 1.25;
	}
}

@media (min-width: 3200px) {
	body:has(.ev-page) {
		zoom: 1.6667;
	}
}

@media (min-width: 4800px) {
	body:has(.ev-page) {
		zoom: 2.5;
	}
}

@media (min-width: 6400px) {
	body:has(.ev-page) {
		zoom: 3.3333;
	}
}


.pOverWrapper {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: 0.5s all ease;
	width: 100%;
	height: 100vh;
	z-index: 10101;
	background: rgba(0, 0, 0, 0.46);
	opacity: 0;
	visibility: hidden;
}

.pOver {
	width: 600px;
	padding: 1.5rem;
	background: #fff;
	color: #E147A1;
	font-size: 1rem;
	font-family: 'Quicksand' !important;
	font-weight: 700 !important;
	hyphens: auto;
	border-radius: 9px;
	box-shadow: 0px 0px 15px 2px rgba(0, 0, 0, 0.6);
}

.pOver span {
	font-size: 2.5rem;
	display: inline-block;
	margin-bottom: 2rem;
}


.pOver h3 {
	margin: 0 0 1rem;
}

.pOver p {
	margin: 0 0 1rem;
	color: #723da0;
}

.pOver p:last-child {
	margin-bottom: 0;
}

.pOver a {
	color: #E147A1;
}

.closePOver i {
	font-size: 3rem;
	cursor: pointer;
	transition: 0.3s all ease;
}

.closePOver i:hover {
	color: #723da0;
}

.pOverShow {
	opacity: 1;
	visibility: visible;
}

@media all and (max-width: 576px) {
	.pOver {
		width: 90%;
	}

	.pOver span {
		font-size: 2.5rem;
	}
}
