@font-face {
	font-family: "ZAD FS Untitled";
	src: url("../../fonts/FSUntitledWeb-Regular400.woff") format("woff");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "ZAD FS Untitled";
	src: url("../../fonts/FSUntitledWeb-Regular450.woff2") format("woff2"),
		url("../../fonts/FSUntitledWeb-Regular450.woff") format("woff");
	font-style: normal;
	font-weight: 450;
	font-display: swap;
}

@font-face {
	font-family: "ZAD FS Untitled";
	src: url("../../fonts/FSUntitledWeb-Medium550.woff2") format("woff2"),
		url("../../fonts/FSUntitledWeb-Medium550.woff") format("woff");
	font-style: normal;
	font-weight: 550;
	font-display: swap;
}

@font-face {
	font-family: "ZAD FS Untitled";
	src: url("../../fonts/FSUntitledWeb-Bold750.woff2") format("woff2"),
		url("../../fonts/FSUntitledWeb-Bold750.woff") format("woff");
	font-style: normal;
	font-weight: 750;
	font-display: swap;
}

body.page-template-page-zad-tariff-landing-private #primary,
body.page-template-page-zad-tariff-landing-business #primary {
	margin-top: 90px;
}

.zad-tariff-landing {
	--zad-tariff-blue: #31afd7;
	--zad-tariff-ink: #111;
	--zad-tariff-columns: 3;
	--zad-tariff-gap: 30px;
	--zad-tariff-page-padding: clamp(20px, 3.36vw, 54px);
	color: var(--zad-tariff-ink);
	font-family: "ZAD FS Untitled", sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.38;
	overflow: clip;
}

@media (min-width: 992px) {
	body.page-template-page-zad-tariff-landing-private #primary,
	body.page-template-page-zad-tariff-landing-business #primary {
		margin-top: 110px;
	}
}

.zad-tariff-landing *,
.zad-tariff-landing *::before,
.zad-tariff-landing *::after {
	box-sizing: border-box;
}

.zad-tariff-landing [hidden] {
	display: none !important;
}

.zad-tariff-landing__content {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--zad-tariff-page-padding);
}

.zad-tariff-landing h1,
.zad-tariff-landing h2,
.zad-tariff-landing h3,
.zad-tariff-landing p,
.zad-tariff-landing ul,
.zad-tariff-landing dl,
.zad-tariff-landing dd {
	margin: 0;
	font-family: "ZAD FS Untitled", sans-serif;
	letter-spacing: 0;
}

.zad-tariff-landing p,
.zad-tariff-landing li {
	font-family: "ZAD FS Untitled", sans-serif !important;
	font-size: 28px !important;
	font-weight: 400;
	line-height: 1.38 !important;
}

.zad-tariff-landing__hero {
	position: relative;
	height: clamp(400px, 37.3483vw, 600px);
	min-height: clamp(400px, 37.3483vw, 600px);
	overflow: hidden;
	isolation: isolate;
}

.zad-tariff-landing__hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zad-tariff-landing__hero-image {
	z-index: -1;
	display: block;
	object-fit: cover;
	object-position: center;
}

.zad-tariff-landing__hero-content {
	width: 100%;
	max-width: 1366px;
	height: 100%;
	margin-inline: auto;
	padding: clamp(64px, 7.75vw, 92px) clamp(24px, 5.04vw, 72px) 24px;
}

.zad-tariff-landing__hero h1 {
	max-width: 1000px;
	color: #fff;
	font-size: clamp(56px, 7.47vw, 80px);
	font-weight: 550;
	line-height: 1;
	text-wrap: balance;
}

/* Both tariff heroes use complete phrase fades with a fixed font. */
.zad-tariff-landing .zad-tariff-landing__hero-heading {
	font-weight: 550;
	line-height: 1.1;
	text-wrap: nowrap;
}

.zad-tariff-landing .zad-tariff-landing__hero-heading,
.zad-tariff-landing .zad-tariff-landing__hero-heading span {
	font-family: "ZAD FS Untitled", sans-serif !important;
	font-weight: 550 !important;
}

.zad-tariff-landing__hero-line {
	display: block;
	white-space: nowrap;
}

.zad-tariff-landing__hero-words {
	display: inline-grid;
	vertical-align: baseline;
}

.zad-tariff-landing__hero-word {
	grid-area: 1 / 1;
	opacity: 0;
	font-weight: inherit;
}

.zad-tariff-landing__hero-word:first-child {
	opacity: 1;
}

@media (max-width: 767px) {
	.zad-tariff-landing .zad-tariff-landing__hero-heading {
		/* Keep even "mehr Familienzeit." on one stable line at 320px. */
		font-size: clamp(28px, 8.4vw, 60px);
	}

	.zad-tariff-landing--business .zad-tariff-landing__hero-heading {
		/* Keep the longest phrase clear of the fixed availability tab. */
		font-size: clamp(24px, min(8.4vw, calc(10vw - 8px)), 60px);
	}
}

