/* acv-tng · Komponenten-Styles (Designrichtung „Klartext“)
   Werte 1:1 aus design/artboards (KlartextStart 1440 px, KlartextMobil 390 px).
   Tokens kommen aus theme.json (--wp--preset--*, --wp--custom--*). */

/* ---------- Basis ---------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
}

/* Ukrainisch: Geologica + Onest statt Bricolage + Instrument Sans
   (beide ohne Kyrillisch) */
html:lang(uk) {
	--wp--preset--font-family--display: var(--wp--preset--font-family--display-uk);
	--wp--preset--font-family--text: var(--wp--preset--font-family--text-uk);
}

/* Gestaltete Bausteine starten wie die Artboards bei 16 px / normal */
.acv-site-header,
.acv-site-footer,
.acv-section {
	font-size: 16px;
	line-height: normal;
}

.acv-section :where(h1, h2, h3, p, ul, ol, figure) {
	margin: 0;
}

.acv-wrap {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: 24px;
}

:where(.acv-site-header, .acv-site-footer, .acv-section) a:focus-visible,
:where(.acv-site-header, .acv-site-footer) summary:focus-visible,
.acv-site-footer button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Akzentquadrat vor Pills, Kickern, Nummern */
.acv-pill::before,
.acv-kicker::before,
.acv-num::before,
.acv-announce__dot {
	content: "";
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--accent);
}

/* Hervorhebung (Format „Hervorheben“, <mark class="acv-hl">) */
mark.acv-hl,
.acv-section h1 mark,
.acv-section h2 mark {
	padding: 0 0.12em;
	border-radius: 0.12em;
	background: var(--wp--preset--color--accent);
	color: inherit;
}

/* Pill (Claim, „Diskret im Hintergrund“) */
.acv-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 34px;
	padding: 4px 14px;
	border-radius: 17px;
	border: 1px solid var(--wp--preset--color--line);
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
}

/* Kicker über Karten */
.acv-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* ---------- Buttons (core/button + Stile) ---------- */

.acv-section .wp-block-buttons,
.acv-section .wp-block-button {
	margin: 0;
}

.wp-block-button .wp-block-button__link,
.acv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: 22px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.acv-btn:hover,
.wp-block-button .wp-block-button__link:hover {
	background: #000;
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-acv-large .wp-block-button__link {
	min-height: 54px;
	padding: 0 28px;
	border-radius: 27px;
	font-size: 16px;
}

.wp-block-button.is-style-acv-light .wp-block-button__link {
	min-height: 56px;
	padding: 0 30px;
	border-radius: 28px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font-size: 16px;
}

.wp-block-button.is-style-acv-outline .wp-block-button__link {
	min-height: 50px;
	padding: 0 24px;
	border-radius: 25px;
	border: 1.5px solid var(--wp--preset--color--ink);
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: 15px;
}

.wp-block-button.is-style-acv-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
}

.wp-block-button.is-style-acv-link .wp-block-button__link {
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-size: 16px;
	text-decoration: underline;
	text-underline-offset: 5px;
	white-space: normal;
}

/* ---------- Header ---------- */

header.acv-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
}

header.acv-site-header:has(.acv-announce) {
	top: -40px;
} /* Ankündigungsleiste (nur Startseite) scrollt weg */

.acv-announce {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px 14px;
	min-height: 40px;
	padding: 8px 24px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-size: 14px;
}

.acv-announce__dot {
	display: inline-block;
}

.acv-announce__link {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

.acv-announce__link:hover {
	color: var(--wp--preset--color--white);
}

.acv-announce__more {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.acv-nav {
	position: relative;
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.acv-nav__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 36px;
}

.acv-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.acv-logo svg {
	display: block;
	flex-shrink: 0;
}

.acv-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 26px;
	flex-grow: 1;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	font-weight: 500;
}

.acv-menu a,
.acv-menu__trigger {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.acv-menu__trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.acv-menu__chevron {
	flex-shrink: 0;
	transition: transform 0.15s ease;
}

.acv-menu__trigger[aria-expanded="true"] .acv-menu__chevron {
	transform: rotate(180deg);
}

.acv-menu__trigger:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Orange Unterstreichung = aktueller Bereich, nicht das geöffnete Menü
   (KlartextNavigation) */
.acv-menu > li > a[aria-current="page"],
.acv-menu__trigger.is-current {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--accent);
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
}

/* Leistungen: Menü über die volle Breite */
.acv-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 2;
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 24px 48px rgba(17, 17, 17, 0.1);
	font-weight: 400;
	text-align: left;
}

.acv-mega[hidden],
.acv-dd[hidden] {
	display: none;
}

.acv-mega__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.acv-mega__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
	gap: 16px;
}

.acv-menu .acv-mega__card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.acv-menu .acv-mega__card:hover {
	border-color: var(--wp--preset--color--ink);
}

.acv-menu .acv-mega__card.is-highlight {
	border: 0;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-mega__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--muted);
}

.acv-mega__kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-dark);
}

.acv-mega__kicker::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--accent);
}

.acv-mega__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.acv-mega__text {
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.is-highlight .acv-mega__text {
	color: var(--wp--preset--color--muted-dark);
}

.acv-mega__more {
	margin-top: auto;
	padding-top: 6px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.acv-mega__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 15px;
}

.acv-mega__foot span {
	color: var(--wp--preset--color--muted);
}

.acv-menu .acv-mega__foot a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* Unternehmen: Dropdown */
.acv-menu__item--dd {
	position: relative;
	display: inline-flex;
}

.acv-dd {
	position: absolute;
	left: -16px;
	top: calc(100% + 22px);
	z-index: 2;
	width: 340px;
	padding: 8px;
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
	box-shadow: 0 24px 48px rgba(17, 17, 17, 0.12);
	font-weight: 400;
	text-align: left;
}

.acv-menu .acv-dd a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border-radius: 12px;
}

.acv-menu .acv-dd a:hover,
.acv-menu .acv-dd a:focus-visible,
.acv-menu .acv-dd a[aria-current="page"] {
	background: var(--wp--preset--color--surface);
}

.acv-dd__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.acv-dd__text {
	font-size: 14px;
	line-height: 1.4;
	color: var(--wp--preset--color--muted);
}

.acv-nav__end {
	display: flex;
	align-items: center;
	gap: 16px;
}

.acv-lang {
	display: inline-flex;
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
}

.acv-lang a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.acv-lang a[aria-current="page"],
.acv-lang a[aria-current="true"] {
	color: var(--wp--preset--color--ink);
	font-weight: 700;
}

/* Menü-Button und mobiles Menü (KlartextMobil, KlartextMobilMenu) */
.acv-burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.acv-burger svg {
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
}

.acv-burger .acv-burger__close {
	display: none;
}

.acv-burger[aria-expanded="true"] .acv-burger__open {
	display: none;
}

.acv-burger[aria-expanded="true"] .acv-burger__close {
	display: block;
}

.acv-mobile {
	position: fixed;
	left: 0;
	right: 0;
	top: var(--acv-mobile-top, 64px);
	bottom: 0;
	z-index: 60;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--wp--preset--color--white);
}

.acv-mobile[hidden] {
	display: none;
}

/* Seite hinter dem offenen Menü nicht mitscrollen */
html.acv-menu-show {
	overflow: hidden;
}

/* Sprungmarken und Fokus (z. B. Formularfehler)
   nicht unter der fixierten Kopfzeile */
html {
	scroll-padding-top: 96px;
}

html.acv-menu-open {
	overflow: hidden;
}

.acv-mmenu {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 8px 20px 0;
	list-style: none;
}

.acv-mmenu > li {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.acv-mmenu__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-height: 63px; /* + 1 px Linie = 64 px wie im Artboard */
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.acv-mmenu__top > span {
	font-family: var(--wp--preset--font-family--text);
	font-size: 24px;
	font-weight: 400;
}

.acv-mmenu__sign::before {
	content: "+";
}

.acv-mmenu__top[aria-expanded="true"] .acv-mmenu__sign::before {
	content: "−";
}

.acv-mmenu__sub {
	display: flex;
	flex-direction: column;
	margin-bottom: 4px;
	padding: 0 0 14px 16px;
	border-left: 3px solid var(--wp--preset--color--accent);
}

.acv-mmenu__sub[hidden] {
	display: none;
}

.acv-mmenu__sub a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 0;
	color: var(--wp--preset--color--ink);
	font-size: 17px;
	font-weight: 500;
	text-decoration: none;
}

.acv-mobile__end {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: auto;
	padding: 28px 20px 32px;
}

.acv-mobile__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-lang--pills {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.acv-lang--pills a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	border-radius: 22px;
	border: 1px solid var(--wp--preset--color--line-strong);
	color: var(--wp--preset--color--ink);
	font-size: 15px;
	font-weight: 600;
}

.acv-lang--pills a[aria-current] {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-weight: 600;
}

.acv-mobile .acv-mobile__cta {
	display: flex;
	height: 54px;
	margin-top: 10px;
	border-radius: 27px;
	font-size: 16px;
}

.acv-mobile__mail {
	align-self: center;
	font-size: 15px;
	color: var(--wp--preset--color--muted);
}

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

.acv-hero__inner {
	padding: 104px 24px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	text-align: center;
}

