/*
Theme Name: Patrik Kekies
Theme URI: https://patrikkekies.de/
Description: Block-Theme für Personal Training & Faszienarbeit Patrik Kekies. Gestaltung nach dem Claude-Design-Entwurf „Moderne Website-Landingpage“ (2026).
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Author: CA Design
Author URI: https://ca-design.com/
Text Domain: patrikkekies
*/

/* ---------- Grundlagen ---------- */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-wrap: pretty; overflow-x: hidden; }
::selection { background: #C9BFB6; color: #10141C; }
[id] { scroll-margin-top: 80px; }

.wp-site-blocks > *, .pk-main .wp-block-post-content > * { margin-block-start: 0; }
.pk-main--page { padding-top: 140px; padding-bottom: 40px; }

.wp-block-patrikkekies-icon { display: inline-block; flex-shrink: 0; line-height: 0; }
.wp-block-patrikkekies-icon svg { display: block; width: 100%; height: 100%; }

.pk-mt-m { margin-top: 30px !important; }
.pk-mt-l { margin-top: 36px !important; }
.pk-mt-xl { margin-top: clamp(40px, 4vw, 56px) !important; }
.pk-dark .pk-mt-xl { margin-top: 48px !important; }
#ablauf .pk-mt-xl { margin-top: clamp(48px, 5vw, 72px) !important; }

/* ---------- Textstile ---------- */

.is-style-pk-eyebrow {
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	line-height: normal;
}
.is-style-pk-eyebrow:not(.has-text-color) { color: var(--wp--preset--color--taupe); }
/* Im Design steht die Überzeile als Inline-Text in einer 16-px-Zeile: 5 px Versatz, 19,2 px Zeilenhöhe. */
.is-style-pk-eyebrow:not(.pk-line) { padding: 5px 0 1px; }

.is-style-pk-meta {
	font-size: 10.5px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	line-height: normal;
	margin: 0;
}
.is-style-pk-meta:not(.has-text-color) { color: var(--wp--preset--color--taupe); }

.is-style-pk-number {
	font-family: var(--wp--preset--font-family--spectral);
	font-size: 14px;
	font-weight: 400;
	padding-top: 4px;
	min-width: 22px;
	margin: 0;
	color: var(--wp--preset--color--akzent);
}

h4.wp-block-heading { margin: 0; }

/* ---------- Buttons ---------- */

/* Button ohne Textzeile drumherum, sonst entstehen unten ca. 7 px Leerraum */
.wp-block-buttons > .wp-block-button, .wp-block-button { display: flex; }
.wp-block-button__link {
	position: relative;
	overflow: hidden;
	transition: background 320ms ease, color 320ms ease, border-color 320ms ease;
}

.wp-block-button.is-style-pk-outline .wp-block-button__link,
.wp-block-button.is-style-pk-outline-light .wp-block-button__link,
.wp-block-button.is-style-pk-glass-dark .wp-block-button__link,
.wp-block-button.is-style-pk-arrow .wp-block-button__link { border: 1px solid; }
.wp-block-button.is-style-pk-outline .wp-block-button__link,
.wp-block-button.is-style-pk-outline-light .wp-block-button__link {
	background: transparent;
	padding: 22px 38px;
}
.wp-block-button.is-style-pk-outline .wp-block-button__link {
	border-color: rgba(35, 38, 43, 0.35);
	color: var(--wp--preset--color--anthrazit);
}
.wp-block-button.is-style-pk-outline .wp-block-button__link:hover,
.wp-block-button.is-style-pk-outline .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--nacht);
	border-color: var(--wp--preset--color--nacht);
	color: var(--wp--preset--color--creme);
}
.wp-block-button.is-style-pk-outline-light .wp-block-button__link {
	border-color: rgba(245, 242, 237, 0.40);
	color: var(--wp--preset--color--creme);
}
.wp-block-button.is-style-pk-outline-light .wp-block-button__link:hover,
.wp-block-button.is-style-pk-outline-light .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--creme);
	border-color: var(--wp--preset--color--creme);
	color: var(--wp--preset--color--nacht);
}