.zad-tariff-landing__intro {
	padding-block: 64px 68px;
}

.zad-tariff-landing__intro h2,
.zad-tariff-landing__business-services h2 {
	max-width: 1110px;
	color: var(--zad-tariff-blue);
	font-size: clamp(38px, 4.48vw, 48px);
	font-weight: 550;
	line-height: 1;
	text-wrap: balance;
}

.zad-tariff-landing__intro p {
	max-width: 1170px;
	margin-top: 22px;
}

.zad-tariff-landing__tariffs {
	padding-bottom: 184px;
}

.zad-tariff-landing__tariffs > .zad-tariff-landing__content {
	max-width: 1140px;
	padding-inline: 15px;
}

.zad-tariff-landing--business .zad-tariff-landing__tariffs {
	padding-bottom: 116px;
}

.zad-tariff-landing__filters {
	display: flex;
	justify-content: center;
	gap: 64px;
	margin-bottom: 32px;
}

.zad-tariff-landing__filters button {
	min-width: 110px;
	min-height: 51px;
	margin: 0;
	padding: 7px 18px 6px;
	border: 2px solid var(--zad-tariff-blue);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: none;
	color: var(--zad-tariff-blue) !important;
	font-family: "ZAD FS Untitled", sans-serif;
	font-size: 28px;
	font-weight: 550;
	line-height: 1;
	text-transform: none;
}

.zad-tariff-landing__filters button[aria-pressed="true"] {
	background: var(--zad-tariff-blue) !important;
	color: #fff !important;
}

.zad-tariff-landing__filters button:hover,
.zad-tariff-landing__filters button:focus-visible {
	border-color: #007e90;
	outline: 3px solid rgba(49, 175, 215, 0.26);
	outline-offset: 3px;
}

.zad-tariff-landing__grid {
	display: grid;
	grid-template-columns: repeat(var(--zad-tariff-columns), minmax(0, 350px));
	gap: var(--zad-tariff-gap);
	align-items: stretch;
	justify-content: center;
}

.zad-tariff-landing__card {
	--zad-card-color: #31afd7;
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	height: 470px;
	padding: 16px 20px 18px;
	border: 4px solid var(--zad-card-color);
	border-radius: 0;
	background: var(--zad-card-color);
	box-shadow: none;
	color: #fff;
	font-family: "ZAD FS Untitled", sans-serif;
	font-weight: 550;
	overflow: hidden;
	transition: all 0.75s;
}

