:root {
			--pk-purple: #613D90;
			--pk-purple-light: #794CB3;
			--pk-lavender: #f3eef8;
			--pk-lavender-2: #faf7fc;
			--pk-text: #3d3a40;
			--bs-link-color-rgb: 97, 61, 144;
			--bs-link-hover-color-rgb: 121, 76, 179;
		}
		body {
			font-family: 'Open Sans', sans-serif;
			color: var(--pk-text);
		}
		h1, h2, h3, .font-serif {
			font-family: 'Cormorant Garamond', serif;
			color: var(--pk-purple);
		}
		.btn-pk-primary {
			--bs-btn-bg: var(--pk-purple);
			--bs-btn-border-color: var(--pk-purple);
			--bs-btn-color: #fff;
			--bs-btn-hover-bg: var(--pk-purple-light);
			--bs-btn-hover-border-color: var(--pk-purple-light);
			--bs-btn-hover-color: #fff;
			border-radius: 2rem;
		}
		.btn-pk-outline {
			--bs-btn-color: var(--pk-purple);
			--bs-btn-border-color: var(--pk-purple);
			--bs-btn-hover-bg: var(--pk-purple);
			--bs-btn-hover-border-color: var(--pk-purple);
			--bs-btn-hover-color: #fff;
			border-radius: 2rem;
		}
		.text-pk { color: var(--pk-purple); }
		.bg-pk-lavender { background-color: var(--pk-lavender); }
		.bg-pk-lavender-2 { background-color: var(--pk-lavender-2); }
		/* Hero */
		.hero {
			background: linear-gradient(180deg, #fdfcfe 0%, var(--pk-lavender-2) 100%);
		}
		.hero h1 {
			font-size: clamp(2.4rem, 5vw, 3.6rem);
			font-weight: 600;
		}
		.hero .subline {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.4rem;
			color: var(--pk-purple-light);
		}
		.hero-portrait {
			max-width: 100%;
			border-radius: 46% 54% 55% 45% / 48% 46% 54% 52%;
			box-shadow: 0 1.5rem 3rem rgba(97, 61, 144, .15);
		}
		/* Checklisten */
		.check-list { list-style: none; padding-left: 0; }
		.check-list li {
			padding-left: 2rem;
			position: relative;
			margin-bottom: .75rem;
		}
		.check-list li::before {
			font-family: "bootstrap-icons";
			content: "\f26a"; /* check-circle */
			position: absolute;
			left: 0;
			color: var(--pk-purple);
		}
		/* Schwerpunkte Icons */
		.focus-icon {
			font-size: 2.5rem;
			color: var(--pk-purple-light);
		}
		/* Navbar */
		.navbar .nav-link { color: var(--pk-text); }
		.navbar .nav-link.active,
		.navbar .nav-link:hover { color: var(--pk-purple); }
		.navbar .nav-link.active { border-bottom: 2px solid var(--pk-purple); }
		.navbar-brand img { max-width: min(350px, 70vw); height: auto; }
		.dropdown-menu { --bs-dropdown-link-active-bg: var(--pk-purple); --bs-dropdown-min-width: 14rem;}
		.dropdown-item { white-space: normal; }
		@media (min-width: 992px) {
			.navbar .dropdown:hover > .dropdown-menu {
				display: block;
				margin-top: 0;
			}
		}
		/* Kontakt-Banner */
		.contact-banner {
			background: linear-gradient(90deg, var(--pk-lavender) 0%, #e9defc 100%);
			border-radius: 1.5rem;
		}
		.praxis-img { border-radius: 1rem; object-fit: cover; }
		.footer-heading { font-size: .95rem; font-weight: 600; color: var(--pk-purple); }
		footer a { color: var(--pk-text); }
		footer a:hover { color: var(--pk-purple); }

		/* Inhaltsseiten */
		.page-content {
			position: relative;
			overflow: hidden;
			background: linear-gradient(180deg, #fdfcfe 0%, var(--pk-lavender-2) 100%);
			min-height: 60vh;
		}
		.page-content::before,
		.page-content::after {
			position: absolute;
			z-index: 0;
			width: 26rem;
			height: 26rem;
			border-radius: 50%;
			content: "";
			pointer-events: none;
			filter: blur(2px);
		}
		.page-content::before {
			top: -13rem;
			right: -10rem;
			background: radial-gradient(circle, rgba(121, 76, 179, .11), rgba(121, 76, 179, 0) 70%);
		}
		.page-content::after {
			bottom: -14rem;
			left: -12rem;
			background: radial-gradient(circle, rgba(97, 61, 144, .08), rgba(97, 61, 144, 0) 70%);
		}
		.page-content > .container { position: relative; z-index: 1; }
		.content-shell {
			margin-inline: auto;
			padding: clamp(1.5rem, 4vw, 3.5rem);
			background: rgba(255, 255, 255, .96);
			border: 1px solid rgba(97, 61, 144, .08);
			border-radius: 1.5rem;
			box-shadow: 0 1.25rem 3.5rem rgba(61, 58, 64, .08);
		}
		.content-shell h1 {
			position: relative;
			margin-bottom: 2rem;
			padding-bottom: 1.15rem;
			font-size: clamp(2.2rem, 5vw, 3.4rem);
			font-weight: 600;
			line-height: 1.08;
			text-wrap: balance;
		}
		.content-shell h1::after {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 6rem;
			height: .22rem;
			background: linear-gradient(90deg, var(--pk-purple), #b895dd);
			border-radius: 2rem;
			content: "";
		}
		.content-shell h2 {
			margin-top: 2rem;
			margin-bottom: 1rem;
			padding-left: .85rem;
			border-left: .22rem solid #b895dd;
			font-size: clamp(1.6rem, 3vw, 2.15rem);
			font-weight: 600;
			line-height: 1.2;
			text-wrap: balance;
		}
		.content-shell h3 {
			margin-top: 1.5rem;
			font-size: 1.35rem;
			font-weight: 600;
			line-height: 1.3;
		}
		.content-shell h4 {
			margin-top: 1.35rem;
			color: var(--pk-purple);
			font-size: 1.08rem;
			font-weight: 700;
		}
		.prose {
			color: #4c4850;
			font-size: clamp(1rem, 1.5vw, 1.075rem);
			line-height: 1.8;
		}
		.prose p { margin-bottom: 1.15rem; }
		.prose > p:last-child { margin-bottom: 0; }
		.prose strong { color: #39343e; font-weight: 700; }
		.prose a:not(.btn) {
			text-decoration-color: rgba(97, 61, 144, .35);
			text-decoration-thickness: .08em;
			text-underline-offset: .18em;
			transition: color .2s ease, text-decoration-color .2s ease;
		}
		.prose a:not(.btn):hover { text-decoration-color: currentColor; }
		.prose ul {
			width: fit-content;
			margin-block: 1.25rem 1.5rem;
			padding: 1.1rem 1.2rem 1.1rem 2.9rem;
			background: var(--pk-lavender-2);
			border: 1px solid rgba(97, 61, 144, .08);
			border-radius: 1rem;
		}
		.prose li {
			position: relative;
			margin-bottom: .55rem;
			padding-left: .15rem;
		}
		.prose li:last-child { margin-bottom: 0; }
		.prose li::marker { color: var(--pk-purple-light); }
		.content-group + .content-group { margin-top: 3rem; }
		.content-group > :is(.row, .content-section) {
			--bs-gutter-x: clamp(1.5rem, 4vw, 3.5rem);
		}

		.content-group > .row + :is(.row, .content-section)::before {
			left: calc(var(--bs-gutter-x) * .5);
		}
		.content-group > .content-section + :is(.row, .content-section)::before {
			left: 0;
		}
		.content-section { position: relative; }
		.content-block { height: auto; }
		.content-image { text-align: center; }
		.content-image img {
			width: auto;
			max-height: 720px;
			object-fit: cover;
			border: .4rem solid #fff;
			border-radius: 1.3rem !important;
			box-shadow: 0 1rem 2.5rem rgba(61, 58, 64, .14) !important;
			transition: transform .25s ease, box-shadow .25s ease;
		}
		.content-image a:hover img {
			transform: translateY(-3px);
			box-shadow: 0 1.35rem 3rem rgba(61, 58, 64, .18) !important;
		}
		.content-map iframe { min-height: 410px; }
		.content-action {
			padding: 1.25rem;
			background: var(--pk-lavender-2);
			border-radius: 1rem;
		}
		.content-action .button { text-decoration: none; }
		.content-shell .btn {
			font-weight: 600;
			box-shadow: 0 .45rem 1rem rgba(97, 61, 144, .12);
		}
		.content-shell .btn:hover { transform: translateY(-1px); }
		.content-shell input:not([type="hidden"]),
		.content-shell textarea,
		.content-shell select {
			width: 100%;
			max-width: 100%;
			padding: .8rem .9rem;
			background: #fcfbfd;
			border: 1px solid #d4ccdc;
			border-radius: .7rem;
			transition: border-color .2s ease, box-shadow .2s ease;
		}
		.content-shell input:not([type="hidden"]):focus,
		.content-shell textarea:focus,
		.content-shell select:focus {
			outline: 0;
			background: #fff;
			border-color: var(--pk-purple-light);
			box-shadow: 0 0 0 .25rem rgba(97, 61, 144, .1);
		}
		.content-shell img { max-width: 100%; height: auto; }
		.content-shell iframe {
			border-radius: 1rem !important;
			box-shadow: 0 .75rem 2rem rgba(61, 58, 64, .1);
		}
		.content-shell .text-center {
			max-width: 800px;
			margin-inline: auto;
		}
		.content-shell .articlearea > h3.text-center {
			margin-top: 2rem;
			padding: 1.5rem;
			background: var(--pk-lavender-2);
			border-radius: 1rem;
		}
		@media (min-width: 992px) {
			.content-group > .row > [class*="col-lg-"]:not(:only-child) .prose {
				padding-right: .35rem;
			}
			.content-group > .row > [class*="col-lg-"] + [class*="col-lg-"] {
				border-left: 1px solid rgba(97, 61, 144, .08);
			}
		}
		@media (max-width: 575.98px) {
			.page-content { padding-block: 1rem !important; }
			.content-shell {
				padding: 1.25rem;
				border-radius: 1rem;
			}
			.content-shell h1 { margin-bottom: 1.5rem; }
			.content-shell h2 {
				margin-top: 1.6rem;
				padding-left: .65rem;
			}
			.prose ul {
				padding: .9rem .9rem .9rem 2.4rem;
			}
			.content-map iframe { min-height: 320px; }
		}

		/* Kontaktseite */
		.contact-shell {
			padding: clamp(1.25rem, 3vw, 3rem);
			overflow: hidden;
		}
		.contact-intro {
			margin: 0 auto clamp(2rem, 5vw, 3rem);
		}
		.contact-kicker {
			display: inline-block;
			margin-bottom: .75rem;
			color: var(--pk-purple-light);
			font-size: .78rem;
			font-weight: 700;
			letter-spacing: .12em;
			text-transform: uppercase;
		}
		.contact-intro h1 { margin-bottom: 1rem; }
		.contact-intro p {
			margin-bottom: 0;
			color: #625e66;
			font-size: clamp(1.05rem, 2vw, 1.2rem);
			line-height: 1.7;
		}
		.contact-main { margin-bottom: clamp(3rem, 7vw, 5.5rem); }
		.contact-profile,
		.contact-form-card,
		.contact-location-copy,
		.contact-map {
			border: 1px solid rgba(97, 61, 144, .12);
			border-radius: 1.4rem;
			box-shadow: 0 .85rem 2.5rem rgba(61, 58, 64, .08);
		}
		.contact-profile {
			overflow: hidden;
			background: var(--pk-lavender-2);
		}
		.contact-portrait {
			display: block;
			width: 100%;
			height: clamp(260px, 38vw, 390px) !important;
			object-fit: cover;
			/*object-position: center 24%;*/
		}
		.contact-profile-body { padding: clamp(1.4rem, 3vw, 2rem); }
		.contact-profile h2,
		.contact-form-card h2,
		.contact-location h2 {
			margin: 0 0 .3rem;
			padding-left: 0;
			border-left: 0;
		}
		.contact-methods { display: grid; gap: .75rem; }
		.contact-method {
			display: flex;
			align-items: center;
			gap: .9rem;
			padding: .85rem;
			color: var(--pk-text);
			background: #fff;
			border: 1px solid rgba(97, 61, 144, .1);
			border-radius: .9rem;
			text-decoration: none;
			transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
		}
		.contact-method:hover {
			color: var(--pk-purple);
			border-color: rgba(97, 61, 144, .35);
			box-shadow: 0 .4rem 1rem rgba(97, 61, 144, .08);
			transform: translateY(-2px);
		}
		.contact-method-icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.6rem;
			height: 2.6rem;
			flex: 0 0 auto;
			color: #fff;
			background: var(--pk-purple);
			border-radius: 50%;
		}
		.contact-method small,
		.contact-method strong { display: block; }
		.contact-method small { color: #77717c; font-size: .75rem; }
		.contact-method strong { font-size: .92rem; overflow-wrap: anywhere; }
		.contact-response {
			margin-top: 1.25rem;
			padding-top: 1rem;
			color: var(--pk-purple);
			border-top: 1px solid rgba(97, 61, 144, .12);
			font-size: .86rem;
			font-weight: 600;
		}
		.contact-form-card {
			position: relative;
			padding: clamp(1.5rem, 4vw, 2.75rem);
			background: #fff;
		}
		.contact-form-icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 3.25rem;
			height: 3.25rem;
			margin-bottom: 1rem;
			color: var(--pk-purple);
			background: var(--pk-lavender);
			border-radius: 50%;
			font-size: 1.35rem;
		}
		#contact-form { margin-top: 1.5rem; }
		#contact-form .form-label {
			margin-bottom: .4rem;
			color: var(--pk-text);
			font-size: .9rem;
			font-weight: 600;
		}
		#contact-form .form-control {
			width: 100%;
			padding: .8rem .9rem;
			color: var(--pk-text);
			background: #fcfbfd;
			border: 1px solid #d8d0e1;
			border-radius: .7rem;
			box-shadow: none;
			font-size: 1rem;
			transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
		}
		#contact-form textarea.form-control {
			min-height: 130px;
			resize: vertical;
		}
		#contact-form .form-control:focus,
		#contact-form .form-check-input:focus {
			outline: 0;
			background: #fff;
			border-color: var(--pk-purple-light);
			box-shadow: 0 0 0 .25rem rgba(97, 61, 144, .12);
		}
		#contact-form .form-check-input:checked {
			background-color: var(--pk-purple);
			border-color: var(--pk-purple);
		}
		.contact-honeypot {
			position: absolute !important;
			left: -10000px !important;
			width: 1px !important;
			height: 1px !important;
			overflow: hidden !important;
		}
		.contact-location {
			padding: clamp(1.3rem, 3vw, 2.25rem);
			background: var(--pk-lavender-2);
			border-radius: 1.5rem;
		}
		.contact-location-copy {
			padding: clamp(1.4rem, 3vw, 2.25rem);
			background: #fff;
		}
		.arrival-item {
			display: flex;
			gap: 1rem;
			margin-top: 1.5rem;
		}
		.arrival-item > i {
			color: var(--pk-purple-light);
			font-size: 1.45rem;
		}
		.arrival-item h3 {
			margin: 0 0 .35rem;
			font-family: 'Open Sans', sans-serif;
			font-size: 1rem;
			font-weight: 700;
		}
		.arrival-item p { margin: 0; color: #625e66; line-height: 1.6; }
		.contact-map { min-height: 460px; overflow: hidden; background: #e8e4eb; }
		.contact-map iframe { width: 100%; height: 100%; min-height: 460px; border: 0; }
		@media (max-width: 575.98px) {
			.contact-shell { padding: 1rem; }
			.contact-intro { padding-inline: .35rem; }
			.contact-form-card,
			.contact-location-copy { padding: 1.25rem; }
			.contact-location { padding: .75rem; }
			.contact-map,
			.contact-map iframe { min-height: 340px; }
			#contact-form button[type="submit"] { width: 100%; }
		}