.wp-block-button.is-style-pk-glass .wp-block-button__link,
.wp-block-button.is-style-pk-glass-dark .wp-block-button__link {
	padding: 16px 30px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.wp-block-button.is-style-pk-glass .wp-block-button__link {
	background: rgba(201, 191, 182, 0.50);
	border-width: 0;
	color: var(--wp--preset--color--nacht);
	font-weight: 600;
}
.wp-block-button.is-style-pk-glass .wp-block-button__link:hover { background: rgba(245, 242, 237, 0.65); color: var(--wp--preset--color--nacht); }
.wp-block-button.is-style-pk-glass-dark .wp-block-button__link {
	background: rgba(16, 20, 28, 0.50);
	border-color: rgba(245, 242, 237, 0.28);
	color: var(--wp--preset--color--creme);
}
.wp-block-button.is-style-pk-glass-dark .wp-block-button__link:hover { background: rgba(16, 20, 28, 0.50); border-color: var(--wp--preset--color--creme); color: var(--wp--preset--color--creme); }

.wp-block-button.is-style-pk-arrow .wp-block-button__link {
	width: 52px;
	height: 52px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border-color: rgba(35, 38, 43, 0.22);
	color: var(--wp--preset--color--anthrazit);
	font-size: 18px;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}
.wp-block-button.is-style-pk-arrow .wp-block-button__link:hover {
	background: var(--wp--preset--color--nacht);
	border-color: var(--wp--preset--color--nacht);
	color: var(--wp--preset--color--creme);
}

/* Linien beim Hover (aus btn-lines.js im Design) */
.pk-btn-line {
	position: absolute;
	height: 1px;
	background: currentColor;
	pointer-events: none;
	opacity: 0;
	transition: transform 380ms cubic-bezier(0.22, 0.61, 0.36, 1), opacity 380ms ease;
}

/* ---------- Header und Menü ---------- */

.pk-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	padding: 14px 22px 15px; /* 15 px unten = 14 px + 1 px Rahmenlinie wie im Design */
}
.pk-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: rgba(16, 20, 28, 0.55);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(245, 242, 237, 0.14);
}
/* Reihenfolge im Header: Menü-Overlay (1) unter Header-Fläche (2) unter Logo und Burger (3) */
.pk-brand, .pk-nav .wp-block-navigation__responsive-container-open { position: relative; z-index: 3; }
.admin-bar .pk-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pk-header { top: 46px; } }
.editor-styles-wrapper .pk-header { position: relative; }

.pk-header__bar { gap: 18px; }
.pk-brand { gap: 14px; min-width: 0; }
.pk-brand__logo { margin: 0; flex-shrink: 0; line-height: 0; }
.pk-brand__logo a { display: block; }
.pk-brand__logo img { filter: brightness(1.35); display: block; }
.pk-brand__text { gap: 0; min-width: 0; line-height: 1.15; }
.pk-brand__text p { margin: 0; line-height: 1.15; }
.pk-brand__name a { display: block; }
.pk-brand__name { font-family: var(--wp--preset--font-family--spectral); font-size: 17px; letter-spacing: 0.01em; font-weight: 400; }
.pk-brand__name a, .pk-brand__name a:hover { color: var(--wp--preset--color--creme); }
.pk-brand__claim { font-size: 10px; letter-spacing: 0.20em; text-transform: uppercase; color: var(--wp--preset--color--akzent); font-weight: 400; }