.acv-hero h1 {
	max-width: 1100px;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(46px, 7vw, 104px);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.acv-hero__lead {
	max-width: 620px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-section .acv-hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px 28px;
}

.acv-hero__mock {
	position: relative;
	width: 100%;
	margin-top: 48px;
	padding: clamp(20px, 4vw, 56px) clamp(20px, 4vw, 56px) 0;
	border-radius: 24px;
	background: var(--wp--preset--color--surface);
}

.acv-mock-compact {
	display: none;
}

/* ---------- Logo-Wand ---------- */

.acv-logos__inner {
	padding: 56px 24px 64px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.acv-logos__label {
	font-size: 14px;
	color: var(--wp--preset--color--muted);
}

.acv-logos__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 16px 48px;
	max-width: 1120px;
}

.acv-logos__list li {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 64px;
}

.acv-logos__list img {
	display: block;
	height: var(--h);
	width: calc(var(--h) * var(--r, 1)); /* Seitenverhältnis der Originale, nicht der optimierten Dateien */
	max-width: 150px;
	object-fit: contain;
}

/* ---------- Sektionen ---------- */

.acv-section .acv-head {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	gap: 24px 56px;
	align-items: end;
}

.acv-section h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(36px, 4.6vw, 68px);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.acv-head > p {
	max-width: 480px;
	font-size: 19px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Drei Felder */
.acv-fields {
	border-top: 1px solid var(--wp--preset--color--line);
}

.acv-fields > .acv-wrap,
.acv-process > .acv-wrap,
.acv-work > .acv-wrap,
.acv-discreet > .acv-wrap {
	padding-block: 112px;
}

.acv-fields > .acv-wrap,
.acv-process > .acv-wrap {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.acv-fields__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); /* Artboard 300 px; 280 hält 3 Spalten bis 1024 px */
	gap: 0 40px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-field {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px 0;
}

.acv-num {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--wp--preset--font-family--display);
	font-size: 18px;
	font-weight: 700;
}

.acv-num::before {
	width: 12px;
	height: 12px;
}

.acv-field h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.acv-field > p:not([class*="acv-"]) {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-field ul {
	padding: 0 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 16px;
	line-height: 1.5;
}

.acv-more {
	margin-top: auto !important;
	padding-top: 8px;
}

.acv-more a {
	font-size: 16px;
	font-weight: 600;
	text-underline-offset: 5px;
}

.acv-more a::after {
	content: "\00a0→" / "";
}

/* So setzen wir um */
.acv-process {
	background: var(--wp--preset--color--surface);
}

.acv-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
	gap: 32px 32px; /* Zeilenabstand nur bei Umbruch (< 1100 px), Desktop einzeilig wie im Artboard */
	counter-reset: acv-step;
}

.acv-steps > li {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 24px;
	border-top: 2px solid var(--wp--preset--color--ink);
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
	counter-increment: acv-step;
}

.acv-steps > li::before {
	content: counter(acv-step, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--display);
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--ink);
}

.acv-steps strong {
	font-size: 20px;
	line-height: normal;
	color: var(--wp--preset--color--ink);
}

.acv-models {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); /* Artboard 320 px; 280 hält 3 Spalten bis 1024 px */
	gap: 16px;
}

.acv-model {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px;
	border-radius: 20px;
	background: var(--wp--preset--color--white);
}

.acv-tag {
	align-self: flex-start;
	padding: 4px 10px;
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
}

.acv-model h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 26px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-model > p:not([class*="acv-"]) {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Was wir gebaut haben */
.acv-work > .acv-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 56px 24px;
	align-items: end;
}

.acv-work__head {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 760px;
}

.acv-work__head > p {
	font-size: 18px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-work__all {
	justify-self: end;
}

.acv-cases,
.acv-tiles {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 40px 32px;
}

.acv-tiles {
	gap: 24px 32px;
}

.acv-case {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--wp--preset--color--ink);
}

.acv-case h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.acv-case h3 a,
.acv-tile h3 a {
	color: inherit;
	text-decoration: none;
}

.acv-case h3 a::after,
.acv-tile h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 20px;
}

.acv-case:has(a:focus-visible),
.acv-tile:has(a:focus-visible) {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
	border-radius: 20px;
}

.acv-case h3 a:focus-visible,
.acv-tile h3 a:focus-visible {
	outline: none;
}

.acv-case > p:not([class*="acv-"]) {
	font-size: 16px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.acv-case__more {
	font-size: 16px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.acv-mock-case {
	position: relative;
	height: clamp(260px, 30vw, 440px);
	border-radius: 20px;
	overflow: hidden;
	background: var(--wp--preset--color--placeholder);
	container-type: inline-size;
	--u: 1cqw;
}

.acv-tile {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	min-height: 200px;
	padding: 32px;
	border-radius: 20px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-tile::after {
	content: "→" / "";
	font-size: 26px;
	font-weight: 600;
}

.acv-tile__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.acv-tile .acv-kicker {
	font-size: 13px;
	color: var(--wp--preset--color--muted-dark);
}

.acv-tile h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

/* Diskret im Hintergrund */
.acv-discreet {
	border-top: 1px solid var(--wp--preset--color--line);
}

.acv-discreet > .acv-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
	gap: 40px 64px;
	align-items: start;
}

.acv-discreet__main {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.acv-discreet__main .acv-pill {
	align-self: flex-start;
}

.acv-discreet h2 {
	font-size: clamp(36px, 4.6vw, 64px);
	text-wrap: balance;
}

.acv-discreet__main > p:not([class*="acv-"]) {
	max-width: 520px;
	font-size: 19px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.acv-points {
	display: flex;
	flex-direction: column;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-point {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.acv-point h3 {
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: normal;
}

.acv-point > p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* CTA-Band (dunkel) */
.acv-cta {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-cta > .acv-wrap {
	padding-block: 128px 112px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	text-align: center;
}

.acv-cta h2 {
	max-width: 1000px;
	font-size: clamp(40px, 6vw, 88px);
	line-height: 0.96;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.acv-cta h2 mark {
	color: var(--wp--preset--color--ink);
}

.acv-cta__lead {
	max-width: 600px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted-dark);
}

.acv-section .acv-cta__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px 28px;
}

.acv-cta__direct {
	font-size: 16px;
	color: var(--wp--preset--color--muted-dark);
}

.acv-cta__direct a {
	color: var(--wp--preset--color--white);
}

/* ---------- Footer ---------- */

.acv-footer {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--muted-dark);
	border-top: 1px solid var(--wp--preset--color--dark-line);
}

.acv-footer__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 64px 24px 40px;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.acv-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
	gap: 32px;
	font-size: 15px;
}

.acv-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 14px;
	color: var(--wp--preset--color--white);
}

.acv-footer__brand svg {
	display: block;
	flex-shrink: 0;
}

.acv-footer__claim {
	font-size: 15px;
	color: var(--wp--preset--color--muted-dark);
}

.acv-footer__col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.acv-footer .acv-footer__title {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
	letter-spacing: normal;
	color: var(--wp--preset--color--white);
}

.acv-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.acv-footer__col a {
	color: var(--wp--preset--color--muted-dark);
	text-decoration: none;
}

.acv-footer__col a:hover,
.acv-footer__legal a:hover {
	color: var(--wp--preset--color--white);
}

.acv-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 24px;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--dark-line);
	font-size: 14px;
}

.acv-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.acv-footer__legal a,
.acv-footer__legal button {
	color: var(--wp--preset--color--muted-dark);
}

.acv-site-footer .acv-lang {
	font-size: inherit;
}

.acv-site-footer .acv-lang a {
	color: var(--wp--preset--color--muted-dark);
}

.acv-site-footer .acv-lang a[aria-current] {
	color: var(--wp--preset--color--white);
}

/* Mock-up Anrufanalyse: Spalte für Sprecher-Namen
   („Клієнтка“ ist breiter als „Kundin“) */
:lang(uk) {
	--acv-mock-label: 54px;
	--acv-mock-label-lg: 58px;
}

/* ---------- Tap-Ziele ----------
   Kleine Textlinks bekommen eine unsichtbar größere Trefferfläche
   (mind. 24 px hoch, WCAG 2.5.8), ohne dass sich das Layout ändert.
   Die Ränder sind höchstens halb so groß wie der Abstand zum Nachbarn. */
.acv-lang:not(.acv-lang--pills) a,
.acv-footer__legal a,
.acv-breadcrumb a,
.acv-toc__list a,
.acv-announce__link,
.acv-mobile__mail,
.wp-block-button.is-style-acv-link .wp-block-button__link {
	position: relative;
}

.acv-lang:not(.acv-lang--pills) a::after,
.acv-footer__legal a::after,
.acv-breadcrumb a::after,
.acv-toc__list a::after,
.acv-announce__link::after,
.acv-mobile__mail::after,
.wp-block-button.is-style-acv-link .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: -10px -4px;
}

.acv-lang:not(.acv-lang--pills) a::after {
	inset: -12px -5px;
}

.acv-footer__legal a::after {
	inset: -4px -9px;
}

.acv-toc__list a::after {
	inset: -5px 0;
}

.acv-announce__link::after {
	inset: -12px -4px;
}

/* ---------- Unterseiten (KlartextLeistung, -Software, -Infra) ---------- */

/* Seiten-Hero mit Brotkrumen */
.acv-phero > .acv-wrap {
	padding-block: 32px 104px;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.acv-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 14px;
	color: var(--wp--preset--color--muted);
}