.zad-tariff-landing__card--fiber-100 { --zad-card-color: #39b9d1; }
.zad-tariff-landing__card--fiber-250 { --zad-card-color: #00a3ba; }
.zad-tariff-landing__card--fiber-500 { --zad-card-color: #0090a4; }
.zad-tariff-landing__card--fiber-1000 { --zad-card-color: #007e90; }
.zad-tariff-landing__card--vdsl-25 { --zad-card-color: #7fb027; }
.zad-tariff-landing__card--vdsl-50 { --zad-card-color: #639d27; }
.zad-tariff-landing__card--vdsl-max { --zad-card-color: #498c24; }
.zad-tariff-landing__card--fiber-business-150 { --zad-card-color: #1c89b4; }
.zad-tariff-landing__card--fiber-business-300 { --zad-card-color: #037ca2; }
.zad-tariff-landing__card--fiber-business-600 { --zad-card-color: #007090; }
.zad-tariff-landing__card--fiber-business-1000 { --zad-card-color: #006480; }
.zad-tariff-landing__card--vdsl-business-25 { --zad-card-color: #588733; }
.zad-tariff-landing__card--vdsl-business-50 { --zad-card-color: #457a2e; }
.zad-tariff-landing__card--vdsl-business-max { --zad-card-color: #326e2a; }

.zad-tariff-landing__card-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	padding: 0;
}

.zad-tariff-landing__card h3 {
	min-height: 0;
	margin: 0;
	color: inherit;
	font-family: "ZAD FS Untitled", sans-serif;
	font-size: 46px;
	font-weight: 550;
	line-height: 1.3;
	hyphens: none;
	overflow-wrap: normal;
}

.zad-tariff-landing--business .zad-tariff-landing__card h3 {
	min-height: 100px;
	line-height: 1.08;
}

.zad-tariff-landing__card-title-line {
	display: block;
	white-space: normal;
	overflow-wrap: anywhere;
}

.zad-tariff-landing--business
	.zad-tariff-landing__card
	h3.zad-tariff-landing__card-title--split {
	font-size: min(46px, 11.8vw);
}

.zad-tariff-landing .zad-tariff-landing__facts {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0;
	min-height: 0;
	margin: 0 0 120px;
}

.zad-tariff-landing--business .zad-tariff-landing__facts {
	margin-bottom: 80px;
}

.zad-tariff-landing__fact {
	display: grid;
	flex: 1;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 20px;
	align-items: end;
	min-width: 0;
}

.zad-tariff-landing__fact:first-child {
	margin-bottom: 10px;
}

.zad-tariff-landing__fact dt {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-width: 0;
	padding-bottom: 6px;
	line-height: 0;
}

.zad-tariff-landing__fact svg {
	width: 35.317px;
	height: 29.178px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.5;
	transition: stroke 0.75s;
}

.zad-tariff-landing__fact:last-child dt {
	padding-bottom: 2px;
}

.zad-tariff-landing__fact:last-child svg {
	width: 32.586px;
	height: 32.586px;
}

.zad-tariff-landing__fact dd {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	gap: 0;
	min-width: 0;
	padding: 0;
	color: inherit;
	font-family: "ZAD FS Untitled", sans-serif;
	font-size: 36px;
	font-weight: 550;
	line-height: 28px;
	white-space: nowrap;
}

.zad-tariff-landing__fact strong {
	color: inherit;
	font-family: "ZAD FS Untitled", sans-serif !important;
	font-size: 36px;
	font-weight: 550;
	line-height: 28px;
}

.zad-tariff-landing__fact dd > span {
	margin-left: 5px;
	font-family: "ZAD FS Untitled", sans-serif;
	font-size: 20px;
	font-weight: 550;
	line-height: 28px;
}

.zad-tariff-landing__fact:last-child dd > span {
	margin-left: 0;
	font-size: 36px;
	line-height: 28px;
}

.zad-tariff-landing__cta {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 28px;
	min-height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 16px;
	background: #fff !important;
	box-shadow: none;
	color: var(--zad-card-color) !important;
	font-family: "ZAD FS Untitled", sans-serif;
	font-size: 18px;
	font-weight: 550;
	line-height: 28px;
	text-transform: none;
	transition: all 0.75s;
}

.zad-tariff-landing__card:hover,
.zad-tariff-landing__card:focus-within {
	background: #fff;
	color: var(--zad-card-color);
}

.zad-tariff-landing__card:hover .zad-tariff-landing__cta,
.zad-tariff-landing__card:focus-within .zad-tariff-landing__cta {
	background: var(--zad-card-color) !important;
	color: #fff !important;
}

.zad-tariff-landing__cta:focus-visible {
	outline: 3px solid var(--zad-card-color);
	outline-offset: 3px;
}

.zad-tariff-landing p.zad-tariff-landing__empty {
	padding-block: 60px;
	text-align: center;
}

.zad-tariff-landing__business-services {
	padding-block: 0 98px;
}

.zad-tariff-landing__business-services p {
	max-width: 1130px;
	margin-top: 22px;
}

.zad-tariff-landing p.zad-tariff-landing__services-label {
	margin-top: 32px;
	font-weight: 550;
}

.zad-tariff-landing__business-services ul {
	margin-top: 8px;
	padding-left: 32px;
}

.zad-tariff-landing__business-services li::marker {
	color: var(--zad-tariff-blue);
}

.zad-tariff-landing__business-benefits {
	padding-bottom: 158px;
}

.zad-tariff-landing__business-benefits > .zad-tariff-landing__content > h2 {
	margin-bottom: 34px;
	color: var(--zad-tariff-blue);
	font-size: 36px;
	font-weight: 550;
	line-height: 1.12;
}

.zad-tariff-landing__benefit-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 43px;
}

.zad-tariff-landing__benefit-grid section {
	min-height: 228px;
	padding: 27px 25px;
	background: var(--zad-tariff-blue);
	color: #fff;
}

.zad-tariff-landing__benefit-grid h3 {
	color: #fff;
	font-size: 27px;
	font-weight: 550;
	line-height: 1.1;
}

.zad-tariff-landing__benefit-grid ul {
	margin-top: 17px;
	padding-left: 0;
	list-style: none;
}

.zad-tariff-landing__benefit-grid li {
	position: relative;
	padding-left: 21px;
	font-size: 18px !important;
	line-height: 1.3 !important;
}

.zad-tariff-landing__benefit-grid li::before {
	position: absolute;
	left: 0;
	content: "→";
}

@media (max-width: 1024px) {
	.zad-tariff-landing {
		--zad-tariff-columns: 2;
	}

	.zad-tariff-landing__hero h1 {
		max-width: 880px;
		font-size: clamp(52px, 7.2vw, 72px);
	}

	.zad-tariff-landing__benefit-grid {
		gap: 24px;
	}
}

@media (max-width: 767px) {
	.zad-tariff-landing {
		--zad-tariff-columns: 1;
		font-size: 21px;
	}

	.zad-tariff-landing__fact:not(:last-child) dd {
		align-items: flex-end;
	}

	.zad-tariff-landing p,
	.zad-tariff-landing li {
		font-size: 21px !important;
		line-height: 1.42 !important;
	}

	.zad-tariff-landing__hero-content {
		padding-top: 58px;
	}

	.zad-tariff-landing__hero h1 {
		font-size: clamp(43px, 11vw, 60px);
	}

	.zad-tariff-landing__intro {
		padding-block: 48px 52px;
	}

	.zad-tariff-landing__intro h2,
	.zad-tariff-landing__business-services h2 {
		font-size: 36px;
		line-height: 1.06;
	}

	.zad-tariff-landing__filters {
		gap: 14px;
		margin-bottom: 24px;
	}

	.zad-tariff-landing__filters button {
		min-width: 0;
		min-height: 46px;
		padding-inline: 28px;
		font-size: 22px;
	}

	.zad-tariff-landing__tariffs,
	.zad-tariff-landing--business .zad-tariff-landing__tariffs {
		padding-bottom: 96px;
	}

	.zad-tariff-landing__business-services {
		padding-bottom: 70px;
	}

	.zad-tariff-landing__business-benefits {
		padding-bottom: 100px;
	}

	.zad-tariff-landing__benefit-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

@media (max-width: 420px) {
	.zad-tariff-landing__hero-content {
		padding-top: 42px;
	}

	.zad-tariff-landing__hero h1 {
		font-size: 42px;
	}

}

@media (max-width: 1199px) {
	.zad-tariff-landing__fact:not(:last-child) dd > span {
		display: inline-block;
		flex: 0 0 20px;
		width: 20px;
		font-size: 16px;
		line-height: 16px;
		white-space: normal;
	}
}

@media (max-width: 359px) {
	.zad-tariff-landing__card {
		padding-inline: clamp(16px, 5.56vw, 20px);
	}

	.zad-tariff-landing__card h3 {
		font-size: clamp(38px, 12.78vw, 46px);
	}

	.zad-tariff-landing__fact dd,
	.zad-tariff-landing__fact strong,
	.zad-tariff-landing__fact:last-child dd > span {
		font-size: clamp(30px, 10vw, 36px);
	}
}

.zad-tariff-landing__cta-mobile { display: none; }

/* Match the compact mobile Home cards on both tariff overviews. */
@media (max-width: 767px) {
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__tariffs > .zad-tariff-landing__content { padding-inline: 15px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		margin-inline: 7px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__filters { justify-content: flex-start; gap: 10px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__filters button {
		min-height: 33px; padding: 3px 10px; font-size: 18px; line-height: 23px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__card {
		height: auto; min-height: 250px; padding: 6px 10px 12px;
		font-family: "fs_untitled-medium", sans-serif; font-weight: 400;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__card h3 {
		font-family: inherit; font-size: 24px; font-weight: 400; line-height: 30px; margin-bottom: 8px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__facts { margin: 10px 0 20px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact {
		flex: 0 0 auto; column-gap: 10px; margin-bottom: 12px; min-height: 28px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact dt { padding-bottom: 0; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact svg { width: 20px; height: 20px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact:last-child svg { width: 18px; height: 18px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact dd,
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact strong,
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact:last-child dd > span {
		font-family: "fs_untitled-medium", sans-serif !important;
		font-size: 18px; font-weight: 400; line-height: 28px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact:not(:last-child) dd { align-items: center; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact:not(:last-child) dd > span {
		flex: 0 0 38px; width: 38px; font-family: inherit; font-size: 10px; line-height: 10px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__cta {
		flex-basis: 20px; height: 20px; min-height: 20px;
		font-family: "fs_untitled-medium", sans-serif; font-size: 14px; font-weight: 400; line-height: 20px;
	}
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__cta-desktop { display: none; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__cta-mobile { display: inline; }
}

/* Preserve two readable columns on especially narrow phones. */
@media (max-width: 359px) {
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__card h3 { font-size: 20px; line-height: 26px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact { column-gap: 6px; }
	.zad-tariff-landing:is(.zad-tariff-landing--private, .zad-tariff-landing--business) .zad-tariff-landing__fact:not(:last-child) dd > span {
		flex-basis: 32px; width: 32px; font-size: 9px;
	}
}

/* Business names retain the Home cards' compact two-line title. */
@media (max-width: 767px) {
	.zad-tariff-landing--business .zad-tariff-landing__card { container-type: inline-size; }
	.zad-tariff-landing--business .zad-tariff-landing__card h3.zad-tariff-landing__card-title--split {
		min-height: 0; font-size: clamp(14px, 13cqw, 24px); line-height: 1.15;
	}
}