.pk-nav .wp-block-navigation__responsive-container-open {
	position: relative;
	color: var(--wp--preset--color--creme);
	width: 44px;
	height: 44px;
	padding: 0;
	display: block;
	/* mittlere Linie */
	background: linear-gradient(currentColor, currentColor) center / 20px 1.5px no-repeat;
	transition: background-size 340ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.pk-nav .wp-block-navigation__responsive-container-open svg { display: none; }
.pk-nav .wp-block-navigation__responsive-container-open::before,
.pk-nav .wp-block-navigation__responsive-container-open::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 21.25px;
	width: 20px;
	height: 1.5px;
	background: currentColor;
	transition: transform 340ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.pk-nav .wp-block-navigation__responsive-container-open::before { transform: translateY(-7.5px); }
.pk-nav .wp-block-navigation__responsive-container-open::after { transform: translateY(7.5px); }
.pk-menu-open .pk-nav .wp-block-navigation__responsive-container-open { background-size: 0 1.5px; }
.pk-menu-open .pk-nav .wp-block-navigation__responsive-container-open::before { transform: rotate(45deg); }
.pk-menu-open .pk-nav .wp-block-navigation__responsive-container-open::after { transform: rotate(-45deg); }
.pk-nav .wp-block-navigation__responsive-container-close { opacity: 0; pointer-events: none; }

.pk-nav .wp-block-navigation__responsive-container.is-menu-open {
	z-index: 1;
	background: var(--wp--preset--color--nacht) !important;
	color: var(--wp--preset--color--creme) !important;
	padding: 112px 22px 72px !important;
	overflow-y: auto;
	animation: pkFade 320ms ease both;
}
.pk-nav .is-menu-open .wp-block-navigation__responsive-close,
.pk-nav .is-menu-open .wp-block-navigation__responsive-dialog { max-width: 1240px; width: 100%; margin: 0 auto; }
.pk-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0 !important; }
.pk-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	max-width: 1240px;
	margin: 0 auto;
	padding-top: 0 !important;
	gap: 0 !important;
	align-items: stretch !important;
}
.pk-nav .is-menu-open .wp-block-navigation__responsive-container-content::before {
	content: "Navigation";
	display: block;
	line-height: normal;
	margin-bottom: 40px;
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--akzent);
}
.pk-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: baseline !important;
	gap: 0 !important;
	width: 100%;
}
.pk-nav .is-menu-open .wp-block-navigation-item {
	flex: 0 0 100%;
	animation: pkNavIn 520ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.pk-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 16px 0 !important;
	border-bottom: 1px solid rgba(245, 242, 237, 0.12);
	font-family: var(--wp--preset--font-family--spectral);
	font-weight: 300;
	font-size: clamp(28px, 5vw, 46px);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--creme);
}
.pk-nav .is-menu-open .wp-block-navigation-item__content:hover,
.pk-nav .is-menu-open .is-current > .wp-block-navigation-item__content { color: var(--wp--preset--color--akzent); }
.pk-nav .is-menu-open .wp-block-navigation-item.pk-nav-small { flex: 0 0 auto; margin: 40px 30px 0 0; }
.pk-nav .is-menu-open .pk-nav-small + .pk-nav-small { margin-top: 40px; }
.pk-nav .is-menu-open .pk-nav-small .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 14px;
	letter-spacing: 0.04em;
	border: 0;
	padding: 0 !important;
	color: rgba(245, 242, 237, 0.72);
}
.pk-nav .is-menu-open .pk-nav-small .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--creme); }
.pk-nav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 80ms; }
.pk-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 150ms; }
.pk-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 220ms; }
.pk-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 290ms; }
.pk-nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 360ms; }
.pk-nav .is-menu-open .wp-block-navigation-item:nth-child(n+6) { animation-delay: 430ms; }

@keyframes pkFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pkNavIn { from { opacity: 0; transform: translateY(-50px); } to { opacity: 1; transform: translateY(0); } }

/* ---------- Abschnitte ---------- */

.pk-section { padding-top: 120px; }
.pk-section--110 { padding-top: 110px; }
.wp-block-post-content > .pk-dark,
.pk-dark {
	margin-top: 110px;
	padding-top: 104px;
	padding-bottom: 104px;
}
.pk-section--tiles { padding-top: 104px; padding-left: 22px; padding-right: 22px; }

.pk-split { gap: 72px; margin-top: 0; }
.pk-split > .wp-block-column > * { margin-top: 0; }
.pk-split > .wp-block-column > * + * { margin-top: 22px; }
@media (max-width: 781px) { .pk-split { gap: 48px; } }

/* Hero */
.pk-hero {
	min-height: 0 !important;
	padding: clamp(88px, 12vw, 150px) 22px clamp(80px, 10vw, 124px);
	background: var(--wp--preset--color--nacht);
	color: var(--wp--preset--color--creme);
	align-items: stretch;
}
.pk-hero .wp-block-cover__inner-container {
	max-width: 1240px;
	margin: 0 auto;
	min-height: 82vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pk-hero .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; }