.acv-breadcrumb a {
	color: var(--wp--preset--color--muted);
}

.acv-breadcrumb [aria-current] {
	color: var(--wp--preset--color--ink);
}

.acv-phero__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(480px, 100%), 1fr));
	gap: 56px;
	align-items: center;
}

.acv-phero__main {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.acv-phero .acv-pill {
	align-self: flex-start;
}

.acv-phero h1 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(44px, 6vw, 88px);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.acv-phero__lead {
	max-width: 520px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-section .acv-phero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
}

.acv-anchors {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 8px;
}

.acv-anchors a {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 14px;
	border-radius: 18px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.acv-anchors a:hover {
	background: var(--wp--preset--color--line);
}

.wp-block-acv-mockup.is-style-hero .acv-mock-case {
	height: clamp(300px, 30vw, 440px);
	border-radius: 24px;
}

.wp-block-acv-mockup.is-style-small .acv-mock-case {
	height: clamp(240px, 26vw, 380px);
}

/* Abschnitt mit Linie oben (Standard), Fläche oder ohne Linie */
.acv-band {
	border-top: 1px solid var(--wp--preset--color--line);
}

.acv-band--surface {
	border-top: 0;
	background: var(--wp--preset--color--surface);
}

.acv-band--plain {
	border-top: 0;
}

.acv-band > .acv-wrap {
	padding-block: 112px;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

/* Leistungskarten (nummeriert) */
.acv-items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 0 40px;
}

.acv-item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px 0 40px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-items--tight .acv-item {
	padding-bottom: 8px;
}

.acv-item .acv-num {
	font-size: 16px;
}

.acv-item .acv-num::before {
	width: 10px;
	height: 10px;
}

.acv-item h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 26px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-item > p:not([class*="acv-"]) {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Zertifikate (Infrastruktur) */
.acv-certs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	padding: 20px 24px;
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
}

.acv-certs__title {
	font-size: 16px;
	font-weight: 600;
}

.acv-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 14px;
	border-radius: 18px;
	background: var(--wp--preset--color--white);
	font-size: 14px;
	font-weight: 500;
}

.acv-badge::before {
	flex-shrink: 0;
	content: "";
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--accent);
}

.acv-certs__person {
	font-size: 15px;
	color: var(--wp--preset--color--muted);
}

/* Schwerpunkt (Shopify, WordPress) mit Kennzahl-/Fakten-Karte */
.acv-feature {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 40px 56px;
	align-items: center;
}

.acv-feature__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.acv-feature__main .acv-pill {
	align-self: flex-start;
}

.acv-feature__main > p:not([class*="acv-"]) {
	max-width: 560px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: clamp(28px, 4vw, 56px);
	border-radius: 24px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-stat--text {
	gap: 14px;
}

.acv-stat__pre {
	font-size: 16px;
	font-weight: 500;
	color: var(--wp--preset--color--muted-dark);
}

.acv-stat__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(96px, 12vw, 168px);
	font-weight: 700;
	line-height: 0.85;
	letter-spacing: -0.05em;
}

.acv-stat__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(36px, 4vw, 56px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
}

.acv-stat__label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 16px;
	font-size: 20px;
	font-weight: 600;
}

.acv-stat--text .acv-stat__label {
	padding-top: 12px;
	font-size: 18px;
}

.acv-stat__label::before {
	content: "";
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	background: var(--wp--preset--color--accent);
}

.acv-stat > p:not([class*="acv-"]) {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted-dark);
}

/* Referenz: Use-Case-Karte und „Womit wir arbeiten“ */
.acv-ref > .acv-wrap {
	padding-block: 104px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 40px;
	align-items: stretch;
}

.acv-usecase {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	min-height: 320px;
	padding: 40px;
	border-radius: 20px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-usecase--split {
	justify-content: space-between;
	gap: 24px;
}

.acv-usecase__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.acv-usecase .acv-kicker {
	color: var(--wp--preset--color--muted-dark);
}

.acv-usecase h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(30px, 3vw, 44px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.035em;
}

.acv-usecase h3 a {
	color: inherit;
	text-decoration: none;
}

.acv-usecase h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 20px;
}

.acv-usecase:has(a:focus-visible) {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 4px;
}

.acv-usecase h3 a:focus-visible {
	outline: none;
}

.acv-usecase p:not([class*="acv-"]) {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted-dark);
}

.acv-usecase__more {
	font-size: 16px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.acv-tech {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px;
	border-radius: 20px;
	background: var(--wp--preset--color--surface);
}

.acv-section .acv-tech h2,
.acv-techgroups__head h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 32px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-section .acv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.acv-chips li {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border-radius: 19px;
	background: var(--wp--preset--color--white);
	font-size: 15px;
	font-weight: 500;
}

/* Referenzen und gruppierte Technik (Software) */
.acv-cases--sm .acv-case {
	gap: 14px;
}

.acv-cases--sm .acv-case h3 {
	font-size: 32px;
	line-height: normal;
}

.acv-techgroups {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: clamp(24px, 3vw, 40px);
	border-radius: 20px;
	background: var(--wp--preset--color--surface);
}

.acv-techgroups__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
}

.acv-techgroups__head > p {
	font-size: 15px;
	color: var(--wp--preset--color--muted);
}

.acv-techgroups__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 28px 32px;
}

.acv-techgroup {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 16px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-techgroup__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.acv-techgroup__title::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--accent);
}

.acv-techgroup .acv-chips li {
	height: 36px;
	padding: 0 14px;
	border-radius: 18px;
}

/* FAQ (core/details, ohne JavaScript) */
.acv-faq > .acv-wrap {
	padding-block: 104px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
	gap: 40px 56px;
}

.acv-section.acv-faq h2 {
	font-size: clamp(36px, 4.2vw, 60px);
}