.pk-hero .pk-line { display: flex; align-items: center; gap: 14px; margin: 0 0 34px; }
.pk-hero .pk-line::before { content: ""; width: 46px; height: 1px; background: currentColor; opacity: 0.7; }
.pk-hero-title {
	font-size: clamp(23px, 2.5vw, 36px);
	line-height: 1.24;
	letter-spacing: 0.04em;
	max-width: 26em;
	margin: 0;
	color: var(--wp--preset--color--creme);
}
.pk-hero-claim {
	margin: 34px 0 0 !important;
	font-family: var(--wp--preset--font-family--spectral);
	font-size: clamp(21px, 2.4vw, 30px);
	line-height: 1.4;
	font-weight: 500;
}
.pk-hero-claim strong { font-weight: 500; }
.pk-hero-text {
	max-width: 40em;
	margin: 14px 0 0 !important;
	font-size: 17.5px;
	line-height: 1.72;
	color: rgba(245, 242, 237, 0.72);
}
.pk-hero-text--first { margin-top: 22px !important; color: rgba(245, 242, 237, 0.82); }
.pk-hero-actions { gap: 14px; margin-top: 44px !important; align-items: center; }
.pk-hero-actions .wp-block-buttons { gap: 14px; align-items: center; }

.is-style-pk-badge {
	margin-left: auto !important;
	gap: 16px;
	padding: 14px 20px;
	background: rgba(16, 20, 28, 0.42);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(245, 242, 237, 0.20);
	border-radius: 2px;
}
.pk-badge-g { margin: 0; font-family: var(--wp--preset--font-family--spectral); font-size: 24px; line-height: 1; font-weight: 400; }
.pk-badge-body { gap: 5px; padding-left: 16px; border-left: 1px solid rgba(245, 242, 237, 0.22); }
.pk-stars { gap: 3px; color: var(--wp--preset--color--creme); }
.pk-badge-body .is-style-pk-meta { font-size: 11.5px; letter-spacing: 0.14em; color: rgba(245, 242, 237, 0.78); }
@media (max-width: 700px) { .is-style-pk-badge { margin-left: 0 !important; } }

/* Icon-Liste */
.pk-features { gap: 34px; }
.pk-feature { gap: 22px; }
.pk-feature > .wp-block-patrikkekies-icon { margin-top: 3px; }
.pk-feature > .wp-block-group { gap: 7px; }
.pk-feature p { margin: 0; }

/* Profil */
.pk-portrait {
	width: clamp(200px, 60%, 300px);
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	background: var(--wp--preset--color--sand);
	margin: 0 0 34px !important;
}
.pk-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.is-style-pk-round img { border-radius: 50%; }
.pk-split > .wp-block-column > .pk-portrait + * { margin-top: 0; }
.is-style-pk-card {
	align-items: stretch !important;
	margin-top: 30px !important;
	padding: 22px 24px;
	border: 1px solid rgba(35, 38, 43, 0.14);
	gap: 8px;
}
.is-style-pk-card p { margin: 0; }
.pk-card-title { font-family: var(--wp--preset--font-family--spectral); font-size: 19px; line-height: 1.35; font-weight: 400; }
.pk-card-note { line-height: normal; font-size: 13px; letter-spacing: 0.08em; color: var(--wp--preset--color--taupe); font-weight: 400; }
.pk-lead { line-height: 1.78; color: var(--wp--preset--color--text-weich); margin: 0; }

/* Dunkler Abschnitt */
.pk-dark h2, .pk-dark h3 { color: var(--wp--preset--color--creme); }
.pk-media-box {
	margin-top: 56px !important;
	gap: 0 !important;
	border: 1px solid rgba(245, 242, 237, 0.14);
	background: rgba(245, 242, 237, 0.05);
	align-items: stretch !important;
}
.pk-media-box > .wp-block-column { flex: 0 0 50% !important; min-width: 0; box-sizing: border-box; }
.pk-media-box__text { padding: clamp(32px, 4vw, 56px); }
.pk-media-box__text > .is-style-pk-check { margin-top: 22px !important; }
.pk-media-box__text > * { margin: 0; }
.pk-media-box__text > * + * { margin-top: 18px; }
.pk-media-box__text h3 { font-size: clamp(24px, 2.6vw, 34px); }
.pk-media-box__media { min-height: 340px; background: var(--wp--preset--color--nacht-tief); align-self: stretch !important; }
.is-style-pk-cover { margin: 0; height: 100%; }
.is-style-pk-cover img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; object-position: 55% 40%; display: block; }
.pk-note { margin-top: 56px !important; max-width: 992px; }
.pk-note > * { max-width: none !important; }
.pk-note > * { margin-left: 0 !important; }
.pk-note > .is-style-pk-meta { padding: 5.5px 0 1.1px; }
.pk-note .has-small-font-size { margin-top: 12px; line-height: 1.72; color: rgba(245, 242, 237, 0.62); }

/* Haken-Liste */
.is-style-pk-check { list-style: none; margin: 4px 0 0 !important; padding: 0; }
.is-style-pk-check li {
	position: relative;
	padding: 15px 0 15px 31px;
	font-size: 16.5px;
	line-height: 1.62;
	color: var(--wp--preset--color--text-grau);
}
.is-style-pk-check li + li { border-top: 1px solid rgba(35, 38, 43, 0.14); }
.is-style-pk-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 19px;
	width: 17px;
	height: 17px;
	background: var(--wp--preset--color--akzent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 8 14.5 16 5.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 8 14.5 16 5.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.is-style-pk-check strong {
	display: block;
	margin-bottom: 5px;
	font-family: var(--wp--preset--font-family--spectral);
	font-size: 19px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--wp--preset--color--anthrazit);
}
.has-nacht-background-color .is-style-pk-check li { color: rgba(245, 242, 237, 0.80); }
.has-nacht-background-color .is-style-pk-check li + li { border-top-color: rgba(245, 242, 237, 0.18); }
.has-nacht-background-color .is-style-pk-check strong { color: var(--wp--preset--color--creme); }

/* Nummerierte Vorteile */
.pk-reasons { column-gap: 56px; row-gap: 0; margin-top: 56px !important; }
.pk-reason { gap: 20px; padding: 22px 0; border-top: 1px solid rgba(35, 38, 43, 0.14); }
.pk-reason p { margin: 0; }

/* Referenzen */
.pk-section-head { gap: 40px; }
.pk-section-head > .wp-block-group { gap: 22px; }
.pk-section-head > .wp-block-group > * { margin: 0; }
.pk-slider-nav { gap: 10px; }
.pk-slider { margin-top: 44px !important; overflow: hidden; border-top: 1px solid rgba(35, 38, 43, 0.14); }
.pk-slider__track { display: flex; transition: transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1); }
.pk-slider__track > .wp-block-quote { flex: 0 0 100%; }
.pk-slider .wp-block-quote {
	margin: 0;
	padding: 56px 24% 52px 0; /* Design: 8 % der dreifachen Slider-Breite */
	box-sizing: border-box;
	border: 0;
}
.pk-slider .wp-block-quote::before {
	content: "";
	display: block;
	width: 46px;
	height: 44px;
	margin: 0 0 26px;
	background: var(--wp--preset--color--akzent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 100'%3E%3Cpath d='M8 0H42a4 4 0 0 1 4 4V52C46 78 30 92 10 96a4 4 0 0 1-4-4V84a4 4 0 0 1 3-4C22 76 29 68 30 56H8a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Z'/%3E%3Cpath d='M62 0H96a4 4 0 0 1 4 4V52C100 78 84 92 64 96a4 4 0 0 1-4-4V84a4 4 0 0 1 3-4C76 76 83 68 84 56H62a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 100'%3E%3Cpath d='M8 0H42a4 4 0 0 1 4 4V52C46 78 30 92 10 96a4 4 0 0 1-4-4V84a4 4 0 0 1 3-4C22 76 29 68 30 56H8a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Z'/%3E%3Cpath d='M62 0H96a4 4 0 0 1 4 4V52C100 78 84 92 64 96a4 4 0 0 1-4-4V84a4 4 0 0 1 3-4C76 76 83 68 84 56H62a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pk-slider .wp-block-quote p {
	margin: 0;
	font-family: var(--wp--preset--font-family--spectral);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--quote);
	line-height: 1.52;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--nacht);
}
.pk-slider .wp-block-quote:has(p + p) p { font-size: clamp(19px, 1.9vw, 25px); line-height: 1.5; }
.pk-slider .wp-block-quote p + p { margin-top: 14px; }
.pk-slider .wp-block-quote cite {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 34px;
	font-size: 13.5px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--meta);
}
.pk-slider .wp-block-quote cite::before { content: ""; width: 28px; height: 1px; background: var(--wp--preset--color--akzent); flex-shrink: 0; }
.pk-slider__dots { display: flex; gap: 10px; padding-top: 6px; margin-top: 0 !important; }
.pk-slider__dots button {
	width: 34px;
	height: 3px;
	padding: 0;
	border: 0;
	border-radius: 2px;
	cursor: pointer;
	background: rgba(35, 38, 43, 0.20);
	transition: background 300ms;
}
.pk-slider__dots button[aria-current="true"] { background: var(--wp--preset--color--nacht); }
.pk-slider:not(.is-ready) .wp-block-quote + .wp-block-quote { border-top: 1px solid rgba(35, 38, 43, 0.14); }