.acv-faq__list {
	display: flex;
	flex-direction: column;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-faq .wp-block-details {
	padding: 24px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.acv-faq .wp-block-details summary {
	cursor: pointer;
	font-size: 20px;
	font-weight: 600;
}

.acv-faq .wp-block-details summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.acv-faq .wp-block-details > p {
	margin: 14px 0 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* CTA-Band auf Unterseiten */
.acv-cta--page > .acv-wrap {
	padding-block: 120px 104px;
}

.acv-cta--page h2 {
	max-width: 960px;
	font-size: clamp(40px, 5.6vw, 84px);
}

.acv-cta--page .acv-cta__lead {
	max-width: 560px;
}

.acv-cta--page .acv-cta__lead.is-wide {
	max-width: 600px;
}

/* ---------- Referenzen ----------
   KlartextReferenz, -ReferenzCity, -UseCase*, -ReferenzUebersicht */

/* Kopf: Brotkrumen, Pills, H1, Lead, Fakten-Zeile, Mock-up */
.acv-chero > .acv-wrap {
	padding-block: 32px 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.acv-chero__head {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 1000px;
}

.acv-chero--usecase .acv-chero__head {
	max-width: 1040px;
}

.acv-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.acv-pill--dark {
	border-width: 0;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-pill--dark::before {
	content: none;
}

.acv-chero h1 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 7vw, 108px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

.acv-chero--usecase h1 {
	font-size: clamp(48px, 6.6vw, 100px);
	line-height: 0.95;
}

.acv-chero__lead {
	max-width: 760px;
	font-size: clamp(19px, 1.8vw, 23px);
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.acv-chero--usecase .acv-chero__lead {
	font-size: clamp(19px, 1.7vw, 22px);
}

/* Fakten-Zeile (Kunde, Zeitraum, Leistungen …; Bezeichnungen je Fall) */
.acv-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
	gap: 0 32px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-fact {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 0;
}

.acv-fact__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-fact__value {
	font-size: 18px;
	font-weight: 500;
}

/* Mock-up im Kopf: City-Portal mittig auf Fläche, Use Case mit Text daneben */
.acv-chero__media {
	display: flex;
	justify-content: center;
	padding: clamp(20px, 4vw, 56px);
	border-radius: 24px;
	background: var(--wp--preset--color--surface);
}

.acv-chero__media > .wp-block-acv-mockup {
	width: 100%;
	max-width: 820px;
}

.wp-block-acv-mockup.is-style-case .acv-mock-case {
	height: clamp(300px, 40vw, 540px);
}

.acv-ucpanel {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 24px;
	padding: clamp(20px, 4vw, 48px);
	border-radius: 24px;
	background: var(--wp--preset--color--surface);
}

.acv-ucpanel__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 8px 8px 8px 16px;
}

.acv-ucpanel__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(26px, 2.6vw, 36px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.acv-ucpanel__text > p:not([class*="acv-"]) {
	font-size: 17px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

/* Aufgabe, Lösung, Kennzahlen (Fallstudien) */
.acv-story > .acv-wrap {
	padding-block: 112px;
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.acv-story__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 16px 56px;
	padding-top: 24px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-story__block {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-top: 24px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-section.acv-story h2 {
	font-size: clamp(30px, 3.4vw, 48px);
	line-height: 1;
}

.acv-story__row > p,
.acv-story__body > p {
	font-size: 19px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.acv-story__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.acv-section .acv-bullets {
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 18px;
	line-height: 1.5;
}

.acv-bullets > li {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.acv-bullets > li::before {
	content: "";
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	background: var(--wp--preset--color--accent);
}

/* Kennzahlen: Karten auf Fläche (Fallstudie) oder Zeile mit Linie (Use Case) */
.acv-figures {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	gap: 16px;
}

.acv-figure {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 32px;
	border-radius: 20px;
	background: var(--wp--preset--color--surface);
}

.acv-figure__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
}

.acv-figure > p:not(.acv-figure__value) {
	font-size: 17px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.acv-figures--line {
	grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
	gap: 0 32px;
}

.acv-figures--line .acv-figure {
	padding: 24px 0;
	border-radius: 0;
	border-top: 2px solid var(--wp--preset--color--ink);
	background: none;
}

.acv-figures--line .acv-figure__value {
	font-size: clamp(52px, 5.6vw, 84px);
	letter-spacing: -0.05em;
}

.acv-band--figures > .acv-wrap {
	padding-block: 96px;
	display: block;
}

/* Screens mit Bildunterschrift und „Womit wir gebaut haben“ */
.acv-showcase {
	background: var(--wp--preset--color--surface);
}

.acv-showcase > .acv-wrap {
	padding-block: 96px;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.acv-screens {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 20px;
}

.acv-screen {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.acv-screen__caption {
	font-size: 15px;
	color: var(--wp--preset--color--muted);
}

.acv-tech--card {
	gap: 16px;
	padding: 32px;
}

.acv-section .acv-tech--card h2 {
	font-size: 24px;
}

.acv-tech--on-surface {
	background: var(--wp--preset--color--white);
}

.acv-tech--on-surface .acv-chips li {
	background: var(--wp--preset--color--surface);
}

.acv-certs--card {
	background: var(--wp--preset--color--white);
}

.acv-certs--card .acv-badge {
	background: var(--wp--preset--color--surface);
}

/* Use Cases: Ablauf (kleiner), Module mit Tag, Unterschiede */
.acv-steps--sm {
	grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
	gap: 24px;
}

.acv-steps--sm > li {
	padding-top: 22px;
	font-size: 15px;
}

.acv-steps--sm > li::before {
	font-size: 52px;
}

.acv-steps--sm strong {
	font-size: 19px;
}

.acv-band--48 > .acv-wrap {
	gap: 48px;
}

.acv-band--48 > .acv-wrap > h2,
.acv-band--48 .acv-head h2 {
	font-size: clamp(36px, 4.6vw, 64px);
}

.acv-items--wide {
	grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
}

.acv-tag--accent {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
}

.acv-item > .acv-tag {
	padding: 3px 10px;
}

.acv-diffs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: 32px;
}

.acv-diffs > .acv-diff {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 22px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-diff h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: normal;
}

.acv-head--wide > p {
	max-width: 500px;
}

.acv-diff h3::before {
	content: "";
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	background: var(--wp--preset--color--accent);
}

.acv-diff > p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Weitere Referenzen */
.acv-related > .acv-wrap {
	padding-block: 112px;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.acv-related__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
}

.acv-section.acv-related h2 {
	font-size: clamp(36px, 4.6vw, 64px);
}

.acv-cases--related {
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); /* Artboard 340 px; 300 hält 3 Spalten bis 1024 px */
	gap: 24px;
}

.acv-cases--related .acv-case {
	gap: 12px;
}

.acv-cases--related .acv-mock-case {
	height: 240px;
}

.acv-cases--related .acv-kicker {
	font-size: 13px;
}

.acv-cases--related .acv-kicker::before {
	content: none;
}

.acv-cases--related .acv-case h3 {
	font-size: 28px;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-case__claim {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 240px;
	padding: 24px;
	border-radius: 20px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

/* Übersicht: Kopf mit Filter, Karten mit Animation */
.acv-chero--overview > .acv-wrap {
	padding-block: 32px 0;
}

.acv-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 8px;
}

.acv-filter button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 18px;
	border-radius: 22px;
	border: 1.5px solid var(--wp--preset--color--line-strong);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	font: 600 15px var(--wp--preset--font-family--text);
	cursor: pointer;
}

.acv-filter button[aria-pressed="true"] {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-filter button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.acv-filter__count {
	font-weight: 500;
	opacity: 0.6;
}

.acv-cases-sec > .acv-wrap {
	padding-block: 56px 112px;
}

.acv-cases--overview {
	gap: 64px 32px;
}

.acv-cases--overview .acv-case h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.acv-case h2 a {
	color: inherit;
	text-decoration: none;
}

.acv-case h2 a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 20px;
}

.acv-case h2 a:focus-visible {
	outline: none;
}

.acv-case[hidden] {
	display: none;
}

.acv-mock-frame {
	position: relative;
	display: flex;
	justify-content: center;
	height: clamp(260px, 30vw, 440px);
	padding: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px) 0;
	border-radius: 20px;
	overflow: hidden;
	background: var(--wp--preset--color--placeholder);
}

.acv-mock-frame__inner {
	width: 100%;
	max-width: 540px;
}

.acv-logos--plain {
	border-top: 0;
}

/* ---------- Vorgehen, Über uns, Karriere, Kontakt ---------- */

/* Einfacher Seitenkopf: Brotkrumen, Pill, H1, Lead (KlartextVorgehen) */
.acv-shero > .acv-wrap {
	padding-block: 32px 96px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.acv-shero .acv-pill {
	align-self: flex-start;
}

.acv-shero h1 {
	max-width: 1000px;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 7vw, 104px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

.acv-shero__lead {
	max-width: 640px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-band--104 > .acv-wrap {
	padding-block: 104px;
	gap: 48px;
}

.acv-section.acv-band--104 > .acv-wrap > h2,
.acv-section.acv-band--104 .acv-head h2 {
	font-size: clamp(36px, 4.6vw, 64px);
}

/* Vier Schritte mit Ergebnis und Dauer */
.acv-phases {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
	gap: 32px;
	counter-reset: acv-phase;
}

.acv-phase {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 22px;
	border-top: 2px solid var(--wp--preset--color--ink);
	counter-increment: acv-phase;
}

.acv-phase::before {
	content: counter(acv-phase, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--display);
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
}

.acv-phase h3 {
	font-family: inherit;
	font-size: 22px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: normal;
}

.acv-phase > p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.acv-meta__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-meta__value {
	font-size: 15px;
	line-height: 1.5;
}

.acv-phase .acv-meta:first-of-type {
	padding-top: 12px;
	border-top: 1px solid var(--wp--preset--color--line-strong);
}

/* Drei Wege der Zusammenarbeit */
.acv-plans {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
	gap: 24px;
	align-items: start;
	padding: clamp(20px, 3vw, 40px);
	border-radius: 28px;
	background: var(--wp--preset--color--surface);
}

.acv-plan {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 32px;
	border-radius: 24px;
	background: var(--wp--preset--color--white);
}

.acv-plan h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 30px;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-plan h3::before {
	content: "";
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	background: var(--wp--preset--color--accent);
}

.acv-plan > p {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-plan__terms {
	display: flex;
	flex-direction: column;
}

.acv-plan .acv-meta {
	padding: 14px 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.acv-plan .acv-meta__value {
	font-size: 16px;
}

.acv-plan--dark {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-plan--dark > p,
.acv-plan--dark .acv-meta__label {
	color: var(--wp--preset--color--muted-dark);
}

.acv-plan--dark .acv-meta {
	border-top-color: var(--wp--preset--color--dark-line);
}

.acv-faq--104 > .acv-wrap {
	padding-block: 104px;
}

/* Über uns: Kopf zweispaltig */
.acv-ahero > .acv-wrap {
	padding-block: 32px 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.acv-ahero__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 24px 56px;
	align-items: end;
}

.acv-ahero__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.acv-ahero .acv-pill {
	align-self: flex-start;
}

.acv-ahero h1 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 7vw, 104px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.05em;
}

.acv-ahero__lead {
	max-width: 520px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-band--96 > .acv-wrap {
	padding-block: 96px;
}

.acv-figures--about {
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.acv-figures--about .acv-figure__value {
	font-size: clamp(56px, 6vw, 88px);
}

.acv-figures--about .acv-figure > p:not(.acv-figure__value) {
	line-height: normal;
}

/* Wofür wir stehen */
.acv-values {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: 32px;
}

.acv-value {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 24px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-value .acv-num {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--wp--preset--font-family--display);
	font-size: 16px;
	font-weight: 700;
}

.acv-value .acv-num::before {
	width: 10px;
	height: 10px;
}

.acv-value h3 {
	font-size: 32px;
	line-height: normal;
	letter-spacing: -0.035em;
}

.acv-value > p:not(.acv-num) {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Standorte */
.acv-locations {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 24px;
}

.acv-location {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 22px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-location__head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.acv-location h3 {
	font-size: 30px;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-location .acv-tag {
	align-self: center;
	padding: 3px 10px;
}

.acv-location__address {
	font-size: 16px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-location__note {
	font-size: 15px;
	color: var(--wp--preset--color--muted);
}

/* Personenkarte (Geschäftsführung) */
.acv-person > .acv-wrap {
	padding-block: 104px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
	gap: 40px 56px;
	align-items: center;
}

.acv-person .wp-block-image {
	margin: 0;
}

.acv-person .wp-block-image img {
	display: block;
	width: 100%;
	height: clamp(300px, 32vw, 460px);
	border-radius: 24px;
	object-fit: cover;
	object-position: 50% 20%;
}

.acv-person__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.acv-person__role {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-section.acv-person h2 {
	font-size: clamp(36px, 4.2vw, 60px);
}

.acv-person__body > p:not([class*="acv-"]) {
	font-size: 18px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.acv-timeline {
	display: flex;
	flex-direction: column;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-timeline__row {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.acv-timeline__when {
	font-family: var(--wp--preset--font-family--display);
	font-size: 18px;
	font-weight: 700;
}

.acv-timeline__what {
	font-size: 16px;
	line-height: 1.5;
}

.acv-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.acv-badges .acv-badge {
	background: var(--wp--preset--color--surface);
}

.acv-section .acv-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
}

/* Karriere-Teaser */
.acv-jobteaser {
	background: var(--wp--preset--color--surface);
}

.acv-jobteaser > .acv-wrap {
	padding-block: 96px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	gap: 24px 56px;
	align-items: end;
}

.acv-jobteaser__main {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.acv-section.acv-jobteaser h2 {
	font-size: clamp(36px, 4.6vw, 64px);
}

.acv-jobteaser__main > p:not([class*="acv-"]) {
	max-width: 520px;
	font-size: 19px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Karriere: Kopf mit Zahlen-Karte */
.acv-khero > .acv-wrap {
	padding-block: 32px 104px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.acv-khero__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 40px 56px;
	align-items: center;
}

.acv-khero__main {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.acv-khero .acv-pill {
	align-self: flex-start;
}

.acv-khero h1 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 7vw, 104px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

.acv-khero__lead {
	max-width: 560px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-section .acv-khero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
}

.acv-numbers {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: clamp(28px, 4vw, 48px);
	border-radius: 24px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.acv-numbers .acv-kicker {
	padding-bottom: 10px;
	color: var(--wp--preset--color--muted-dark);
}

.acv-numbers__row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 0;
	border-top: 1px solid var(--wp--preset--color--dark-line);
}

.acv-numbers__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
}

.acv-numbers__label {
	font-size: 15px;
	color: var(--wp--preset--color--muted-dark);
}

.acv-band--gap32 > .acv-wrap {
	gap: 32px;
}

/* Offene Stellen */
.acv-jobs {
	display: flex;
	flex-direction: column;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-jobrow {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	gap: 12px 32px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.acv-jobrow:hover .acv-jobrow__title {
	text-decoration: underline;
}

.acv-jobrow__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.acv-jobrow__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
}

.acv-jobrow__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.acv-jobrow__tags > span {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border-radius: 15px;
	background: var(--wp--preset--color--surface);
	font-size: 14px;
	font-weight: 500;
}

.acv-jobrow__more {
	font-size: 16px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* Stellenanzeige (Inhalt der Stelle);
   auf ihrer eigenen Seite mit Brotkrumen darüber */
.acv-jobcrumbs {
	background: var(--wp--preset--color--surface);
}

.acv-jobcrumbs > .acv-wrap {
	padding-top: 32px;
}

.acv-jobcrumbs + * .acv-job > .acv-wrap,
.acv-jobcrumbs + .acv-job > .acv-wrap {
	padding-top: 40px;
}

.acv-job {
	background: var(--wp--preset--color--surface);
}

.acv-job > .acv-wrap {
	padding-block: 104px;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.acv-job__head {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 900px;
}

.acv-job__head .acv-kicker {
	font-size: 13px;
}

.acv-section .acv-job__title {
	font-size: clamp(40px, 5.4vw, 80px);
	line-height: 0.96;
	letter-spacing: -0.045em;
}

.acv-job__head > p:not([class*="acv-"]) {
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-jobfacts {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
	gap: 0 32px;
	border-top: 2px solid var(--wp--preset--color--ink);
	border-bottom: 1px solid var(--wp--preset--color--line-strong);
}

.acv-jobfacts > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 0;
}

.acv-jobfacts dt {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-jobfacts dd {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
}

.acv-joblists {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	gap: 40px;
}

.acv-joblist {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 22px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-joblist h3 {
	font-size: 26px;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-section .acv-bullets--sm {
	font-size: 16px;
	line-height: 1.55;
}

.acv-bullets--sm > li::before {
	width: 8px;
	height: 8px;
}

.acv-apply {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	gap: 32px 56px;
	align-items: start;
	padding: clamp(24px, 3vw, 40px);
	border-radius: 24px;
	background: var(--wp--preset--color--white);
}

.acv-apply__steps {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.acv-apply__steps h3 {
	font-size: 32px;
	line-height: normal;
	letter-spacing: -0.035em;
}

.acv-section .acv-steps-compact {
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	counter-reset: acv-cstep;
}

.acv-steps-compact > li {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	column-gap: 16px;
	row-gap: 4px;
	padding: 18px 0;
	border-top: 1px solid var(--wp--preset--color--line-strong);
	font-size: 16px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
	counter-increment: acv-cstep;
}

.acv-steps-compact > li::before {
	grid-row: span 2;
	content: counter(acv-cstep, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--display);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--ink);
}

.acv-steps-compact strong {
	font-size: 18px;
	line-height: normal;
	color: var(--wp--preset--color--ink);
}

.acv-contactcard {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	border-radius: 20px;
	border: 1px solid var(--wp--preset--color--line);
}

.acv-contactcard .acv-kicker {
	font-size: 13px;
}

.acv-personrow {
	display: flex;
	align-items: center;
	gap: 16px;
}

.acv-personrow .wp-block-image {
	margin: 0;
	flex-shrink: 0;
}

.acv-personrow .wp-block-image img {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 18%;
}

.acv-personrow__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.acv-personrow__name {
	font-size: 18px;
	font-weight: 700;
}

.acv-personrow__role {
	font-size: 15px;
	color: var(--wp--preset--color--muted);
}

.acv-contactcard .wp-block-button,
.acv-contactcard .wp-block-button__link {
	width: 100%;
}

.acv-contactcard__note {
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

/* Kontakt (KlartextKontakt) */
.acv-kontakt > .acv-wrap {
	padding-block: 72px 112px;
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.acv-kontakt__head {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 24px 56px;
	align-items: end;
}

.acv-kontakt__title {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.acv-kontakt .acv-pill {
	align-self: flex-start;
}

.acv-kontakt h1 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 7vw, 104px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.05em;
}

.acv-kontakt__lead {
	max-width: 540px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-kontakt__body {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
	gap: 48px 56px;
	align-items: start;
}

.acv-kontakt__aside {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.acv-kontakt__steps {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.acv-section.acv-kontakt h2 {
	font-size: 36px;
	line-height: normal;
	letter-spacing: -0.035em;
}

.acv-kontakt .acv-steps-compact > li {
	padding: 20px 0;
}

.acv-kontakt .acv-steps-compact > li:first-child {
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-kontakt .acv-steps-compact > li:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line-strong);
}

.acv-kontakt .acv-steps-compact > li::before {
	font-size: 36px;
}

.acv-kontakt .acv-contactcard {
	gap: 16px;
}

.acv-kontakt .acv-contactcard .acv-kicker {
	font-size: 14px;
}

.acv-kontakt .acv-personrow .wp-block-image img {
	width: 64px;
	height: 64px;
}

.acv-contactcard__mail {
	font-size: 17px;
	font-weight: 600;
}

.acv-band--locations > .acv-wrap {
	padding-block: 96px;
	display: block;
}

.acv-locations--sm {
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	gap: 32px;
}

.acv-locations--sm .acv-location {
	gap: 10px;
	padding-top: 20px;
}

.acv-locations--sm .acv-location h3 {
	font-size: 28px;
}

/* Kontaktformular (Plugin acv-contact; Zustände aus KlartextFormular) */
.acv-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: clamp(24px, 3vw, 40px);
	border-radius: 24px;
	background: var(--wp--preset--color--surface);
}

.acv-form[hidden],
.acv-form-success[hidden],
.acv-form [hidden] {
	display: none;
}

.acv-form__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 18px;
}

.acv-formfield {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.acv-formfield > label,
.acv-formfield > legend {
	font-size: 15px;
	font-weight: 600;
}

.acv-formfield__opt {
	font-weight: 400;
	color: var(--wp--preset--color--muted);
}

.acv-formfield input[type="text"],
.acv-formfield input[type="email"],
.acv-formfield input[type="tel"],
.acv-formfield textarea {
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 12px;
	background: var(--wp--preset--color--white);
	font: 400 16px var(--wp--preset--font-family--text);
	color: var(--wp--preset--color--ink);
}

.acv-formfield textarea {
	height: auto;
	padding: 14px 16px;
	line-height: 1.5;
	resize: vertical;
}

.acv-formfield textarea::placeholder {
	color: #757575;
}

.acv-formfield :is(input, textarea):focus-visible,
.acv-choices input:focus-visible,
.acv-consent input:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.acv-formfield [aria-invalid="true"] {
	border: 2px solid var(--wp--preset--color--error);
}

.acv-formfield__error {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 500;
	color: var(--wp--preset--color--error);
}

.acv-formfield__error::before {
	content: "!";
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--wp--preset--color--error);
	color: var(--wp--preset--color--white);
	font-size: 12px;
	font-weight: 700;
}

.acv-formfield--choices {
	margin: 0;
	padding: 0;
	border: none;
	gap: 10px;
}

.acv-formfield--choices > legend {
	padding: 0 0 10px;
}

.acv-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.acv-choices label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 22px;
	border: 1px solid var(--wp--preset--color--line-strong);
	background: var(--wp--preset--color--white);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

.acv-choices input,
.acv-consent input {
	margin: 0;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: var(--wp--preset--color--ink);
}

.acv-formfield--consent {
	gap: 22px;
}

.acv-consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
	cursor: pointer;
}

.acv-consent input {
	margin-top: 3px;
}

.acv-hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.acv-form__submit {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	height: 56px;
	padding: 0 30px;
	border: none;
	border-radius: 28px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font: 600 16px var(--wp--preset--font-family--text);
	cursor: pointer;
}

.acv-form__submit:hover {
	background: #000;
}

.acv-form__submit:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.acv-form.is-busy .acv-form__submit {
	cursor: progress;
	opacity: 0.75;
}

.acv-form.is-busy .acv-form__submit::before {
	content: "";
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-top-color: var(--wp--preset--color--white);
	animation: acv-spin 0.8s linear infinite;
}

.acv-form.is-busy .acv-formfield--choices {
	opacity: 0.6;
}

@keyframes acv-spin {

	to {
		transform: rotate(360deg);
	}
}

.acv-form__note {
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.acv-form__alert,
.acv-form__failed {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px;
	border-left: 4px solid var(--wp--preset--color--error);
	border-radius: 10px;
	background: var(--wp--preset--color--error-bg);
	color: var(--wp--preset--color--ink);
}

.acv-form__alert:focus {
	outline: none;
}

.acv-form__alert b {
	font-size: 16px;
}

.acv-form__alert ul {
	margin: 0;
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 15px;
}

.acv-form__alert a {
	color: var(--wp--preset--color--error);
	font-weight: 600;
}

.acv-form__failed {
	flex-direction: row;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
}

.acv-form__failed::before {
	content: "!";
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--error);
	color: var(--wp--preset--color--white);
	font-size: 13px;
	font-weight: 700;
}

.acv-form__failed a {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}

.acv-form-success {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: clamp(24px, 3vw, 40px);
	border-radius: 24px;
	background: var(--wp--preset--color--surface);
}

.acv-form-success:focus {
	outline: none;
}

.acv-form-success__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--wp--preset--color--ok);
	color: var(--wp--preset--color--white);
}

.acv-form-success h3 {
	font-size: 32px;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.acv-form-success > p {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-form-success__summary {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	border-radius: 14px;
	background: var(--wp--preset--color--white);
	font-size: 15px;
}

.acv-form-success__summary[hidden] {
	display: none;
}

.acv-form-success__label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-form-success__topic {
	color: var(--wp--preset--color--muted);
}

.acv-form-success__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 4px;
}

.acv-btn--md {
	min-height: 52px;
	padding: 0 26px;
	border-radius: 26px;
	font-size: 16px;
}

.acv-btn--outline {
	border: 1.5px solid var(--wp--preset--color--ink);
	background: transparent;
	color: var(--wp--preset--color--ink);
}

.acv-btn--outline:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-acv-outline.acv-btn-lg .wp-block-button__link {
	min-height: 54px;
	padding: 0 28px;
	border-radius: 27px;
	font-size: 16px;
}

/* ---------- Impressum, Datenschutz, 404, Cookie-Dialog ---------- */

.acv-lhero > .acv-wrap {
	padding-block: 32px 56px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.acv-lhero h1 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(48px, 6.6vw, 96px);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: -0.05em;
}

.acv-lhero__lead {
	max-width: 720px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-legal > .acv-wrap {
	padding-block: 0 112px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: 24px 64px;
	align-items: start;
}

.acv-toc {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	border-radius: 20px;
	background: var(--wp--preset--color--surface);
}

.acv-toc__title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-section .acv-toc__list {
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.acv-toc__list li {
	font-size: 15px;
	line-height: 1.4; /* sonst bestimmt die normale Zeilenhöhe der Schrift (Onest bei UK) die Höhe */
}

.acv-toc__list a {
	font-size: 15px;
	line-height: 1.4;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.acv-toc__list a:hover {
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
}

.acv-legal__body {
	grid-column: span 2;
	min-width: 0;
	max-width: 820px;
	display: flex;
	flex-direction: column;
	counter-reset: acv-legal;
}

.acv-legal__sec {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 0 36px;
	border-top: 1px solid var(--wp--preset--color--line);
	counter-increment: acv-legal;
	scroll-margin-top: 96px;
}

.acv-section.acv-legal h2 {
	display: flex;
	gap: 14px;
	align-items: baseline;
	font-size: 26px;
	line-height: normal;
	letter-spacing: -0.03em;
}

.acv-section.acv-legal h2::before {
	content: counter(acv-legal, decimal-leading-zero);
	font-size: 16px;
	color: var(--wp--preset--color--muted);
}

.acv-legal__sec > p {
	font-size: 17px;
	line-height: 1.65;
	color: #3a3a3a;
}

.acv-section .acv-legal__sec > ul {
	padding: 0 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 17px;
	line-height: 1.6;
	color: #3a3a3a;
}

/* 404 (Klartext404) */
.acv-notfound > .acv-wrap {
	padding-block: 96px 120px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.acv-notfound__code {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(120px, 20vw, 280px);
	font-weight: 800;
	line-height: 0.8;
	letter-spacing: -0.06em;
}

.acv-notfound__code span {
	color: var(--wp--preset--color--accent);
}

.acv-notfound h1 {
	max-width: 980px;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(40px, 5.6vw, 84px);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.acv-notfound__lead {
	max-width: 640px;
	font-size: 20px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-notfound__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.acv-btn--lg {
	min-height: 56px;
	padding: 0 30px;
	border-radius: 28px;
	font-size: 16px;
}

.acv-notfound__more {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 40px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

.acv-section.acv-notfound .acv-notfound__more h2 {
	font-family: var(--wp--preset--font-family--text);
	font-size: 13px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.acv-notfound__links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
	gap: 12px;
}

.acv-notfound__links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	min-height: 84px;
	padding: 0 24px;
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--display);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.acv-notfound__links a::after {
	content: "→" / "";
}

.acv-notfound__links a:hover {
	background: var(--wp--preset--color--line);
}

/* Dialog „Cookie-Einstellungen“ (KlartextCookie), natives <dialog> */
.acv-cookie {
	width: min(600px, calc(100% - 40px));
	max-height: calc(100% - 48px);
	margin: auto;
	padding: clamp(24px, 3vw, 36px);
	border: 0;
	border-radius: 24px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 32px 64px rgba(17, 17, 17, 0.25);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--text);
	font-size: 16px;
	line-height: normal;
}

.acv-cookie[open] {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.acv-cookie::backdrop {
	background: rgba(17, 17, 17, 0.55);
}

.acv-cookie :where(h2, p, table) {
	margin: 0;
}

.acv-cookie__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.acv-cookie h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.acv-cookie__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 22px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.acv-cookie__intro {
	font-size: 17px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

.acv-cookie__group {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px;
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
}

.acv-cookie__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.acv-cookie__row b {
	font-size: 17px;
}

.acv-cookie__state {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
}

.acv-cookie__switch {
	position: relative;
	width: 40px;
	height: 24px;
	border-radius: 12px;
	background: var(--wp--preset--color--ink);
	opacity: 0.55;
}

.acv-cookie__switch::after {
	content: "";
	position: absolute;
	right: 3px;
	top: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
}

.acv-cookie table {
	width: 100%;
	border-collapse: collapse;
	background: var(--wp--preset--color--white);
	border-radius: 10px;
	overflow: hidden;
}

.acv-cookie th {
	padding: 10px;
	text-align: left;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
	border-bottom: 1px solid var(--wp--preset--color--line);
	overflow-wrap: anywhere;
}

.acv-cookie td {
	padding: 12px 10px;
	font-size: 15px;
	border-bottom: 1px solid var(--wp--preset--color--line);
	vertical-align: top;
	overflow-wrap: anywhere;
}

.acv-cookie td code {
	font-family: "SF Mono", ui-monospace, monospace;
	font-size: 14px;
}

/* Sehr schmale Geräte (unter dem 390-px-Artboard): lange Badges umbrechen,
   Cookie-Tabelle als beschriftete Zeilen */
@media (max-width: 370px) {

	.acv-badge {
		max-width: 100%;
		height: auto;
		min-height: 36px;
		padding-block: 8px;
		line-height: 1.3;
		hyphens: auto;
	}

	.acv-cookie thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.acv-cookie table,
	.acv-cookie tbody,
	.acv-cookie tr {
		display: block;
	}

	.acv-cookie td {
		display: grid;
		gap: 2px;
		padding: 10px 14px;
		overflow-wrap: normal;
	}

	.acv-cookie h2 {
		min-width: 0;
		font-size: 22px;
		overflow-wrap: break-word;
	}

	.acv-cookie__row {
		flex-wrap: wrap;
	}

	.acv-cookie__switch {
		flex-shrink: 0;
	}

	.acv-cookie td::before {
		content: attr(data-label);
		font-size: 13px;
		font-weight: 600;
		color: var(--wp--preset--color--muted);
	}

	.acv-cookie tr td:last-child {
		border-bottom: 0;
	}
}

.acv-cookie__none {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 0 4px;
}

.acv-cookie__none .acv-cookie__state {
	color: var(--wp--preset--color--muted);
}

.acv-cookie__none p {
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.acv-cookie__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid var(--wp--preset--color--line);
}

.acv-cookie__foot a {
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	text-underline-offset: 5px;
}

.acv-cookie :is(a, button):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* ---------- Zwischenbreiten ---------- */

@media (min-width: 641px) and (max-width: 1100px) {

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

/* ---------- Tablet: Header mit Menü-Button ---------- */

@media (max-width: 960px) {

	.acv-nav__inner {
		flex-wrap: nowrap;
		justify-content: space-between;
		height: 63px; /* + 1 px Rahmen = 64 px wie im Artboard (border-box) */
		padding: 0 8px 0 20px;
	}

	.acv-nav .acv-menu,
	.acv-nav__end {
		display: none;
	}

	.acv-burger {
		display: inline-flex;
	}

	.acv-logo svg {
		width: 76px;
		height: 38px;
	}
}

/* ---------- Mobil (Muster KlartextMobil, 390 px) ---------- */

@media (max-width: 640px) {

	.acv-wrap {
		padding-inline: 20px;
	}

	header.acv-site-header:has(.acv-announce) {
		top: -36px;
	}

	.acv-announce {
		flex-wrap: nowrap;
		gap: 10px;
		min-height: 36px;
		height: 36px;
		padding: 0 16px;
		font-size: 13px;
	}

	.acv-announce__dot {
		width: 7px;
		height: 7px;
	}

	.acv-announce__more {
		display: none;
	}

	.acv-announce__text {
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.acv-announce__text::after {
		content: " →";
	}

	:where(.home) .acv-pill {
		gap: 8px;
		min-height: 30px;
		padding: 4px 12px;
		border-radius: 15px;
		font-size: 13px;
	}

	:where(.home) .acv-pill::before {
		width: 7px;
		height: 7px;
	}

	:where(.home) mark.acv-hl,
	:where(.home) .acv-section h1 mark,
	:where(.home) .acv-section h2 mark {
		padding: 0 0.1em;
		border-radius: 0.1em;
	}

	/* Mobile Unterseiten-Artboards trennen Überschriften automatisch */
	body:not(.home) :is(h1, h2, h3) {
		overflow-wrap: break-word;
		hyphens: auto;
	}

	/* Startseite ohne Trennung (Artboard),
	   aber zu lange Wörter (z. B. UK) dürfen umbrechen */
	.home :is(h1, h2, h3) {
		overflow-wrap: break-word;
	}

	/* Hero */
	.acv-hero__inner {
		padding: 40px 20px 0;
		align-items: stretch;
		gap: 20px;
		text-align: left;
	}

	.acv-hero .acv-pill {
		align-self: flex-start;
	}

	.acv-hero h1 {
		font-size: 44px;
		line-height: 0.98;
		text-wrap: wrap;
	}

	.acv-hero__lead {
		font-size: 17px;
	}

	.acv-section .acv-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.acv-hero__actions .wp-block-button.is-style-acv-large .wp-block-button__link {
		display: flex;
		width: 100%;
	}

	.acv-hero__actions .wp-block-button.is-style-acv-link {
		align-self: center;
	}

	.acv-hero__mock {
		margin-top: 12px;
		padding: 20px 20px 0;
		border-radius: 20px;
	}

	.acv-mock-full {
		display: none;
	}

	.acv-mock-compact {
		display: block;
	}

	/* Logo-Wand */
	.acv-logos__inner {
		padding: 40px 20px;
		gap: 16px;
	}

	.acv-logos__label {
		font-size: 13px;
	}

	.acv-logos__list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
	}

	.acv-logos__list li {
		height: 52px;
	}

	.acv-logos__list img {
		height: var(--hm);
		width: calc(var(--hm) * var(--r, 1));
		max-width: 100%;
	}

	/* Sektionskopf */
	.acv-section .acv-head {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	:where(.home) .acv-section h2 {
		font-size: 36px;
		line-height: 1;
	}

	.acv-head > p {
		max-width: none;
		font-size: 17px;
	}

	/* Drei Felder */
	.acv-fields > .acv-wrap,
	.acv-process > .acv-wrap {
		padding-block: 56px;
		gap: 28px;
	}

	.acv-fields__grid {
		display: flex;
		flex-direction: column;
		gap: 28px;
		border-top: 0;
	}

	.acv-field {
		gap: 12px;
		padding: 20px 0 0;
		border-top: 2px solid var(--wp--preset--color--ink);
	}

	.acv-num {
		gap: 8px;
		font-size: 16px;
	}

	.acv-num::before {
		width: 10px;
		height: 10px;
	}

	.acv-field h3 {
		font-size: 26px;
	}

	.acv-field > p:not([class*="acv-"]) {
		font-size: 16px;
	}

	.acv-field ul {
		display: none;
	}

	.acv-more {
		margin-top: 0 !important;
		padding-top: 0;
	}

	.acv-more a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 48px;
		border-bottom: 1px solid var(--wp--preset--color--line);
		text-decoration: none;
	}

	.acv-more a::after {
		content: "→" / "";
	}

	/* Prozess */
	.acv-steps {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.acv-steps > li {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 4px 12px;
		align-content: start;
		padding: 18px 0;
		border-top: 1px solid var(--wp--preset--color--line-strong);
		font-size: 15px;
		line-height: 1.5;
	}

	.acv-steps > li:first-child {
		border-top: 2px solid var(--wp--preset--color--ink);
	}

	.acv-steps > li:last-child {
		border-bottom: 1px solid var(--wp--preset--color--line-strong);
	}

	.acv-steps > li::before {
		grid-row: 1 / span 2;
		font-size: 34px;
	}

	.acv-steps strong {
		font-size: 18px;
	}

	.acv-models {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.acv-model {
		gap: 6px;
		padding: 20px;
		border-radius: 16px;
	}

	.acv-model h3 {
		font-size: 22px;
	}

	.acv-model > p:not([class*="acv-"]) {
		font-size: 15px;
		line-height: 1.5;
	}

	/* Referenzen */
	.acv-work > .acv-wrap {
		display: flex;
		flex-direction: column;
		gap: 32px;
		padding-block: 56px;
	}

	.acv-work__head > p {
		font-size: 17px;
	}

	.acv-cases,
	.acv-tiles {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}

	.acv-work__all {
		order: 1;
		justify-self: stretch;
	}

	.acv-section .acv-work__all .wp-block-button {
		width: 100%;
	}

	.acv-work__all .wp-block-button__link {
		display: flex;
		width: 100%;
	}

	.acv-work__all .wp-block-button.is-style-acv-outline .wp-block-button__link {
		min-height: 52px;
		border-radius: 26px;
	}

	:where(.home) .acv-case {
		gap: 12px;
	}

	:where(.home) .acv-mock-case {
		height: 220px;
		border-radius: 16px;
	}

	.acv-case .acv-kicker {
		gap: 8px;
		font-size: 12px;
	}

	.acv-case .acv-kicker::before {
		width: 7px;
		height: 7px;
	}

	:where(.home) .acv-case h3 {
		font-size: 28px;
		line-height: normal;
	}

	:where(.home) .acv-case > p:not([class*="acv-"]) {
		font-size: 15px;
	}

	:where(.home) .acv-case__more {
		display: none;
	}

	.acv-tile {
		min-height: 150px;
		padding: 22px;
	}

	.acv-tile .acv-kicker {
		font-size: 12px;
	}

	.acv-tile h3 {
		font-size: 24px;
	}

	/* Diskret */
	.acv-discreet > .acv-wrap {
		display: flex;
		flex-direction: column;
		gap: 20px;
		padding-block: 56px;
	}

	.acv-discreet__main {
		gap: 20px;
	}

	.acv-discreet h2 {
		font-size: 34px;
		text-wrap: wrap;
	}

	.acv-discreet__main > p:not([class*="acv-"]) {
		max-width: none;
		font-size: 16px;
		line-height: 1.55;
	}

	.acv-point {
		gap: 4px;
		padding: 16px 0;
	}

	.acv-point h3 {
		font-size: 17px;
	}

	.acv-point > p {
		font-size: 15px;
		line-height: 1.5;
	}

	/* CTA */
	.acv-cta > .acv-wrap {
		padding-block: 72px 64px;
		align-items: stretch;
		gap: 22px;
		text-align: left;
	}

	.acv-cta h2 {
		font-size: 40px;
		line-height: 0.98;
		text-wrap: wrap;
	}

	.acv-cta__lead {
		font-size: 17px;
	}

	.acv-section .acv-cta__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 22px;
	}

	.acv-section .acv-cta__actions .wp-block-button {
		width: 100%;
	}

	.acv-cta__actions .wp-block-button__link {
		display: flex;
		width: 100%;
	}

	/* Lange Button-Texte (z. B. UK) umbrechen statt über den Rand zu laufen. */
	.wp-block-button .wp-block-button__link,
	.acv-btn {
		max-width: 100%;
		padding-block: 10px;
		line-height: 1.25;
		text-align: center;
		white-space: normal;
	}

	.wp-block-button.is-style-acv-link .wp-block-button__link {
		padding-block: 0;
		line-height: 1;
	}

	/* UK nutzt mobil die Desktop-Texte. Die längsten Wörter
	   („інфраструктура.“, „інфраструктурою?“) passen bei 44/40 px erst
	   ab etwa 390 px Breite, darunter skaliert die Schrift (20 px Rand). */
	:lang(uk) .acv-hero h1 {
		font-size: min(44px, calc((100vw - 40px) / 7.9));
	}

	.home:lang(uk) .acv-cta h2 {
		font-size: min(40px, calc((100vw - 40px) / 9.1));
	}

	.acv-cta__direct {
		font-size: 0;
	}

	.acv-cta__direct a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 48px;
		border-radius: 24px;
		border: 1px solid #3a3a3a;
		font-size: 15px;
		text-decoration: none;
	}


	/* Unterseiten (KlartextMobilLeistung, -Software, -Infra):
	   Desktop-Aufbau mit kleineren Abständen */
	.acv-phero > .acv-wrap {
		padding-block: 24px 56px;
		gap: 32px;
	}

	.acv-phero__grid {
		gap: 32px;
	}

	.acv-section .acv-phero__actions {
		gap: 12px 20px;
	}

	.acv-band > .acv-wrap {
		padding-block: 64px;
		gap: 32px;
	}

	.acv-band .acv-steps {
		gap: 32px;
	}

	.acv-band .acv-steps > li {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 24px 0 0;
		border-top: 2px solid var(--wp--preset--color--ink);
		border-bottom: 0;
		font-size: 16px;
		line-height: 1.55;
	}

	.acv-band .acv-steps > li::before {
		font-size: 44px;
	}

	.acv-band .acv-steps strong {
		font-size: 20px;
	}

	.acv-certs {
		padding: 20px;
	}

	.acv-feature {
		gap: 24px 20px;
	}

	.acv-ref > .acv-wrap {
		padding-block: 56px;
		gap: 24px;
	}

	.acv-usecase,
	.acv-tech {
		padding: 28px;
	}

	.acv-section .acv-tech h2,
	.acv-techgroups__head h3 {
		font-size: 28px;
	}

	.acv-cases--sm {
		gap: 24px 20px;
	}

	.acv-cases--sm .acv-case h3 {
		font-size: 28px;
	}

	.acv-techgroups__head {
		gap: 8px 20px;
	}

	.acv-techgroups__grid {
		gap: 28px 20px;
	}

	.acv-faq > .acv-wrap {
		padding-block: 56px;
		gap: 24px 20px;
	}

	.acv-cta--page > .acv-wrap {
		padding-block: 72px 56px;
		align-items: center;
		gap: 28px;
		text-align: center;
	}

	.acv-cta--page h2 {
		font-size: 40px;
		line-height: 0.96;
		text-wrap: balance;
	}

	.acv-cta--page .acv-cta__lead {
		font-size: 20px;
	}

	/* Referenzen (KlartextMobilReferenz, -ReferenzCity, -UseCase*,
	   -ReferenzUebersicht) */
	.acv-chero > .acv-wrap {
		padding-block: 24px 0;
		gap: 24px;
	}

	.acv-story > .acv-wrap {
		padding-block: 64px;
		gap: 40px;
	}

	.acv-story__row {
		gap: 16px 20px;
	}

	.acv-figure,
	.acv-tech--card {
		padding: 24px;
	}

	.acv-section .acv-tech--card h2 {
		font-size: 24px;
	}

	.acv-figures--line .acv-figure {
		padding: 24px 0;
	}

	.acv-band--figures > .acv-wrap {
		padding-block: 56px;
	}

	.acv-showcase > .acv-wrap {
		padding-block: 56px;
		gap: 32px;
	}

	.acv-band--48 > .acv-wrap {
		gap: 28px;
	}

	.acv-band .acv-steps--sm {
		gap: 24px;
	}

	.acv-band .acv-steps--sm > li {
		padding-top: 22px;
		font-size: 15px;
	}

	.acv-band .acv-steps--sm > li::before {
		font-size: 41px;
	}

	.acv-band .acv-steps--sm strong {
		font-size: 19px;
	}

	.acv-section .acv-head--wide {
		gap: 24px;
	}

	/* Musikliste im Mock-up: schmalere Spalten wie in KlartextMobilUseCaseMusik
	   (Inline-Stile, daher !important) */
	.acv-mock-musik [style*="grid-template-columns: 112px"] {
		grid-template-columns: 70px minmax(0, 1fr) 84px !important;
	}

	.acv-head--wide > p {
		max-width: 500px;
		font-size: 19px;
	}

	.acv-certs--card {
		padding: 20px;
	}

	.acv-related > .acv-wrap {
		padding-block: 64px;
		gap: 28px;
	}

	.acv-related .wp-block-button.is-style-acv-outline .wp-block-button__link {
		padding: 0 20px;
	}

	.acv-cases--related {
		gap: 24px;
	}

	.acv-cases--related .acv-kicker {
		font-size: 13px;
	}

	.acv-cases-sec > .acv-wrap {
		padding-block: 32px 64px;
	}

	.acv-cases--overview {
		gap: 40px 20px;
	}

	.acv-cases--overview .acv-case h2 {
		font-size: 28px;
	}

	.acv-cases--overview .acv-kicker {
		gap: 10px;
		font-size: 14px;
	}

	.acv-cases--overview .acv-kicker::before {
		width: 8px;
		height: 8px;
	}

	/* Vorgehen, Über uns, Karriere, Kontakt */
	.acv-shero > .acv-wrap {
		padding-block: 24px 56px;
	}

	.acv-band--104 > .acv-wrap {
		padding-block: 56px;
		gap: 28px;
	}

	.acv-phase::before {
		font-size: 44px;
	}

	.acv-plan {
		padding: 24px;
	}

	.acv-faq--104 > .acv-wrap {
		padding-block: 56px;
	}

	.acv-ahero > .acv-wrap {
		padding-block: 24px 0;
		gap: 24px;
	}

	.acv-ahero__grid {
		gap: 24px 20px;
	}

	.acv-band--96 > .acv-wrap {
		padding-block: 56px;
	}

	.acv-value h3 {
		font-size: 28px;
	}

	.acv-person > .acv-wrap {
		padding-block: 56px;
		gap: 24px 20px;
	}

	.acv-section .acv-links {
		gap: 12px 20px;
	}

	.acv-jobteaser > .acv-wrap {
		padding-block: 56px;
		gap: 24px 20px;
	}

	.acv-khero > .acv-wrap {
		padding-block: 24px 56px;
		gap: 24px;
	}

	.acv-khero__grid {
		gap: 24px 20px;
	}

	.acv-band--gap32 > .acv-wrap {
		gap: 32px;
	}

	.acv-section .acv-khero__actions {
		gap: 12px 20px;
	}

	.acv-numbers__value {
		font-size: 31px;
	}

	.acv-jobrow {
		gap: 12px 20px;
	}

	.acv-job > .acv-wrap {
		padding-block: 56px;
		gap: 28px;
	}

	.acv-joblists {
		gap: 24px;
	}

	.acv-apply {
		gap: 32px 20px;
	}

	.acv-apply__steps h3 {
		font-size: 28px;
	}

	.acv-steps-compact > li::before {
		font-size: 28px;
	}

	.acv-kontakt > .acv-wrap {
		padding-block: 40px 64px;
		gap: 40px;
	}

	.acv-kontakt__head {
		gap: 24px 20px;
	}

	.acv-kontakt__body {
		gap: 28px 20px;
	}

	.acv-kontakt__aside {
		gap: 24px;
	}

	.acv-section.acv-kontakt h2 {
		font-size: 28px;
	}

	.acv-kontakt .acv-steps-compact > li::before {
		font-size: 28px;
	}

	.acv-band--locations > .acv-wrap {
		padding-block: 56px;
	}

	.acv-lhero > .acv-wrap {
		padding-block: 24px 32px;
	}

	.acv-legal > .acv-wrap {
		padding-block: 0 64px;
		gap: 24px 20px;
	}

	.acv-legal__body {
		grid-column: auto;
	}

	.acv-notfound > .acv-wrap {
		padding-block: 56px 72px;
	}

	.acv-notfound__links a {
		padding: 0 20px;
	}

	/* Logo-Wand auf Unterseiten: Aufbau wie Desktop
	   (KlartextMobilReferenzUebersicht),
	   nicht das Raster der Startseite */
	body:not(.home) .acv-logos__inner {
		padding: 32px 20px 40px;
		gap: 20px;
	}

	body:not(.home) .acv-logos__label {
		font-size: 14px;
	}

	body:not(.home) .acv-logos__list {
		display: flex;
		gap: 16px 20px;
		width: auto;
	}

	body:not(.home) .acv-logos__list li {
		height: 64px;
	}

	body:not(.home) .acv-logos__list img {
		height: var(--h);
		width: calc(var(--h) * var(--r, 1));
		max-width: 150px;
	}

	/* Footer */
	.acv-footer__inner {
		padding: 40px 20px 48px;
		gap: 28px;
	}

	.acv-footer__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 16px;
	}

	.acv-footer__brand {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		gap: 12px;
	}

	.acv-footer__brand svg {
		width: 96px;
		height: 48px;
	}

	.acv-footer__claim {
		font-size: 14px;
	}

	.acv-footer__bottom {
		justify-content: flex-start;
		gap: 8px 18px;
		padding-top: 20px;
		font-size: 13px;
	}

	.acv-footer__copy {
		width: 100%;
	}

	.acv-footer__legal {
		display: contents;
	}
}

@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
	}
}