/* Ablauf / Zeitleiste */
.pk-intro > * { max-width: 640px; }
.pk-intro > * { margin: 0; }
.pk-intro > * + * { margin-top: 22px; }
.pk-intro .has-medium-font-size { margin-top: 20px; line-height: 1.72; }
.pk-timeline {
	position: relative;
	margin-top: 72px !important;
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 5vw, 72px);
}
.pk-timeline::before,
.pk-timeline__progress {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	transform: translateX(-0.5px);
	background: rgba(35, 38, 43, 0.16);
}
.pk-timeline__progress {
	background: var(--wp--preset--color--blau);
	transform-origin: top center;
	transform: translateX(-0.5px) scaleY(0);
	will-change: transform;
}
.pk-step { position: relative; width: 50%; box-sizing: border-box; margin: 0 !important; }
.pk-step > * { margin: 0; }
.pk-step h3 { margin-top: 12px; letter-spacing: 0; font-size: var(--wp--preset--font-size--titel-klein); }
.pk-step h3 + p { margin-top: 14px; font-size: 16px; line-height: 1.72; color: var(--wp--preset--color--text-weich); }
.pk-step:nth-child(odd) { padding-right: clamp(28px, 4vw, 56px); text-align: right; }
.pk-step:nth-child(even) { margin-left: 50% !important; padding-left: clamp(28px, 4vw, 56px); }
.pk-step::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--wp--preset--color--nacht);
	transform: translateY(-50%);
}
.pk-step:nth-child(odd)::after { right: -5.5px; }
.pk-step:nth-child(even)::after { left: -5.5px; }
@media (max-width: 700px) {
	.pk-timeline::before, .pk-timeline__progress { left: 5px; }
	.pk-step, .pk-step:nth-child(odd), .pk-step:nth-child(even) { width: 100%; margin-left: 0 !important; padding: 0 0 0 32px; text-align: left; }
	.pk-step:nth-child(odd)::after, .pk-step:nth-child(even)::after { left: 0; right: auto; }
}
@keyframes revealLeft { from { opacity: 0; transform: translate(-32px, 24px); } to { opacity: 1; transform: translate(0, 0); } }
@keyframes revealRight { from { opacity: 0; transform: translate(32px, 24px); } to { opacity: 1; transform: translate(0, 0); } }
@supports (animation-timeline: view()) {
	body:not(.wp-admin) .pk-step:nth-child(odd) { animation: revealLeft linear both; animation-timeline: view(); animation-range: entry 8% cover 32%; }
	body:not(.wp-admin) .pk-step:nth-child(even) { animation: revealRight linear both; animation-timeline: view(); animation-range: entry 8% cover 32%; }
	.editor-styles-wrapper .pk-step { animation: none !important; }
}

/* Kontakt */
.pk-contact { padding: clamp(48px, 6vw, 88px); }
.pk-contact__cols { gap: 56px; margin: 0; }
.pk-contact__cols .wp-block-column > * { margin: 0; }
.pk-contact__cols .wp-block-column > * + * { margin-top: 22px; }
.pk-contact h2 { line-height: 1.12; letter-spacing: -0.015em; }
.pk-contact h2 + p { max-width: 32em; line-height: 1.72; }
.pk-contact__person > p { font-size: 16px; line-height: 1.7; max-width: 26em; }
.pk-person { gap: 16px; }
.pk-person figure { margin: 0; }
.pk-person img { object-position: 50% 20%; }
.pk-person .wp-block-group { gap: 4px; }
.pk-person p { margin: 0; }
.pk-person__name { font-family: var(--wp--preset--font-family--spectral); font-size: 20px !important; line-height: 1.2 !important; font-weight: 400; }

/* Kacheln */
.pk-tiles { gap: 0 !important; margin-top: 28px !important; }
.is-style-pk-tile {
	align-items: stretch !important;
	position: relative;
	gap: 16px;
	padding: 30px 24px 34px;
	margin: 0 -1px -1px 0 !important;
	background: var(--wp--preset--color--creme);
	border: 1px solid rgba(35, 38, 43, 0.14);
	transition: background 200ms ease;
}
.is-style-pk-tile:hover { background: #EFEAE3; }
.is-style-pk-tile > .wp-block-patrikkekies-icon { margin-bottom: 10px; }
.is-style-pk-tile h4 { font-size: 21px; line-height: 1.25; }
.is-style-pk-tile h4 a { color: inherit; }
.is-style-pk-tile h4 a::after { content: ""; position: absolute; inset: 0; }
.is-style-pk-tile .is-style-pk-meta { margin-top: auto; padding-top: 12px; }
.is-style-pk-tile.is-current { background: var(--wp--preset--color--nacht); border-color: var(--wp--preset--color--nacht); color: var(--wp--preset--color--creme); }
.is-style-pk-tile.is-current .is-style-pk-meta { color: var(--wp--preset--color--akzent); }

/* Footer */
.pk-footer { padding: 72px 22px 56px; }
.pk-footer__bar { gap: 24px; padding-top: 32px; border-top: 1px solid rgba(35, 38, 43, 0.14); align-items: center; }
.pk-footer__bar .wp-block-group { gap: 14px; }
.pk-footer__bar p { margin: 0; font-size: 13px; font-weight: 400; line-height: normal; }
.pk-footer__logo { margin: 0; }
.pk-footer__logo img { filter: saturate(0.9) brightness(0.85); }
.pk-footer__nav { gap: 22px; font-size: 13px; font-weight: 400; }
.pk-footer__nav a { line-height: normal; color: var(--wp--preset--color--anthrazit); }
.pk-footer__nav a:hover { color: var(--wp--preset--color--taupe); }

/* ---------- Mobil ---------- */

@media (max-width: 781px) {
	.pk-section, .pk-section--110 { padding-top: 80px; }
	.wp-block-post-content > .pk-dark, .pk-dark { margin-top: 80px; padding-top: 72px; padding-bottom: 72px; }
	.pk-section--tiles { padding-top: 72px; }
	.pk-split { gap: 44px; }

	.pk-media-box__media { min-height: 0; }
	.is-style-pk-cover img { min-height: 0; aspect-ratio: 4 / 3; }

	.pk-slider .wp-block-quote { padding-right: 0; padding-bottom: 40px; }
	.pk-slider.is-ready { transition: height 420ms cubic-bezier(0.22, 0.61, 0.36, 1); }
	.pk-slider__track { align-items: flex-start; }

	.pk-step h3 + p { font-size: 15.5px; }
	.pk-footer { padding-top: 56px; padding-bottom: 44px; }
}

@media (max-width: 600px) {
	body { --wp--style--root--padding-left: 20px !important; --wp--style--root--padding-right: 20px !important; }
	.pk-section, .pk-section--110 { padding-top: 72px; }
	.wp-block-post-content > .pk-dark, .pk-dark { margin-top: 72px; padding-top: 64px; padding-bottom: 64px; }
	.pk-section--tiles { padding-left: 20px; padding-right: 20px; }

	.pk-header { padding-left: 20px; padding-right: 20px; }
	.pk-brand { gap: 12px; }
	.pk-brand__claim { font-size: 9px; letter-spacing: 0.12em; }

	.pk-hero { padding: 112px 20px 64px; }
	.pk-hero .wp-block-cover__inner-container { min-height: calc(100svh - 176px); }
	.pk-hero .pk-line { margin-bottom: 26px; }
	.pk-hero-claim { margin-top: 26px !important; }
	.pk-hero-text { font-size: 16px; }
	.pk-hero-actions { margin-top: 34px !important; flex-direction: column; align-items: stretch !important; }
	.pk-hero-actions .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.pk-hero-actions .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.is-style-pk-badge { align-self: flex-start; }

	.pk-features { gap: 28px; }
	.pk-feature { gap: 18px; }
	.pk-media-box__text { padding: 28px 22px; }
	.pk-reasons { margin-top: 40px !important; }
	.pk-section-head { gap: 22px; }

	.pk-contact { padding: 40px 24px; }
	.pk-contact__cols { gap: 36px; }
	.pk-contact .wp-block-buttons, .pk-contact .wp-block-button, .pk-contact .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }

	.pk-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.is-style-pk-tile { padding: 22px 18px 24px; gap: 12px; }
	.is-style-pk-tile:last-child { grid-column: 1 / -1; }
	.is-style-pk-tile h4 { font-size: 19px; }

	.pk-footer { padding-left: 20px; padding-right: 20px; }
	.pk-footer__nav { gap: 10px 18px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
